Class ArithmeticMutationOperation
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractAssignmentExpression
org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractMutatingAssignmentExpression
org.benf.cfr.reader.bytecode.analysis.parse.expression.ArithmeticMutationOperation
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionArithmeticMutationOperation
(BytecodeLoc loc, LValue mutated, Expression mutation, ArithOp op) -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) applyReverseExpressionRewriter
(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) void
collectTypeUsages
(TypeUsageCollector collector) void
collectUsedLValues
(LValueUsageCollector lValueUsageCollector) deepClone
(CloneHelper cloneHelper) boolean
final boolean
equivalentUnder
(Object o, EquivalenceConstraint constraint) getOp()
boolean
isSelfMutatingOp1
(LValue lValue, ArithOp arithOp) replaceSingleUsageLValues
(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractMutatingAssignmentExpression
canThrow, isValidStatement
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, outerDeepClone, pushDown, toString, visit
-
Field Details
-
mutated
-
op
-
mutation
-
-
Constructor Details
-
ArithmeticMutationOperation
public ArithmeticMutationOperation(BytecodeLoc loc, LValue mutated, Expression mutation, ArithOp op)
-
-
Method Details
-
getCombinedLoc
-
deepClone
-
collectTypeUsages
- Specified by:
collectTypeUsages
in interfaceTypeUsageCollectable
- Overrides:
collectTypeUsages
in classAbstractExpression
-
getPrecedence
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
dumpInner
- Specified by:
dumpInner
in classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) -
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) -
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) -
isSelfMutatingOp1
- Specified by:
isSelfMutatingOp1
in classAbstractAssignmentExpression
-
getUpdatedLValue
- Specified by:
getUpdatedLValue
in classAbstractAssignmentExpression
-
getOp
-
getMutation
-
getPostMutation
- Specified by:
getPostMutation
in classAbstractAssignmentExpression
-
getPreMutation
- Specified by:
getPreMutation
in classAbstractAssignmentExpression
-
collectUsedLValues
-
equals
- Specified by:
equals
in classAbstractExpression
-
equivalentUnder
-