JSDOC/Walker2.js
[gnome.introspection-doc-generator] / JSDOC / TokenStream.js
index d8f2dff..7b3328f 100644 (file)
@@ -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);
         }