add more on code generation
[cdsspec-compiler.git] / src / edu / uci / eecs / specCompiler / specExtraction / ActionSubConstruct.java
index b8b8689512fb9a104efe069104704069b9283e0e..0522a48aebc1f8b9fe67171c21c4b6e93b7643fc 100644 (file)
@@ -7,30 +7,44 @@ public class ActionSubConstruct {
                public final String varType;
                public final String varName;
                public final String varExpr;
-               
+               private String newVarName;
+
                public DefineVar(String varType, String varName, String varExpr) {
                        this.varType = varType;
                        this.varName = varName;
                        this.varExpr = varExpr;
+                       this.newVarName = null;
+               }
+
+               public void renameVarName(String newName) {
+                       this.newVarName = newName;
+               }
+
+               public String getNewVarName() {
+                       return this.newVarName;
                }
-               
+
                public String toString() {
-                       return varType + " " + varName + " = " + varExpr;
+                       if (newVarName == null)
+                               return varType + " " + varName + " = " + varExpr;
+                       else
+                               return varType + " " + varName + "(" + newVarName + ")" + " = "
+                                               + varExpr;
                }
        }
-       
+
        public final ArrayList<DefineVar> defineVars;
        public final String code;
-       
+
        public ActionSubConstruct(ArrayList<DefineVar> defineVars, String code) {
                this.code = code;
                this.defineVars = defineVars;
        }
-       
+
        public void addDefineVar(DefineVar defineVar) {
                defineVars.add(defineVar);
        }
-       
+
        public String toString() {
                StringBuilder sb = new StringBuilder();
                sb.append("@Action:\n");