for (int i = 0; i < additions.size(); i++) {
CodeAddition addition = additions.get(i);
if (curSrcLine < addition.lineNum) {
- newContent.addAll(content.subList(curSrcLine, addition.lineNum - 1));
+ // Be careful, subList is the interval [begin, end)
+ newContent.addAll(content.subList(curSrcLine, addition.lineNum));
curSrcLine = addition.lineNum;
}
newContent.addAll(addition.newCode);
}
+ newContent.addAll(content.subList(curSrcLine, content.size()));
return newContent;
}
public static void main(String[] argvs) {
String homeDir = Environment.HOME_DIRECTORY;
File[] srcFiles = {
- new File(homeDir + "/benchmark/linuxrwlocks/linuxrwlocks.c") };
-// new File(homeDir
-// + "/benchmark/cliffc-hashtable/simplified_cliffc_hashtable.h"), };
- // new File(homeDir + "/benchmark/ms-queue/my_queue.c"),
- // new File(homeDir + "/benchmark/ms-queue/my_queue.h") };
+// new File(Environment.MODEL_CHECKER_TEST_DIR + "/backup_linuxrwlocks.c") };
+// new File(homeDir + "/benchmark/linuxrwlocks/linuxrwlocks.c") };
+ new File(homeDir
+ + "/benchmark/cliffc-hashtable/simplified_cliffc_hashtable.h"), };
+// new File(homeDir + "/benchmark/ms-queue/my_queue.c"),
+// new File(homeDir + "/benchmark/ms-queue/my_queue.c") };
+// new File(homeDir + "/benchmark/test/test.c") };
CodeGenerator gen = new CodeGenerator(srcFiles);
gen.generateCode();
}