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:
equivalentUnderin interfaceComparableUnderEC
-
canThrow
boolean canThrow(ExceptionCheck caught)
-
isValidStatement
boolean isValidStatement()
-
visit
<T> T visit(ExpressionVisitor<T> visitor)
-
-