public class ArithmeticOperation extends AbstractExpression implements BoxingProcessor
| Constructor and Description |
|---|
ArithmeticOperation(BytecodeLoc loc,
Expression lhs,
Expression rhs,
ArithOp op) |
ArithmeticOperation(BytecodeLoc loc,
InferredJavaType knownType,
Expression lhs,
Expression rhs,
ArithOp op) |
addLoc, dump, dumpWithOuterPrecedence, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, toStringpublic ArithmeticOperation(BytecodeLoc loc, Expression lhs, Expression rhs, ArithOp op)
public ArithmeticOperation(BytecodeLoc loc, InferredJavaType knownType, Expression lhs, Expression rhs, ArithOp op)
public BytecodeLoc getCombinedLoc()
getCombinedLoc in interface HasByteCodeLocpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractExpressionpublic Expression deepClone(CloneHelper cloneHelper)
deepClone in interface DeepCloneable<Expression>public Precedence getPrecedence()
getPrecedence in interface DumpableWithPrecedencegetPrecedence in class AbstractExpressionpublic Dumper dumpInner(Dumper d)
dumpInner in class AbstractExpressionpublic Literal getComputedLiteral(Map<LValue,Literal> display)
getComputedLiteral in interface ExpressiongetComputedLiteral in class AbstractExpressionpublic boolean isLiteralFunctionOf(LValue lValue)
public boolean isXorM1()
public Expression getReplacementXorM1()
public boolean isMutationOf(LValue lValue)
public AbstractMutatingAssignmentExpression getMutationOf(LValue lValue)
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues in interface Expressionpublic Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter in interface Expressionpublic Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter in interface Expressionpublic void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues in interface Expressionpublic boolean canPushDownInto()
canPushDownInto in interface ExpressioncanPushDownInto in class AbstractExpressionpublic boolean equals(Object o)
equals in class AbstractExpressionpublic final boolean equivalentUnder(Object o, EquivalenceConstraint constraint)
equivalentUnder in interface ExpressionequivalentUnder in interface ComparableUnderECpublic boolean canThrow(ExceptionCheck caught)
canThrow in interface ExpressioncanThrow in class AbstractExpressionpublic boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing in interface BoxingProcessorpublic void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter in interface BoxingProcessorpublic Expression getLhs()
public Expression getRhs()
public ArithOp getOp()
public <T> T visit(ExpressionVisitor<T> visitor)
visit in interface Expressionvisit in class AbstractExpressionpublic Expression pushDown(Expression toPush, Expression parent)
pushDown in interface ExpressionpushDown in class AbstractExpressionCopyright © 2011-2021. All Rights Reserved.