Class AbstractExpression
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
- All Implemented Interfaces:
HasByteCodeLoc, Expression, DeepCloneable<Expression>, ComparableUnderEC, Dumpable, DumpableWithPrecedence, TypeUsageCollectable
- Direct Known Subclasses:
AbstractAssignmentExpression, AbstractConstructorInvokation, AbstractFunctionInvokation, AbstractFunctionInvokationExplicit, AbstractNewArray, ArithmeticMonOperation, ArithmeticOperation, ArrayIndex, ArrayLength, BooleanExpression, BooleanOperation, CastExpression, CommentStatement.StatementExpression, ComparisonOperation, DynamicConstExpression, DynamicInvokation, InstanceOfExpression, InstanceOfExpressionDefining, LambdaExpression, LambdaExpressionFallback, LambdaExpressionNewArray, Literal, LValueExpression, MethodHandlePlaceholder, NewObject, NotOperation, StackValue, StructuredStatementExpression, SwitchExpression, TernaryExpression
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddLoc(HasByteCodeLoc loc) booleanbooleancanThrow(ExceptionCheck caught) voidcollectTypeUsages(TypeUsageCollector collector) final Dumperabstract Dumperfinal DumperdumpWithOuterPrecedence(Dumper d, Precedence outerP, Troolean isLhs) abstract booleangetComputedLiteral(Map<LValue, Literal> display) getLoc()abstract PrecedencebooleanisSimple()booleanouterDeepClone(CloneHelper cloneHelper) pushDown(Expression toPush, Expression parent) final StringtoString()<T> Tvisit(ExpressionVisitor<T> visitor) Methods inherited from class Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface DeepCloneable
deepCloneMethods inherited from interface Expression
applyExpressionRewriter, applyReverseExpressionRewriter, collectUsedLValues, equivalentUnder, replaceSingleUsageLValuesMethods inherited from interface HasByteCodeLoc
getCombinedLoc
-
Field Details
-
loc
-
inferredJavaType
-
-
Constructor Details
-
AbstractExpression
-
-
Method Details
-
addLoc
- Specified by:
addLocin interfaceHasByteCodeLoc
-
collectTypeUsages
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable
-
getLoc
- Specified by:
getLocin interfaceHasByteCodeLoc
-
canPushDownInto
public boolean canPushDownInto()- Specified by:
canPushDownIntoin interfaceExpression
-
isSimple
public boolean isSimple()- Specified by:
isSimplein interfaceExpression
-
pushDown
- Specified by:
pushDownin interfaceExpression
-
getInferredJavaType
- Specified by:
getInferredJavaTypein interfaceExpression
-
outerDeepClone
- Specified by:
outerDeepClonein interfaceDeepCloneable<Expression>
-
toString
-
canThrow
- Specified by:
canThrowin interfaceExpression
-
equals
-
getComputedLiteral
- Specified by:
getComputedLiteralin interfaceExpression
-
isValidStatement
public boolean isValidStatement()- Specified by:
isValidStatementin interfaceExpression
-
dump
-
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence
-
dumpInner
-
visit
- Specified by:
visitin interfaceExpression
-
dumpWithOuterPrecedence
- Specified by:
dumpWithOuterPrecedencein interfaceDumpableWithPrecedence
-