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) voidcollectTypeUsages(TypeUsageCollector collector) voidcollectUsedLValues(LValueUsageCollector lValueUsageCollector) deepClone(CloneHelper cloneHelper) booleanfinal booleanequivalentUnder(Object o, EquivalenceConstraint constraint) getOp()booleanisSelfMutatingOp1(LValue lValue, ArithOp arithOp) replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) Methods inherited from class AbstractMutatingAssignmentExpression
canThrow, isValidStatementMethods inherited from class 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:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractExpression
-
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractExpression
-
dumpInner
- Specified by:
dumpInnerin 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:
isSelfMutatingOp1in classAbstractAssignmentExpression
-
getUpdatedLValue
- Specified by:
getUpdatedLValuein classAbstractAssignmentExpression
-
getOp
-
getMutation
-
getPostMutation
- Specified by:
getPostMutationin classAbstractAssignmentExpression
-
getPreMutation
- Specified by:
getPreMutationin classAbstractAssignmentExpression
-
collectUsedLValues
-
equals
- Specified by:
equalsin classAbstractExpression
-
equivalentUnder
-