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 java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepCloneMethods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.Expression
applyExpressionRewriter, applyReverseExpressionRewriter, collectUsedLValues, equivalentUnder, replaceSingleUsageLValuesMethods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.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
- Specified by:
dumpin interfaceDumpable- Specified by:
dumpin interfaceExpression
-
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence
-
dumpInner
-
visit
- Specified by:
visitin interfaceExpression
-
dumpWithOuterPrecedence
- Specified by:
dumpWithOuterPrecedencein interfaceDumpableWithPrecedence
-