Interface Expression
-
- All Superinterfaces:
ComparableUnderEC
,DeepCloneable<Expression>
,Dumpable
,DumpableWithPrecedence
,HasByteCodeLoc
,TypeUsageCollectable
- All Known Subinterfaces:
ConditionalExpression
- All Known Implementing Classes:
AbstractAssignmentExpression
,AbstractConstructorInvokation
,AbstractExpression
,AbstractFunctionInvokation
,AbstractFunctionInvokationExplicit
,AbstractMemberFunctionInvokation
,AbstractMutatingAssignmentExpression
,AbstractNewArray
,ArithmeticMonOperation
,ArithmeticMutationOperation
,ArithmeticOperation
,ArithmeticPostMutationOperation
,ArithmeticPreMutationOperation
,ArrayIndex
,ArrayLength
,AssignmentExpression
,BooleanExpression
,BooleanOperation
,CastExpression
,CommentStatement.StatementExpression
,ComparisonOperation
,ConstructorInvokationAnonymousInner
,ConstructorInvokationExplicit
,ConstructorInvokationSimple
,DynamicConstExpression
,DynamicInvokation
,InstanceOfExpression
,InstanceOfExpressionDefining
,LambdaExpression
,LambdaExpressionFallback
,LambdaExpressionNewArray
,Literal
,LiteralHex
,LValueExpression
,MemberFunctionInvokation
,MemberFunctionInvokationExplicit
,MethodHandlePlaceholder
,NewAnonymousArray
,NewObject
,NewObjectArray
,NewPrimitiveArray
,NotOperation
,StackValue
,StaticFunctionInvokation
,StaticFunctionInvokationExplicit
,StructuredStatementExpression
,SuperFunctionInvokation
,SwitchExpression
,TernaryExpression
,WildcardMatch.AbstractBaseExpressionWildcard
,WildcardMatch.AnyOneOfExpression
,WildcardMatch.ArithmeticMutationWildcard
,WildcardMatch.CastExpressionWildcard
,WildcardMatch.ConditionalExpressionWildcard
,WildcardMatch.ConstructorInvokationAnonymousInnerWildcard
,WildcardMatch.ConstructorInvokationSimpleWildcard
,WildcardMatch.ExpressionWildcard
,WildcardMatch.MemberFunctionInvokationWildcard
,WildcardMatch.NewArrayWildcard
,WildcardMatch.StaticFunctionInvokationWildcard
,WildcardMatch.SuperFunctionInvokationWildcard
public interface Expression extends DumpableWithPrecedence, DeepCloneable<Expression>, ComparableUnderEC, TypeUsageCollectable, HasByteCodeLoc
-
-
Method Summary
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepClone, outerDeepClone
-
Methods inherited from interface org.benf.cfr.reader.util.output.DumpableWithPrecedence
dumpWithOuterPrecedence, getPrecedence
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
addLoc, getCombinedLoc, getLoc
-
Methods inherited from interface org.benf.cfr.reader.util.TypeUsageCollectable
collectTypeUsages
-
-
-
-
Method Detail
-
replaceSingleUsageLValues
Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
applyReverseExpressionRewriter
Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
isSimple
boolean isSimple()
-
collectUsedLValues
void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
-
canPushDownInto
boolean canPushDownInto()
-
pushDown
Expression pushDown(Expression toPush, Expression parent)
-
getInferredJavaType
InferredJavaType getInferredJavaType()
-
equivalentUnder
boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
- Specified by:
equivalentUnder
in interfaceComparableUnderEC
-
canThrow
boolean canThrow(ExceptionCheck caught)
-
isValidStatement
boolean isValidStatement()
-
visit
<T> T visit(ExpressionVisitor<T> visitor)
-
-