public class LValueAssignmentAndAliasCondenser extends Object implements LValueRewriter<Statement>, LValueAssignmentCollector<Statement>
Modifier and Type | Class and Description |
---|---|
class |
LValueAssignmentAndAliasCondenser.AliasRewriter |
class |
LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass |
class |
LValueAssignmentAndAliasCondenser.MutationRewriterSecondPass |
LValueRewriter.Util
Constructor and Description |
---|
LValueAssignmentAndAliasCondenser() |
LValueAssignmentAndAliasCondenser(LValueAssignmentAndAliasCondenser other,
Set<LValue> keepConstant) |
public LValueAssignmentAndAliasCondenser()
public LValueAssignmentAndAliasCondenser(LValueAssignmentAndAliasCondenser other, Set<LValue> keepConstant)
public void collect(StackSSALabel lValue, StatementContainer<Statement> statementContainer, Expression value)
collect
in interface LValueAssignmentCollector<Statement>
public void collectMultiUse(StackSSALabel lValue, StatementContainer<Statement> statementContainer, Expression value)
collectMultiUse
in interface LValueAssignmentCollector<Statement>
public void collectMutatedLValue(LValue lValue, StatementContainer<Statement> statementContainer, Expression value)
collectMutatedLValue
in interface LValueAssignmentCollector<Statement>
public void collectLocalVariableAssignment(LocalVariable localVariable, StatementContainer<Statement> statementContainer, Expression value)
collectLocalVariableAssignment
in interface LValueAssignmentCollector<Statement>
public LValueRewriter getWithFixed(Set<SSAIdent> fixed)
getWithFixed
in interface LValueRewriter<Statement>
public LValueRewriter<Statement> keepConstant(Collection<LValue> usedLValues)
keepConstant
in interface LValueRewriter<Statement>
public void reset()
public boolean needLR()
needLR
in interface LValueRewriter<Statement>
public Expression getLValueReplacement(LValue lValue, SSAIdentifiers<LValue> ssaIdentifiers, StatementContainer<Statement> lvSc)
getLValueReplacement
in interface LValueRewriter<Statement>
public boolean explicitlyReplaceThisLValue(LValue lValue)
explicitlyReplaceThisLValue
in interface LValueRewriter<Statement>
public void checkPostConditions(LValue lValue, Expression rValue)
checkPostConditions
in interface LValueRewriter<Statement>
public LValueAssignmentAndAliasCondenser.AliasRewriter getAliasRewriter()
public LValueAssignmentAndAliasCondenser.MutationRewriterFirstPass getMutationRewriterFirstPass()
Copyright © 2011-2021. All Rights Reserved.