Class LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass
-
- All Implemented Interfaces:
LValueRewriter<Statement>
- Enclosing class:
- LValueAssignmentAndAliasCondenser
public class LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass extends java.lang.Object implements LValueRewriter<Statement>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.utils.LValueRewriter
LValueRewriter.Util
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,java.util.Set<StatementContainer>>mutableUseFound
-
Constructor Summary
Constructors Constructor Description MutationRewriterFirstPass()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckPostConditions(LValue lValue, Expression rValue)booleanexplicitlyReplaceThisLValue(LValue lValue)ExpressiongetLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)LValueAssignmentAndAliasCondenser.MutationRewriterSecondPassgetSecondPassRewriter()private StatementContainergetUniqueParent(StatementContainer start, java.util.Set<StatementContainer> seen)LValueRewritergetWithFixed(java.util.Set fixed)LValueRewriter<Statement>keepConstant(java.util.Collection<LValue> usedLValues)booleanneedLR()
-
-
-
Field Detail
-
mutableUseFound
private final java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,java.util.Set<StatementContainer>> mutableUseFound
-
-
Method Detail
-
getLValueReplacement
public Expression getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)
- Specified by:
getLValueReplacementin interfaceLValueRewriter<Statement>
-
needLR
public boolean needLR()
- Specified by:
needLRin interfaceLValueRewriter<Statement>
-
keepConstant
public LValueRewriter<Statement> keepConstant(java.util.Collection<LValue> usedLValues)
- Specified by:
keepConstantin interfaceLValueRewriter<Statement>
-
getWithFixed
public LValueRewriter getWithFixed(java.util.Set fixed)
- Specified by:
getWithFixedin interfaceLValueRewriter<Statement>
-
explicitlyReplaceThisLValue
public boolean explicitlyReplaceThisLValue(LValue lValue)
- Specified by:
explicitlyReplaceThisLValuein interfaceLValueRewriter<Statement>
-
checkPostConditions
public void checkPostConditions(LValue lValue, Expression rValue)
- Specified by:
checkPostConditionsin interfaceLValueRewriter<Statement>
-
getUniqueParent
private StatementContainer getUniqueParent(StatementContainer start, java.util.Set<StatementContainer> seen)
-
getSecondPassRewriter
public LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass getSecondPassRewriter()
-
-