import java.util.ArrayList;
public class SequentialDefineSubConstruct {
- public final ArrayList<String> initVar, 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<VariableDeclaration> declareVar,
- ArrayList<String> initVar, ArrayList<String> defineFunc) {
+ 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("@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");
- res.append(ParserUtils.array2Str(defineFunc));
+ for (int i = 0; i < defineFuncs.size(); i++) {
+ res.append(ParserUtils.array2Str(defineFuncs.get(i)) + "\n");
+ }
return res.toString();
}
}