JSDOC/Packer.vala
[gnome.introspection-doc-generator] / JSDOC / Packer.vala
index ddb517c..f929222 100644 (file)
@@ -18,11 +18,9 @@ x.srcfiles = array of files (that list other files...) << not supported?
 x.target = "output.pathname.js"
 x.debugTarget = "output.pathname.debug.js"
 
-
-x.debugTranslateTarget : "/tmp/output.translate.js" << this used to be the single vs double quotes.. we may not use it in future..
-x.translateJSON: "/tmp/translate.json",
     
-x.packAll();  // writes files  etc..
+x.pack();  // writes files  etc..
     
  *</code> 
  *
@@ -100,18 +98,21 @@ namespace JSDOC
                // list of files to compile...
                Gee.ArrayList<string> files;
                
-               
-               
+               /**
+               * @cfg debug -- pretty obvious.
+               */
+                
                public string activeFile = "";
                
                
-               public  string out = ""; // if no target is specified - then this will contain the result
+               public  string outstr = ""; // if no target is specified - then this will contain the result
     
                public Packer(string target, string targetDebug = "")
                {
                        this.target = target;
                        this.targetDebug  = targetDebug;
-               
+                       this.files = new Gee.ArrayList<string>();
+                        
                }
                
                public void loadSourceIndexes(Gee.ArrayList<string> indexes)
@@ -121,13 +122,19 @@ namespace JSDOC
                        }
                }
                
-               public void loadFiles(Gee.ArrayList<string> fs)
+               public void loadFiles(string[] fs)
                {
                        foreach(var f in fs) {
+                           GLib.debug("add File: %s", f);
                                this.files.add(f); //?? easier way?
                        }
                }
-       
+               public void loadFile(string f)
+               {
+                   GLib.debug("add File: %s", f);
+                       this.files.add(f); 
+                       GLib.debug("FILE LEN: %d", this.files.size);
+               }
                
                public void pack()
                {
@@ -209,13 +216,13 @@ namespace JSDOC
                        
                        print("reading %s\n",file );
                        
-                       if (FileUtils.test (file, FileTest.EXISTS) && ! FileUtils.test (file, FileTest.IS_DIR)) {
+                       if (!FileUtils.test (file, FileTest.EXISTS) || FileUtils.test (file, FileTest.IS_DIR)) {
                            print("SKIP (is not a file) %s\n ", file);
                            continue;
                        }
                       
                                var loaded_string = false;
-                               string file_contents;
+                               string file_contents = "";
                        // debug Target
                        
                        if (this.targetDebugStream !=null) {
@@ -264,7 +271,7 @@ namespace JSDOC
                                FileUtils.get_contents(file,out file_contents);
                        }
 
-                       var str = this.packFile(file_contents, file, minfile);
+                        this.packFile(file_contents, file, minfile);
                         
                      
                    }
@@ -337,8 +344,8 @@ namespace JSDOC
                                        this.targetStream.write((str + "\n").data); 
 
                            } else {
-                               this.out += "//" + file + "\n";
-                               this.out += str + "\n";
+                               this.outstr += "//" + file + "\n";
+                               this.outstr += str + "\n";
                            }
                            
                        }
@@ -378,7 +385,7 @@ namespace JSDOC
  
                        // we can load translation map here...
                
-                       var toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
+                       TokenArray toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
                
                
                
@@ -389,20 +396,20 @@ namespace JSDOC
 
                        //var ts = new TokenStream(toks);
                        //print(JSON.stringify(toks, null,4 )); Seed.quit();
-                       var ts = new Collapse(toks);
+                       var ts = new Collapse(toks.tokens);
                   // print(JSON.stringify(ts.tokens, null,4 )); Seed.quit();
                        //return;//
                        var sp = new ScopeParser(ts);
-
-                       sp.packer = this;
+                       //sp.packer = this;
                        sp.buildSymbolTree();
 
                        sp.mungeSymboltree();
-
-                       print(sp.warnings.join("\n"));
+                       sp.printWarnings();
+                       //print(sp.warnings.join("\n"));
 
                
-                       var outf = CompressWhite(new TokenStream(toks), this, this.keepWhite); // do not kill whitespace..
+                       var outf = CompressWhite(new TokenStream(toks.tokens), this, this.keepWhite); // do not kill whitespace..
                
                
                
@@ -412,7 +419,7 @@ namespace JSDOC
                                 
                        }
                
-                       return out;
+                       return outf;