Class LambdaExpressionFallback
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
org.benf.cfr.reader.bytecode.analysis.parse.expression.LambdaExpressionFallback
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,LambdaExpressionCommon
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
Needs some work here to unify LambdaExpression and LambdaExpressionFallback.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JavaTypeInstance
private List<Expression>
private boolean
private MethodPrototype
private final boolean
private List<JavaTypeInstance>
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
LambdaExpressionFallback
(BytecodeLoc loc, InferredJavaType inferredJavaType, boolean methodRef, boolean instance, List<Expression> curriedArgs, List<JavaTypeInstance> targetFnArgTypes, MethodPrototype lambdaFn, JavaTypeInstance callClassType) LambdaExpressionFallback
(BytecodeLoc loc, JavaTypeInstance callClassType, InferredJavaType castJavaType, MethodPrototype lambdaFn, List<JavaTypeInstance> targetFnArgTypes, List<Expression> curriedArgs, boolean instance) -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) applyReverseExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) boolean
void
collectTypeUsages
(TypeUsageCollector collector) void
collectUsedLValues
(LValueUsageCollector lValueUsageCollector) deepClone
(CloneHelper cloneHelper) boolean
final boolean
equivalentUnder
(Object o, EquivalenceConstraint constraint) private String
replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visit
-
Field Details
-
callClassType
-
lambdaFn
-
targetFnArgTypes
-
curriedArgs
-
instance
private boolean instance -
methodRef
private final boolean methodRef
-
-
Constructor Details
-
LambdaExpressionFallback
public LambdaExpressionFallback(BytecodeLoc loc, JavaTypeInstance callClassType, InferredJavaType castJavaType, MethodPrototype lambdaFn, List<JavaTypeInstance> targetFnArgTypes, List<Expression> curriedArgs, boolean instance) -
LambdaExpressionFallback
private LambdaExpressionFallback(BytecodeLoc loc, InferredJavaType inferredJavaType, boolean methodRef, boolean instance, List<Expression> curriedArgs, List<JavaTypeInstance> targetFnArgTypes, MethodPrototype lambdaFn, JavaTypeInstance callClassType)
-
-
Method Details
-
lambdaFnName
-
getCombinedLoc
- Specified by:
getCombinedLoc
in interfaceHasByteCodeLoc
-
deepClone
- Specified by:
deepClone
in interfaceDeepCloneable<Expression>
-
childCastForced
public boolean childCastForced()- Specified by:
childCastForced
in interfaceLambdaExpressionCommon
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) - Specified by:
replaceSingleUsageLValues
in interfaceExpression
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyExpressionRewriter
in interfaceExpression
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyReverseExpressionRewriter
in interfaceExpression
-
getPrecedence
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
- Specified by:
dumpInner
in classAbstractExpression
-
collectUsedLValues
- Specified by:
collectUsedLValues
in interfaceExpression
-
equals
- Specified by:
equals
in classAbstractExpression
-
equivalentUnder
- Specified by:
equivalentUnder
in interfaceComparableUnderEC
- Specified by:
equivalentUnder
in interfaceExpression
-