Package qilin.core.pag
Class LambdaAllocNode
java.lang.Object
qilin.core.pag.PagNode
qilin.core.pag.AllocNode
qilin.core.pag.LambdaAllocNode
- All Implemented Interfaces:
ContextElement,Numberable
An allocation site standing in for the object a
LambdaMetafactory-bootstrapped
invokedynamic call site produces (a lambda or method reference). Unlike a plain AllocNode, its true implementation is known statically from the bootstrap's MethodHandle
constant - getTargetMethod()/getTargetKind() let call-dispatch resolve calls on
it directly instead of through the (nonexistent) functional-interface vtable.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordThe resolved target of a lambda/method-reference alloc, as read off its bootstrap args. -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionLambdaAllocNode(Object newExpr, Type type, SootMethod m, MethodSignature targetMethod, MethodHandle.Kind targetKind) -
Method Summary
Modifier and TypeMethodDescriptionMethods inherited from class qilin.core.pag.AllocNode
base, getAllocationExpr, getMethod, getNewExpr, isEmptyArray, parameterize, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface qilin.core.context.ContextElement
equals, hashCodeMethods inherited from interface qilin.util.Numberable
getNumber, setNumber
-
Constructor Details
-
LambdaAllocNode
public LambdaAllocNode(Object newExpr, Type type, SootMethod m, MethodSignature targetMethod, MethodHandle.Kind targetKind)
-
-
Method Details
-
getTargetMethod
-
getTargetKind
-