public class AssignmentPreMutation extends AbstractAssignment
Modifier and Type | Field and Description |
---|---|
private LValue |
lvalue |
private AbstractAssignmentExpression |
rvalue |
Modifier | Constructor and Description |
---|---|
private |
AssignmentPreMutation(BytecodeLoc loc,
LValue lvalue,
AbstractAssignmentExpression rvalue) |
|
AssignmentPreMutation(BytecodeLoc loc,
LValue lvalue,
AbstractMutatingAssignmentExpression rvalue) |
addLoc, doesBlackListLValueReplacement, fallsToNext, getCompoundParts, getContainer, getLoc, getTargetStatement, isCompound, outerDeepClone, setContainer, setLifetimeHint, toString, wantsLifetimeHint
private LValue lvalue
private AbstractAssignmentExpression rvalue
public AssignmentPreMutation(BytecodeLoc loc, LValue lvalue, AbstractMutatingAssignmentExpression rvalue)
private AssignmentPreMutation(BytecodeLoc loc, LValue lvalue, AbstractAssignmentExpression rvalue)
public Statement deepClone(CloneHelper cloneHelper)
public BytecodeLoc getCombinedLoc()
public void collectLValueAssignments(LValueAssignmentCollector<Statement> lValueAssigmentCollector)
collectLValueAssignments
in interface Statement
collectLValueAssignments
in class AbstractStatement
public void collectLValueUsage(LValueUsageCollector lValueUsageCollector)
public void collectObjectCreation(CreationCollector creationCollector)
collectObjectCreation
in interface Statement
collectObjectCreation
in class AbstractStatement
public SSAIdentifiers<LValue> collectLocallyMutatedVariables(SSAIdentifierFactory<LValue,?> ssaIdentifierFactory)
collectLocallyMutatedVariables
in interface Statement
collectLocallyMutatedVariables
in class AbstractStatement
public LValue getCreatedLValue()
getCreatedLValue
in interface Statement
getCreatedLValue
in class AbstractStatement
public Expression getRValue()
getRValue
in interface Statement
getRValue
in class AbstractStatement
public boolean isSelfMutatingOperation()
isSelfMutatingOperation
in class AbstractAssignment
public boolean isSelfMutatingOp1(LValue lValue, ArithOp arithOp)
isSelfMutatingOp1
in class AbstractAssignment
public Expression getPostMutation()
getPostMutation
in class AbstractAssignment
public Expression getPreMutation()
getPreMutation
in class AbstractAssignment
public AbstractAssignmentExpression getInliningExpression()
getInliningExpression
in class AbstractAssignment
public void replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers)
public void rewriteExpressions(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers)
public StructuredStatement getStructuredStatement()
public boolean canThrow(ExceptionCheck caught)
canThrow
in interface Statement
canThrow
in class AbstractStatement
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public final boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)