INRIA / INRIA/spoon

NullPointerException when calling getParent().getParent() on CtInvocation

Open
#3,880 28 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
2k
Forks
392
Avg merge
11h 24m
Merged PRs (30d)
36

Description

I am calling getParent().getParent() on CtInvocation since I want to narrow down my searches and even though I am checking if getParent().getParent() is not null, I am still getting a nullpointerexception -

```
Exception in thread "main" java.lang.NullPointerException
at spoon.reflect.visitor.OperatorHelper.isSufixOperator(OperatorHelper.java:30)
at spoon.reflect.visitor.OperatorHelper.isPrefixOperator(OperatorHelper.java:27)
at spoon.reflect.visitor.DefaultJavaPrettyPrinter.visitCtUnaryOperator(DefaultJavaPrettyPrinter.java:1939)
at spoon.support.reflect.code.CtUnaryOperatorImpl.accept(CtUnaryOperatorImpl.java:36)
at spoon.reflect.visitor.DefaultJavaPrettyPrinter.scan(DefaultJavaPrettyPrinter.java:388)
at spoon.reflect.visitor.DefaultJavaPrettyPrinter.printElement(DefaultJavaPrettyPrinter.java:274)
at spoon.support.reflect.declaration.CtElementImpl.toString(CtElementImpl.java:300)
at java.base/java.lang.String.valueOf(String.java:3352)
at java.base/java.lang.StringBuilder.append(StringBuilder.java:166)
at spoon.processes.classes.SessionProcessor.process(SessionProcessor.java:31)
at spoon.processes.classes.SessionProcessor.process(SessionProcessor.java:1)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:72)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:143)
at spoon.reflect.visitor.CtScanner.visitCtInvocation(CtScanner.java:505)
at spoon.support.reflect.code.CtInvocationImpl.accept(CtInvocationImpl.java:46)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.visitCtUnaryOperator(CtScanner.java:812)
at spoon.support.reflect.code.CtUnaryOperatorImpl.accept(CtUnaryOperatorImpl.java:36)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.visitCtIf(CtScanner.java:482)
at spoon.support.reflect.code.CtIfImpl.accept(CtIfImpl.java:36)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:143)
at spoon.reflect.visitor.CtScanner.visitCtBlock(CtScanner.java:300)
at spoon.support.reflect.code.CtBlockImpl.accept(CtBlockImpl.java:58)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.visitCtForEach(CtScanner.java:474)
at spoon.support.reflect.code.CtForEachImpl.accept(CtForEachImpl.java:30)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:143)
at spoon.reflect.visitor.CtScanner.visitCtBlock(CtScanner.java:300)
at spoon.support.reflect.code.CtBlockImpl.accept(CtBlockImpl.java:58)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.visitCtIf(CtScanner.java:483)
at spoon.support.reflect.code.CtIfImpl.accept(CtIfImpl.java:36)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:143)
at spoon.reflect.visitor.CtScanner.visitCtBlock(CtScanner.java:300)
at spoon.support.reflect.code.CtBlockImpl.accept(CtBlockImpl.java:58)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.visitCtMethod(CtScanner.java:566)
at spoon.support.reflect.declaration.CtMethodImpl.accept(CtMethodImpl.java:58)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:170)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:143)
at spoon.reflect.visitor.CtScanner.visitCtClass(CtScanner.java:336)
at spoon.support.reflect.declaration.CtClassImpl.accept(CtClassImpl.java:58)
at spoon.reflect.visitor.CtScanner.scan(CtScanner.java:178)
at spoon.support.visitor.ProcessingVisitor.scan(ProcessingVisitor.java:68)
at spoon.support.QueueProcessingManager.process(QueueProcessingManager.java:118)
at spoon.processes.classes.MainClass.main(MainClass.java:34)
```

Can someone please help me to resolve this issue?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.