X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FTokenStream.js;h=7b3328f3eefe541c02d2d850d23810080890d27e;hp=d8f2dff43ac1d7cd278da12e46108c43eea72e48;hb=759466942f163998373b165f409fd9cfaaa9910f;hpb=21c2975f3329ceed42e13fd320c21e10948584bf diff --git a/JSDOC/TokenStream.js b/JSDOC/TokenStream.js index d8f2dff..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; } @@ -262,8 +267,10 @@ TokenStream = XObject.define( { 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]..toString(); + + out += (this.tokens[i].outData == false) ? this.tokens[i].data : this.tokens[i].outData; }; print(out); }