private class FinallyGraphHelper.FinallyEquivalenceConstraint extends DefaultEquivalenceConstraint implements LValueAssignmentCollector<Statement>
Modifier and Type | Field and Description |
---|---|
private java.util.Map<LocalVariable,LocalVariable> |
rhsToLhsLVMap |
private java.util.Map<StackSSALabel,StackSSALabel> |
rhsToLhsMap |
private java.util.Set<LocalVariable> |
validLocal |
private java.util.Set<StackSSALabel> |
validSSA |
INSTANCE
Modifier | Constructor and Description |
---|---|
private |
FinallyEquivalenceConstraint() |
Modifier and Type | Method and Description |
---|---|
void |
collect(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
collectLocalVariableAssignment(LocalVariable localVariable,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
collectMultiUse(StackSSALabel lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
void |
collectMutatedLValue(LValue lValue,
StatementContainer<Statement> statementContainer,
Expression value) |
boolean |
equivalent(java.lang.Object o1,
java.lang.Object o2) |
private LocalVariable |
mapLocalVariable(LocalVariable s1,
LocalVariable s2) |
private StackSSALabel |
mapSSALabel(StackSSALabel s1,
StackSSALabel s2) |
equivalent, equivalent
private final java.util.Map<StackSSALabel,StackSSALabel> rhsToLhsMap
private final java.util.Map<LocalVariable,LocalVariable> rhsToLhsLVMap
private final java.util.Set<StackSSALabel> validSSA
private final java.util.Set<LocalVariable> validLocal
private StackSSALabel mapSSALabel(StackSSALabel s1, StackSSALabel s2)
private LocalVariable mapLocalVariable(LocalVariable s1, LocalVariable s2)
public boolean equivalent(java.lang.Object o1, java.lang.Object o2)
equivalent
in interface EquivalenceConstraint
equivalent
in class DefaultEquivalenceConstraint
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>