Class MethodHandlePlaceholder
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.MethodHandlePlaceholder
-
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
public class MethodHandlePlaceholder extends AbstractExpression
-
-
Field Summary
Fields Modifier and Type Field Description private FakeMethod
fake
private ConstantPoolEntryMethodHandle
handle
-
Constructor Summary
Constructors Constructor Description MethodHandlePlaceholder(BytecodeLoc loc, ConstantPoolEntryMethodHandle handle)
-
Method Summary
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, canThrow, collectTypeUsages, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString
-
-
-
-
Field Detail
-
handle
private ConstantPoolEntryMethodHandle handle
-
fake
private FakeMethod fake
-
-
Constructor Detail
-
MethodHandlePlaceholder
public MethodHandlePlaceholder(BytecodeLoc loc, ConstantPoolEntryMethodHandle handle)
-
-
Method Detail
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in classAbstractExpression
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
visit
public <T> T visit(ExpressionVisitor<T> visitor)
- Specified by:
visit
in interfaceExpression
- Overrides:
visit
in classAbstractExpression
-
collectUsedLValues
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
-
equivalentUnder
public boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
-
deepClone
public Expression deepClone(CloneHelper cloneHelper)
-
addFakeMethod
public FakeMethod addFakeMethod(ClassFile classFile)
-
generateFake
private FakeMethod generateFake(java.lang.String name)
-
from
private static Expression from(ConstantPoolEntryMethodHandle cpe)
-
lookupFunction
private static java.lang.String lookupFunction(MethodHandleBehaviour behaviour)
-
getMethodType
public static Expression getMethodType(Expression descriptorString)
-
-