dependabot-preview[bot] on gradle
dependabot-preview[bot] on gradle
Bump com.diffplug.eclipse.maven… (compare)
juliandolby on master
- allow overrriding of field re… block_exprs represent normal in… (compare)
dependabot-preview[bot] on gradle
Bump com.diffplug.eclipse.maven… (compare)
dependabot-preview[bot] on gradle
msridhar on master
Bump guava from 30.1-jre to 30.… (compare)
Entrypoint
s you want to consider to the AnalysisOptions
object
Hi, occassionally I get errors like the following:
instruction type: class com.ibm.wala.classLoader.JavaLanguage$JavaInstructionFactory$10
call site: invokestatic < Application, Ljava/lang/invoke/LambdaMetafactory, metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; >@20
caller: Node: < Application, Lru/saidgadjiev/ormnext/core/field/FieldAccessor, makeGetter(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/invoke/MethodHandle;)Ljava/util/function/Function; > Context: DelegatingContext [A=CallStringContext: [ com.ibm.wala.FakeRootClass.fakeRootMethod()V@4 ], B=Everywhere]
unexpected non-invokedynamic instruction!
Is there anything I can do about this?
With the changes in master I run into problems in my code.
fun SSAInvokeInstruction.getLambdaMethod(): IMethodName {
require(this.isLambdaMetafactoryInvoke()) { "instruction is not a call to LambdaMetafactory" }
require(this is SSAInvokeDynamicInstruction){"instruction is not a SSAInvokeDynamicInstruction: $this"} // here it fails
val cp = bootstrap.cp // <— how do I get access to the bootstrap? I’m looking for the method that get’s invoked.
val index = (0 until bootstrap.callArgumentCount()).first { bootstrap.callArgumentKind(it) == ClassConstants.CONSTANT_MethodHandle.toInt() }.let { bootstrap.callArgumentIndex(it) }
val methodName = "L${cp.getCPHandleClass(index)}.${cp.getCPHandleName(index)}${cp.getCPHandleType(index)}"
return VmMethodName.of(methodName)
}
The cast fails (it’s not a SSAInvokeDynamic anymore). But w/o that cast i don’t get access to the bootstrap object. How would I solve this now?