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 Object
implements LValueRewriter<Statement>
-
Nested Class Summary
Nested classes/interfaces inherited from interface LValueRewriter
LValueRewriter.Util -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Map<LValueAssignmentAndAliasCondenser.VersionedLValue, StatementContainer> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateMutationRewriterSecondPass(Map<LValueAssignmentAndAliasCondenser.VersionedLValue, StatementContainer> mutableReplacable) privateMutationRewriterSecondPass(Map<LValueAssignmentAndAliasCondenser.VersionedLValue, StatementContainer> mutableReplacable, Set<SSAIdent> fixed) -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckPostConditions(LValue lValue, Expression rValue) booleanexplicitlyReplaceThisLValue(LValue lValue) getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer) getWithFixed(Set<SSAIdent> fixed) keepConstant(Collection<LValue> usedLValues) booleanneedLR()
-
Field Details
-
fixed
-
mutableReplacable
private final Map<LValueAssignmentAndAliasCondenser.VersionedLValue, StatementContainer> mutableReplacable
-
-
Constructor Details
-
MutationRewriterSecondPass
private MutationRewriterSecondPass(Map<LValueAssignmentAndAliasCondenser.VersionedLValue, StatementContainer> mutableReplacable) -
MutationRewriterSecondPass
private MutationRewriterSecondPass(Map<LValueAssignmentAndAliasCondenser.VersionedLValue, StatementContainer> mutableReplacable, Set<SSAIdent> fixed)
-
-
Method Details
-
needLR
public boolean needLR()- Specified by:
needLRin interfaceLValueRewriter<Statement>
-
keepConstant
- Specified by:
keepConstantin interfaceLValueRewriter<Statement>
-
getLValueReplacement
public Expression getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer) - Specified by:
getLValueReplacementin interfaceLValueRewriter<Statement>
-
getWithFixed
- Specified by:
getWithFixedin interfaceLValueRewriter<Statement>
-
explicitlyReplaceThisLValue
- Specified by:
explicitlyReplaceThisLValuein interfaceLValueRewriter<Statement>
-
checkPostConditions
- Specified by:
checkPostConditionsin interfaceLValueRewriter<Statement>
-