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
Modifier and TypeMethodDescriptionapplyExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) applyReverseExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) boolean
boolean
canThrow
(ExceptionCheck caught) void
collectUsedLValues
(LValueUsageCollector lValueUsageCollector) boolean
equivalentUnder
(Object o, EquivalenceConstraint constraint) getComputedLiteral
(Map<LValue, Literal> display) boolean
isSimple()
boolean
pushDown
(Expression toPush, Expression parent) replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) <T> T
visit
(ExpressionVisitor<T> visitor) 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 Details
-
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
-
canPushDownInto
boolean canPushDownInto() -
pushDown
-
getInferredJavaType
InferredJavaType getInferredJavaType() -
equivalentUnder
- Specified by:
equivalentUnder
in interfaceComparableUnderEC
-
canThrow
-
getComputedLiteral
-
isValidStatement
boolean isValidStatement() -
visit
-
dump
-