soot
soot copied to clipboard
Jimple parsing exception
I have the following jimple code created by soot:
$r4 = dynamicinvoke "apply" <java.util.function.Function ()>() <java.lang.invoke.LambdaMetafactory: java.lang.invoke.CallSite metafactory(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.invoke.MethodType,java.lang.invoke.MethodHandle,java.lang.invoke.MethodType)>(methodtype: java.lang.Object __METHODTYPE__(java.lang.Object), methodhandle: "REF_INVOKE_STATIC" <org.springframework.boot.SpringApplication: org.springframework.boot.BootstrapRegistryInitializer lambda$getBootstrapRegistryInitializersFromSpringFactories$0(org.springframework.boot.Bootstrapper)>, methodtype: org.springframework.boot.BootstrapRegistryInitializer __METHODTYPE__(org.springframework.boot.Bootstrapper));
When converting it to class (from jimple file) I get the exception: "[163,328] expecting: ')'" here: https://github.com/soot-oss/soot/blob/942712753267de03b1091a47d6360a7ebfc4333c/src/main/java/soot/JimpleClassSource.java#L109
Caused by: soot.jimple.parser.parser.ParserException: [163,328] expecting: ')'
at soot.jimple.parser.parser.Parser.parse(Parser.java:1455)
at soot.jimple.parser.JimpleAST.<init>(JimpleAST.java:60)
at soot.JimpleClassSource.resolve(JimpleClassSource.java:64)
What can be the reason? (I made sure that the parentheses are balanced )
I passed this configuration as well:
set_src_prec(Options.src_prec_jimple)