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 void
checkPostConditions(LValue lValue, Expression rValue)
boolean
explicitlyReplaceThisLValue(LValue lValue)
Expression
getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)
LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass
getSecondPassRewriter()
private StatementContainer
getUniqueParent(StatementContainer start, java.util.Set<StatementContainer> seen)
LValueRewriter
getWithFixed(java.util.Set fixed)
LValueRewriter<Statement>
keepConstant(java.util.Collection<LValue> usedLValues)
boolean
needLR()
-
-
-
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:
getLValueReplacement
in interfaceLValueRewriter<Statement>
-
needLR
public boolean needLR()
- Specified by:
needLR
in interfaceLValueRewriter<Statement>
-
keepConstant
public LValueRewriter<Statement> keepConstant(java.util.Collection<LValue> usedLValues)
- Specified by:
keepConstant
in interfaceLValueRewriter<Statement>
-
getWithFixed
public LValueRewriter getWithFixed(java.util.Set fixed)
- Specified by:
getWithFixed
in interfaceLValueRewriter<Statement>
-
explicitlyReplaceThisLValue
public boolean explicitlyReplaceThisLValue(LValue lValue)
- Specified by:
explicitlyReplaceThisLValue
in interfaceLValueRewriter<Statement>
-
checkPostConditions
public void checkPostConditions(LValue lValue, Expression rValue)
- Specified by:
checkPostConditions
in interfaceLValueRewriter<Statement>
-
getUniqueParent
private StatementContainer getUniqueParent(StatementContainer start, java.util.Set<StatementContainer> seen)
-
getSecondPassRewriter
public LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass getSecondPassRewriter()
-
-