NPE in TypeVisitorAdapter
Closed this issue · 5 comments
ftomassetti commented
An exeception has been produced during the walkmod:commons:unused-declarations-cleaner transformation - org.walkmod.util.location.LocationImpl@2648aa1b
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.walkmod.walkers.AbstractWalker.walk(AbstractWalker.java:260)
at org.walkmod.walkers.AbstractWalker.execute(AbstractWalker.java:275)
at org.walkmod.impl.DefaultChainWalkerInvocation.invoke(DefaultChainWalkerInvocation.java:42)
at org.walkmod.impl.DefaultChainInvocation.invoke(DefaultChainInvocation.java:38)
at org.walkmod.impl.DefaultChainAdapter.execute(DefaultChainAdapter.java:165)
at org.walkmod.WalkModFacade.executeAllChains(WalkModFacade.java:478)
at org.walkmod.WalkModFacade.apply(WalkModFacade.java:237)
at org.walkmod.WalkModDispatcher.main(WalkModDispatcher.java:181)
Caused by: java.lang.reflect.InvocationTargetException
... 12 more
Caused by: org.walkmod.javalang.exceptions.NoSuchExpressionTypeException: java.lang.NullPointerException
at org.walkmod.javalang.compiler.types.TypeVisitorAdapter.visit(TypeVisitorAdapter.java:510)
at org.walkmod.javalang.compiler.types.TypeVisitorAdapter.visit(TypeVisitorAdapter.java:113)
at org.walkmod.javalang.ast.expr.MethodCallExpr.accept(MethodCallExpr.java:73)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:776)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:91)
at org.walkmod.javalang.ast.stmt.IfStmt.accept(IfStmt.java:57)
at org.walkmod.javalang.visitors.VoidVisitorAdapter.visit(VoidVisitorAdapter.java:203)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:513)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:91)
at org.walkmod.javalang.ast.stmt.BlockStmt.accept(BlockStmt.java:50)
at org.walkmod.javalang.visitors.VoidVisitorAdapter.visit(VoidVisitorAdapter.java:564)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:542)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:91)
at org.walkmod.javalang.ast.body.MethodDeclaration.accept(MethodDeclaration.java:153)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:435)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:91)
at org.walkmod.javalang.ast.body.ClassOrInterfaceDeclaration.accept(ClassOrInterfaceDeclaration.java:90)
at org.walkmod.javalang.compiler.symbols.SymbolVisitorAdapter.visit(SymbolVisitorAdapter.java:174)
at org.walkmod.javalang.walkers.DefaultJavaWalker.visit(DefaultJavaWalker.java:118)
at org.walkmod.javalang.walkers.DefaultJavaWalker.accept(DefaultJavaWalker.java:74)
... 12 more
Caused by: java.lang.NullPointerException
at org.walkmod.javalang.compiler.types.TypeVisitorAdapter.visit(TypeVisitorAdapter.java:419)
... 31 more
I am not sure the line number in the exception matches the code currently in master. If this is the case I guess that scope could be null.
rpau commented
Hi,
Can I see the project and the walkmod.xml file ? Is it an open source project? Because something is wrong calculating the scope of a method call.
ftomassetti commented
Sure: the project is https://github.com/ftomassetti/java-symbol-solver, branch "walkmod".
It is a messy toy project :)
If this project is somehow derived from JavaParser it will probably have all these issues with null being used all over the places.
rpau commented
Ok perfect! I will take a look to solve this problem
ftomassetti commented
Thank you!
rpau commented
Partially Solved :) : javaparser/javasymbolsolver#1