X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FTokenStream.js;h=7b3328f3eefe541c02d2d850d23810080890d27e;hp=32ce52f12c7628d1e367d21d1deeec5a70d51c93;hb=759466942f163998373b165f409fd9cfaaa9910f;hpb=c7558bb0aeb27aa3d617c23357f1ef9e575f0d4c diff --git a/JSDOC/TokenStream.js b/JSDOC/TokenStream.js index 32ce52f..7b3328f 100644 --- a/JSDOC/TokenStream.js +++ b/JSDOC/TokenStream.js @@ -138,6 +138,7 @@ TokenStream = XObject.define( /** * @return {Token|null} + * next token (with white space) */ @@ -185,16 +186,19 @@ TokenStream = XObject.define( */ balance : function(/**String*/start, /**String*/stop) { - start = typeof(Lang.matching(start)) == 'undefined' ? Lang.punc(start) : start; + + start = typeof(Lang.punc(start)) == 'undefined' ? start : Lang.punc(start); if (!stop) stop = Lang.matching(start); var depth = 0; var got = []; var started = false; + //Seed.print("START:" + start); //Seed.print("STOP:" + stop); while ((token = this.look())) { if (token.is(start)) { + // Seed.print("balance: START : " + depth + " " + token.data); depth++; started = true; } @@ -205,7 +209,8 @@ TokenStream = XObject.define( if (token.is(stop)) { depth--; - if (depth == 0) return got; + // Seed.print("balance: STOP: " + depth + " " + token.data); + if (depth < 1) return got; } if (!this.next()) break; } @@ -258,11 +263,16 @@ TokenStream = XObject.define( }) return ret.join(''); }, - dump: function() + dump: function(start, end) { - this.tokens.forEach(function(t) { - print(t.toString()); - }); + start = Math.max(start || 0, 0); + end = Math.min(end || this.tokens.length, this.tokens.length); + var out=''; + for (var i =start;i < end; i++) { + + out += (this.tokens[i].outData == false) ? this.tokens[i].data : this.tokens[i].outData; + }; + print(out); } }); \ No newline at end of file