Class LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass
-
- All Implemented Interfaces:
LValueRewriter<Statement>
- Enclosing class:
- LValueAssignmentAndAliasCondenser
public class LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass 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.Set<SSAIdent>
fixed
private java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,StatementContainer>
mutableReplacable
-
Constructor Summary
Constructors Modifier Constructor Description private
MutationRewriterSecondPass(java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,StatementContainer> mutableReplacable)
private
MutationRewriterSecondPass(java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,StatementContainer> mutableReplacable, java.util.Set<SSAIdent> fixed)
-
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)
LValueRewriter
getWithFixed(java.util.Set<SSAIdent> fixed)
LValueRewriter<Statement>
keepConstant(java.util.Collection<LValue> usedLValues)
boolean
needLR()
-
-
-
Field Detail
-
fixed
private final java.util.Set<SSAIdent> fixed
-
mutableReplacable
private final java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,StatementContainer> mutableReplacable
-
-
Constructor Detail
-
MutationRewriterSecondPass
private MutationRewriterSecondPass(java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,StatementContainer> mutableReplacable)
-
MutationRewriterSecondPass
private MutationRewriterSecondPass(java.util.Map<LValueAssignmentAndAliasCondenser.VersionedLValue,StatementContainer> mutableReplacable, java.util.Set<SSAIdent> fixed)
-
-
Method Detail
-
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>
-
getLValueReplacement
public Expression getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)
- Specified by:
getLValueReplacement
in interfaceLValueRewriter<Statement>
-
getWithFixed
public LValueRewriter getWithFixed(java.util.Set<SSAIdent> 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>
-
-