public class ArithmeticPreMutationOperation extends AbstractMutatingAssignmentExpression
Modifier and Type | Field and Description |
---|---|
private LValue |
mutated |
private ArithOp |
op |
Constructor and Description |
---|
ArithmeticPreMutationOperation(BytecodeLoc loc,
LValue mutated,
ArithOp op) |
canThrow, isValidStatement
addLoc, canPushDownInto, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, outerDeepClone, pushDown, toString, visit
public ArithmeticPreMutationOperation(BytecodeLoc loc, LValue mutated, ArithOp op)
public Expression deepClone(CloneHelper cloneHelper)
public BytecodeLoc getCombinedLoc()
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
collectTypeUsages
in class AbstractExpression
public Dumper dumpInner(Dumper d)
dumpInner
in class AbstractExpression
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
public boolean isSelfMutatingOp1(LValue lValue, ArithOp arithOp)
isSelfMutatingOp1
in class AbstractAssignmentExpression
public Precedence getPrecedence()
getPrecedence
in interface DumpableWithPrecedence
getPrecedence
in class AbstractExpression
public ArithmeticPostMutationOperation getPostMutation()
getPostMutation
in class AbstractAssignmentExpression
public ArithmeticPreMutationOperation getPreMutation()
getPreMutation
in class AbstractAssignmentExpression
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
public LValue getUpdatedLValue()
getUpdatedLValue
in class AbstractAssignmentExpression
public boolean equals(java.lang.Object o)
equals
in class AbstractExpression
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)