public abstract class AbstractExpression extends java.lang.Object implements Expression
| Modifier and Type | Field and Description |
|---|---|
private InferredJavaType |
inferredJavaType |
private BytecodeLoc |
loc |
| Constructor and Description |
|---|
AbstractExpression(BytecodeLoc loc,
InferredJavaType inferredJavaType) |
| Modifier and Type | Method and Description |
|---|---|
void |
addLoc(HasByteCodeLoc loc) |
boolean |
canPushDownInto() |
boolean |
canThrow(ExceptionCheck caught) |
void |
collectTypeUsages(TypeUsageCollector collector) |
Dumper |
dump(Dumper d) |
abstract Dumper |
dumpInner(Dumper d) |
Dumper |
dumpWithOuterPrecedence(Dumper d,
Precedence outerP,
Troolean isLhs) |
abstract boolean |
equals(java.lang.Object o) |
Literal |
getComputedLiteral(java.util.Map<LValue,Literal> display) |
InferredJavaType |
getInferredJavaType() |
BytecodeLoc |
getLoc() |
abstract Precedence |
getPrecedence() |
boolean |
isSimple() |
boolean |
isValidStatement() |
Expression |
outerDeepClone(CloneHelper cloneHelper) |
Expression |
pushDown(Expression toPush,
Expression parent) |
java.lang.String |
toString() |
<T> T |
visit(ExpressionVisitor<T> visitor) |
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitapplyExpressionRewriter, applyReverseExpressionRewriter, collectUsedLValues, equivalentUnder, replaceSingleUsageLValuesdeepClonegetCombinedLocprivate BytecodeLoc loc
private final InferredJavaType inferredJavaType
public AbstractExpression(BytecodeLoc loc, InferredJavaType inferredJavaType)
public void addLoc(HasByteCodeLoc loc)
addLoc in interface HasByteCodeLocpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablepublic BytecodeLoc getLoc()
getLoc in interface HasByteCodeLocpublic boolean canPushDownInto()
canPushDownInto in interface Expressionpublic boolean isSimple()
isSimple in interface Expressionpublic Expression pushDown(Expression toPush, Expression parent)
pushDown in interface Expressionpublic InferredJavaType getInferredJavaType()
getInferredJavaType in interface Expressionpublic Expression outerDeepClone(CloneHelper cloneHelper)
outerDeepClone in interface DeepCloneable<Expression>public final java.lang.String toString()
toString in class java.lang.Objectpublic boolean canThrow(ExceptionCheck caught)
canThrow in interface Expressionpublic abstract boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic Literal getComputedLiteral(java.util.Map<LValue,Literal> display)
getComputedLiteral in interface Expressionpublic boolean isValidStatement()
isValidStatement in interface Expressionpublic final Dumper dump(Dumper d)
dump in interface Expressiondump in interface Dumpablepublic abstract Precedence getPrecedence()
getPrecedence in interface DumpableWithPrecedencepublic <T> T visit(ExpressionVisitor<T> visitor)
visit in interface Expressionpublic final Dumper dumpWithOuterPrecedence(Dumper d, Precedence outerP, Troolean isLhs)
dumpWithOuterPrecedence in interface DumpableWithPrecedence