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>>
possibleAliases
private 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 void
checkPostConditions(LValue lValue, Expression rValue)
boolean
explicitlyReplaceThisLValue(LValue lValue)
private LValue
getAlias(StackSSALabel stackSSALabel, LValueAssignmentAndAliasCondenser.ExpressionStatementPair target)
Expression
getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)
LValueRewriter
getWithFixed(java.util.Set<SSAIdent> fixed)
void
inferAliases()
LValueRewriter<Statement>
keepConstant(java.util.Collection<LValue> usedLValues)
boolean
needLR()
-
-
-
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:
getWithFixed
in interfaceLValueRewriter<Statement>
-
keepConstant
public LValueRewriter<Statement> keepConstant(java.util.Collection<LValue> usedLValues)
- Specified by:
keepConstant
in interfaceLValueRewriter<Statement>
-
needLR
public boolean needLR()
- Specified by:
needLR
in interfaceLValueRewriter<Statement>
-
getLValueReplacement
public Expression getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> statementContainer)
- Specified by:
getLValueReplacement
in interfaceLValueRewriter<Statement>
-
getAlias
private LValue getAlias(StackSSALabel stackSSALabel, LValueAssignmentAndAliasCondenser.ExpressionStatementPair target)
-
inferAliases
public void inferAliases()
-
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>
-
-