@@ -23,12 +23,12 @@ public class VariablePropagation {
2323 */
2424 public static ValDerivationNode propagate (Expression exp , ValDerivationNode previousOrigin ) {
2525 Map <String , Expression > substitutions = VariableResolver .resolve (exp );
26- Map <String , Expression > constantSubstitutions = new HashMap <>();
27- Map <String , Expression > expressionSubstitutions = new HashMap <>();
26+ Map <String , Expression > directSubstitutions = new HashMap <>(); // var == value or var == var
27+ Map <String , Expression > expressionSubstitutions = new HashMap <>(); // var == expression
2828 for (Map .Entry <String , Expression > entry : substitutions .entrySet ()) {
2929 Expression value = entry .getValue ();
3030 if (value .isLiteral () || value instanceof Var ) {
31- constantSubstitutions .put (entry .getKey (), value );
31+ directSubstitutions .put (entry .getKey (), value );
3232 } else {
3333 expressionSubstitutions .put (entry .getKey (), value );
3434 }
@@ -39,8 +39,8 @@ public static ValDerivationNode propagate(Expression exp, ValDerivationNode prev
3939 if (previousOrigin != null ) {
4040 extractVarOrigins (previousOrigin , varOrigins );
4141 }
42- Map <String , Expression > activeSubstitutions = constantSubstitutions .isEmpty () ? expressionSubstitutions
43- : constantSubstitutions ;
42+ Map <String , Expression > activeSubstitutions = directSubstitutions .isEmpty () ? expressionSubstitutions
43+ : directSubstitutions ;
4444 return propagateRecursive (exp , activeSubstitutions , varOrigins );
4545 }
4646
0 commit comments