WALA icon indicating copy to clipboard operation
WALA copied to clipboard

JDTJava2CAstTranslator.visitNode Unhandled JDT node type org.eclipse.jdt.core.dom.LambdaExpression

Open guangyuanyu opened this issue 1 year ago • 1 comments

Hi,i got a problem when i try to run WALA-start demo project SourceDirCallGraph class. I input the WALA-start as source dir. It seems that JDTJava2CAstTranslator can not handle lambda expression. What should i do now?

Exception in thread "main" com.ibm.wala.util.debug.UnimplementedError: Unhandled JDT node type org.eclipse.jdt.core.dom.LambdaExpression at com.ibm.wala.util.debug.Assertions.UNREACHABLE(Assertions.java:55) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visitNode(JDTJava2CAstTranslator.java:3896) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.populateArguments(JDTJava2CAstTranslator.java:1899) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.createMethodInvocation(JDTJava2CAstTranslator.java:1853) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visit(JDTJava2CAstTranslator.java:1798) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visitNode(JDTJava2CAstTranslator.java:3845) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visit(JDTJava2CAstTranslator.java:1720) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visitNode(JDTJava2CAstTranslator.java:3831) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visitNodeOrNodes(JDTJava2CAstTranslator.java:3904) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.createBlock(JDTJava2CAstTranslator.java:1456) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visit(JDTJava2CAstTranslator.java:1461) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visitNode(JDTJava2CAstTranslator.java:3805) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visit(JDTJava2CAstTranslator.java:906) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.createClassDeclaration(JDTJava2CAstTranslator.java:529) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visitTypeDecl(JDTJava2CAstTranslator.java:434) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.visit(JDTJava2CAstTranslator.java:3779) at com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.translateToCAst(JDTJava2CAstTranslator.java:273) at com.ibm.wala.cast.java.translator.jdt.ecj.ECJSourceModuleTranslator$ECJAstToIR.acceptAST(ECJSourceModuleTranslator.java:158) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1143) at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:739) at org.eclipse.jdt.core.dom.ASTParser.createASTs(ASTParser.java:1049) at com.ibm.wala.cast.java.translator.jdt.ecj.ECJSourceModuleTranslator.loadAllSources(ECJSourceModuleTranslator.java:258) at com.ibm.wala.cast.java.loader.JavaSourceLoaderImpl.loadAllSources(JavaSourceLoaderImpl.java:601) at com.ibm.wala.classLoader.ClassLoaderImpl.init(ClassLoaderImpl.java:506) at com.ibm.wala.cast.java.loader.JavaSourceLoaderImpl.init(JavaSourceLoaderImpl.java:612) at com.ibm.wala.cast.java.translator.jdt.ecj.ECJClassLoaderFactory.makeNewClassLoader(ECJClassLoaderFactory.java:31) at com.ibm.wala.classLoader.ClassLoaderFactoryImpl.getLoader(ClassLoaderFactoryImpl.java:63) at com.ibm.wala.ipa.cha.ClassHierarchy.(ClassHierarchy.java:276) at com.ibm.wala.ipa.cha.ClassHierarchy.(ClassHierarchy.java:209) at com.ibm.wala.ipa.cha.ClassHierarchyFactory.make(ClassHierarchyFactory.java:87) at com.ibm.wala.ipa.cha.ClassHierarchyFactory.make(ClassHierarchyFactory.java:73) at org.example.SourceDirCallGraph.doit(SourceDirCallGraph.java:117)

guangyuanyu avatar Jan 08 '25 07:01 guangyuanyu

Unfortunately this is a known and long-time limitation; see https://github.com/wala/WALA/issues/549 for some related discussion. @juliandolby do you know of any updated CAst JDT code that supports lambdas?

msridhar avatar Jan 08 '25 16:01 msridhar