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 TypeMethodDescriptionvoid
addLoc
(HasByteCodeLoc loc) boolean
boolean
canThrow
(ExceptionCheck caught) void
collectTypeUsages
(TypeUsageCollector collector) final Dumper
abstract Dumper
final Dumper
dumpWithOuterPrecedence
(Dumper d, Precedence outerP, Troolean isLhs) abstract boolean
getComputedLiteral
(Map<LValue, Literal> display) getLoc()
abstract Precedence
boolean
isSimple()
boolean
outerDeepClone
(CloneHelper cloneHelper) pushDown
(Expression toPush, Expression parent) final String
toString()
<T> T
visit
(ExpressionVisitor<T> visitor) Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepClone
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.Expression
applyExpressionRewriter, applyReverseExpressionRewriter, collectUsedLValues, equivalentUnder, replaceSingleUsageLValues
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
getCombinedLoc
-
Field Details
-
loc
-
inferredJavaType
-
-
Constructor Details
-
AbstractExpression
-
-
Method Details
-
addLoc
- Specified by:
addLoc
in interfaceHasByteCodeLoc
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
-
getLoc
- Specified by:
getLoc
in interfaceHasByteCodeLoc
-
canPushDownInto
public boolean canPushDownInto()- Specified by:
canPushDownInto
in interfaceExpression
-
isSimple
public boolean isSimple()- Specified by:
isSimple
in interfaceExpression
-
pushDown
- Specified by:
pushDown
in interfaceExpression
-
getInferredJavaType
- Specified by:
getInferredJavaType
in interfaceExpression
-
outerDeepClone
- Specified by:
outerDeepClone
in interfaceDeepCloneable<Expression>
-
toString
-
canThrow
- Specified by:
canThrow
in interfaceExpression
-
equals
-
getComputedLiteral
- Specified by:
getComputedLiteral
in interfaceExpression
-
isValidStatement
public boolean isValidStatement()- Specified by:
isValidStatement
in interfaceExpression
-
dump
- Specified by:
dump
in interfaceDumpable
- Specified by:
dump
in interfaceExpression
-
getPrecedence
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
-
dumpInner
-
visit
- Specified by:
visit
in interfaceExpression
-
dumpWithOuterPrecedence
- Specified by:
dumpWithOuterPrecedence
in interfaceDumpableWithPrecedence
-