small change
[cdsspec-compiler.git] / src / edu / uci / eecs / specCompiler / codeGenerator / CodeGenerator.java
index 399c036b15661ab3876d27ccb405f1383dd662de..40f06429ee058759ab708364ab97fb791b149d12 100644 (file)
@@ -15,6 +15,7 @@ import edu.uci.eecs.specCompiler.specExtraction.CPDefineConstruct;
 import edu.uci.eecs.specCompiler.specExtraction.ConditionalInterface;
 import edu.uci.eecs.specCompiler.specExtraction.Construct;
 import edu.uci.eecs.specCompiler.specExtraction.GlobalConstruct;
+import edu.uci.eecs.specCompiler.specExtraction.IDExtractor;
 import edu.uci.eecs.specCompiler.specExtraction.InterfaceConstruct;
 import edu.uci.eecs.specCompiler.specExtraction.PotentialCPDefineConstruct;
 import edu.uci.eecs.specCompiler.specExtraction.SequentialDefineSubConstruct;
@@ -43,16 +44,16 @@ public class CodeGenerator {
 
        public CodeGenerator(File[] srcFiles) {
                this.srcFiles = srcFiles;
-               this.contents = new HashMap<File, ArrayList<String>>();
+               _extractor = new SpecExtractor();
+               _extractor.extract(srcFiles);
+               
+               this.contents = _extractor.contents;
+               
                this.globalContent = null;
-               readSrcFiles();
                this.codeAdditions = new HashMap<File, ArrayList<CodeAddition>>();
 
-               _extractor = new SpecExtractor();
-
-               _extractor.extract(srcFiles);
 
-               _semantics = new SemanticsChecker(_extractor.getConstructs());
+               _semantics = new SemanticsChecker(_extractor.constructs);
                try {
                        _semantics.check();
                        System.out.println(_semantics);
@@ -71,19 +72,6 @@ public class CodeGenerator {
                return content;
        }
 
-       private void readSrcFiles() {
-               for (int i = 0; i < srcFiles.length; i++) {
-                       File f = srcFiles[i];
-                       if (!contents.containsKey(f)) {
-                               try {
-                                       contents.put(f, readSrcFile(f));
-                               } catch (IOException e) {
-                                       e.printStackTrace();
-                               }
-                       }
-               }
-       }
-
        /**
         * <p>
         * Generate all the global code, including the "@DefineVar" in each