Class LValueAssignmentAndAliasCondenser.AliasRewriter
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.utils.LValueAssignmentAndAliasCondenser.AliasRewriter
-
- All Implemented Interfaces:
LValueRewriter<Statement>
- Enclosing class:
- LValueAssignmentAndAliasCondenser
public class LValueAssignmentAndAliasCondenser.AliasRewriter 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<StackSSALabel,java.util.List<LValueAssignmentAndAliasCondenser.LValueStatementContainer>>possibleAliasesprivate java.util.Map<StackSSALabel,java.util.List<StatementContainer<Statement>>>usages
-
Constructor Summary
Constructors Constructor Description AliasRewriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckPostConditions(LValue lValue, Expression rValue)booleanexplicitlyReplaceThisLValue(LValue lValue)private LValuegetAlias(StackSSALabel stackSSALabel, LValueAssignmentAndAliasCondenser.ExpressionStatementPair target)ExpressiongetLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)LValueRewritergetWithFixed(java.util.Set<SSAIdent> fixed)voidinferAliases()LValueRewriter<Statement>keepConstant(java.util.Collection<LValue> usedLValues)booleanneedLR()
-
-
-
Field Detail
-
usages
private final java.util.Map<StackSSALabel,java.util.List<StatementContainer<Statement>>> usages
-
possibleAliases
private final java.util.Map<StackSSALabel,java.util.List<LValueAssignmentAndAliasCondenser.LValueStatementContainer>> possibleAliases
-
-
Method Detail
-
getWithFixed
public LValueRewriter getWithFixed(java.util.Set<SSAIdent> fixed)
- Specified by:
getWithFixedin interfaceLValueRewriter<Statement>
-
keepConstant
public LValueRewriter<Statement> keepConstant(java.util.Collection<LValue> usedLValues)
- Specified by:
keepConstantin interfaceLValueRewriter<Statement>
-
needLR
public boolean needLR()
- Specified by:
needLRin interfaceLValueRewriter<Statement>
-
getLValueReplacement
public Expression getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)
- Specified by:
getLValueReplacementin interfaceLValueRewriter<Statement>
-
getAlias
private LValue getAlias(StackSSALabel stackSSALabel, LValueAssignmentAndAliasCondenser.ExpressionStatementPair target)
-
inferAliases
public void inferAliases()
-
explicitlyReplaceThisLValue
public boolean explicitlyReplaceThisLValue(LValue lValue)
- Specified by:
explicitlyReplaceThisLValuein interfaceLValueRewriter<Statement>
-
checkPostConditions
public void checkPostConditions(LValue lValue, Expression rValue)
- Specified by:
checkPostConditionsin interfaceLValueRewriter<Statement>
-
-