X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FPacker.js;h=933156dfde7a5e6e1f268f51d7b6d26067d276bc;hp=d04e630e9061afb5682f12eace8e6e37e9c44503;hb=134619d3049edce9b27810483e8011e5dfb783e0;hpb=649a91296eb2d7e5cbd4d1407deb9c1fa714229f diff --git a/JSDOC/Packer.js b/JSDOC/Packer.js index d04e630..933156d 100644 --- a/JSDOC/Packer.js +++ b/JSDOC/Packer.js @@ -2,11 +2,12 @@ XObject = imports.XObject.XObject; File = imports.File.File; -TextStream = imports['JSDOC/TextStream.js'].TextStream; -TokenReader = imports['JSDOC/TokenReader.js'].TokenReader; -ScopeParser = imports['JSDOC/ScopeParser.js'].ScopeParser; -TokenStream = imports['JSDOC/TokenStream.js'].TokenStream; -CompressWhite = imports['JSDOC/CompressWhite.js'].CompressWhite; +TextStream = imports.TextStream.TextStream; +TokenReader = imports.TokenReader.TokenReader; +ScopeParser = imports.ScopeParser.ScopeParser; +TokenStream = imports.TokenStream.TokenStream; +CompressWhite = imports.CompressWhite.CompressWhite; +Collapse = imports.Collapse.Collapse; GLib = imports.gi.GLib; /** @@ -70,9 +71,12 @@ Packer = function(cfg) { XObject.extend(this, cfg); - - if (this.srcfile) { - this.loadSourceFile(); + var _this = this; + if (this.srcfiles && this.srcfiles.length) { + this.srcfiles.forEach(function(f) { + _this.loadSourceFile(f); + }); + } if (!this.files) { @@ -89,7 +93,7 @@ Packer.prototype = { /** * @prop srcfiles {String} file containing a list of files/or classes to use. */ - srcfiles : false, + srcfile : false, /** * @prop files {Array} list of files to compress (must be full path) @@ -125,9 +129,9 @@ Packer.prototype = { out : '', // if no target is specified - then this will contain the result - loadSourceFile : function() + loadSourceFile : function(srcfile) { - var lines = File.read(this.srcfile).split("\n"); + var lines = File.read(srcfile).split("\n"); var _this = this; lines.forEach(function(f) { @@ -310,7 +314,13 @@ Packer.prototype = { pack : function (str,fn,minfile) { - var tr = new TokenReader( { keepDocs :true, keepWhite : true, keepComments : true, sepIdents : true }); + var tr = new TokenReader( { + keepDocs :true, + keepWhite : true, + keepComments : true, + sepIdents : true, + collapseWhite : false + }); this.timerPrint("START" + fn); // we can load translation map here... @@ -328,8 +338,12 @@ Packer.prototype = { // and replace if we are generating a different language.. this.timerPrint("Tokenized"); + //var ts = new TokenStream(toks); + //print(JSON.stringify(toks, null,4 )); Seed.quit(); + var ts = new Collapse(toks); + // print(JSON.stringify(ts.tokens, null,4 )); Seed.quit(); //return;// - var sp = new ScopeParser(new TokenStream(toks)); + var sp = new ScopeParser(ts); this.timerPrint("Converted to Parser"); sp.packer = this; sp.buildSymbolTree(); @@ -337,7 +351,10 @@ Packer.prototype = { sp.mungeSymboltree(); this.timerPrint("Munged Sym tree"); print(sp.warnings.join("\n")); - var out = CompressWhite(sp.ts, this); + + + //var out = CompressWhite(new TokenStream(toks), this, true); // do not kill whitespace.. + var out = CompressWhite(new TokenStream(toks), this, false); this.timerPrint("Compressed"); return out;