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
public class LambdaExpressionFallback extends AbstractExpression implements LambdaExpressionCommon
Needs some work here to unify LambdaExpression and LambdaExpressionFallback.
-
-
Field Summary
Fields Modifier and Type Field Description private JavaTypeInstance
callClassType
private java.util.List<Expression>
curriedArgs
private boolean
instance
private MethodPrototype
lambdaFn
private boolean
methodRef
private java.util.List<JavaTypeInstance>
targetFnArgTypes
-
Constructor Summary
Constructors Modifier Constructor Description private
LambdaExpressionFallback(BytecodeLoc loc, InferredJavaType inferredJavaType, boolean methodRef, boolean instance, java.util.List<Expression> curriedArgs, java.util.List<JavaTypeInstance> targetFnArgTypes, MethodPrototype lambdaFn, JavaTypeInstance callClassType)
LambdaExpressionFallback(BytecodeLoc loc, JavaTypeInstance callClassType, InferredJavaType castJavaType, MethodPrototype lambdaFn, java.util.List<JavaTypeInstance> targetFnArgTypes, java.util.List<Expression> curriedArgs, boolean instance)
-
Method Summary
-
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 Detail
-
callClassType
private JavaTypeInstance callClassType
-
lambdaFn
private MethodPrototype lambdaFn
-
targetFnArgTypes
private java.util.List<JavaTypeInstance> targetFnArgTypes
-
curriedArgs
private java.util.List<Expression> curriedArgs
-
instance
private boolean instance
-
methodRef
private final boolean methodRef
-
-
Constructor Detail
-
LambdaExpressionFallback
public LambdaExpressionFallback(BytecodeLoc loc, JavaTypeInstance callClassType, InferredJavaType castJavaType, MethodPrototype lambdaFn, java.util.List<JavaTypeInstance> targetFnArgTypes, java.util.List<Expression> curriedArgs, boolean instance)
-
LambdaExpressionFallback
private LambdaExpressionFallback(BytecodeLoc loc, InferredJavaType inferredJavaType, boolean methodRef, boolean instance, java.util.List<Expression> curriedArgs, java.util.List<JavaTypeInstance> targetFnArgTypes, MethodPrototype lambdaFn, JavaTypeInstance callClassType)
-
-
Method Detail
-
lambdaFnName
private java.lang.String lambdaFnName()
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
- Specified by:
getCombinedLoc
in interfaceHasByteCodeLoc
-
deepClone
public Expression deepClone(CloneHelper cloneHelper)
- Specified by:
deepClone
in interfaceDeepCloneable<Expression>
-
childCastForced
public boolean childCastForced()
- Specified by:
childCastForced
in interfaceLambdaExpressionCommon
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- 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
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInner
in classAbstractExpression
-
collectUsedLValues
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
- Specified by:
collectUsedLValues
in interfaceExpression
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in classAbstractExpression
-
equivalentUnder
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
- Specified by:
equivalentUnder
in interfaceComparableUnderEC
- Specified by:
equivalentUnder
in interfaceExpression
-
-