package edu.uci.eecs.specCompiler.specExtraction;
+import java.util.ArrayList;
+
public class SequentialDefineSubConstruct {
- public final String declareVar;
- public final String initVar;
- public final String defineFunc;
-
- public SequentialDefineSubConstruct(String declareVar, String initVar, String defineFunc) {
+ public final ArrayList<String> initVar;
+ public final ArrayList<String> cleanupCode;
+ public final ArrayList<ArrayList<String>> defineFuncs;
+ public final ArrayList<VariableDeclaration> declareVar;
+ public final ArrayList<ArrayList<String>> declareStructs;
+
+ public SequentialDefineSubConstruct(
+ ArrayList<ArrayList<String>> declareStruct,
+ ArrayList<VariableDeclaration> declareVar,
+ ArrayList<String> initVar, ArrayList<String> cleanupCode,
+ ArrayList<ArrayList<String>> defineFuncs) {
+ this.declareStructs = declareStruct;
this.declareVar = declareVar;
this.initVar = initVar;
- this.defineFunc = defineFunc;
+ this.cleanupCode = cleanupCode;
+ this.defineFuncs = defineFuncs;
}
-
+
public String toString() {
StringBuffer res = new StringBuffer();
res.append("@Sequential_define:\n");
- res.append("\t@DeclareVar:\n");
- res.append(declareVar);
- res.append("\t@InitVar:\n");
- res.append(initVar);
- res.append("\t@DefineFunc:\n");
- res.append(defineFunc);
+ res.append("@DeclareStruct:\n");
+ for (int i = 0; i < declareStructs.size(); i++) {
+ res.append(ParserUtils.array2Str(declareStructs.get(i)) + "\n");
+ }
+ res.append("@DeclareVar:\n");
+ res.append(ParserUtils.array2Str(declareVar));
+ res.append("@InitVar:\n");
+ res.append(ParserUtils.array2Str(initVar));
+ res.append("@DefineFunc:\n");
+ for (int i = 0; i < defineFuncs.size(); i++) {
+ res.append(ParserUtils.array2Str(defineFuncs.get(i)) + "\n");
+ }
return res.toString();
}
}