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) booleanbooleancanThrow(ExceptionCheck caught) voidcollectUsedLValues(LValueUsageCollector lValueUsageCollector) booleanequivalentUnder(Object o, EquivalenceConstraint constraint) getComputedLiteral(Map<LValue, Literal> display) booleanisSimple()booleanpushDown(Expression toPush, Expression parent) replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) <T> Tvisit(ExpressionVisitor<T> visitor) Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepClone, outerDeepCloneMethods inherited from interface org.benf.cfr.reader.util.output.DumpableWithPrecedence
dumpWithOuterPrecedence, getPrecedenceMethods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
addLoc, getCombinedLoc, getLocMethods 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:
equivalentUnderin interfaceComparableUnderEC
-
canThrow
-
getComputedLiteral
-
isValidStatement
boolean isValidStatement() -
visit
-
dump
-