JSDOC/ScopeParser.js
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.js
index ee8f1c7..389ff9a 100644 (file)
@@ -577,9 +577,9 @@ ScopeParser.prototype = {
             
         
         //print(scopeIndent + ">> ENTER EXPRESSION" + this.expN);
-        while (token = this.ts.lookTok()) {
+        while (token = this.ts.nextTok()) {
      
-
+        
             
            /*
             // moved out of loop?
@@ -592,7 +592,7 @@ ScopeParser.prototype = {
            */ 
            
            //this.dumpToken(token,  this.scopes, this.braceNesting );
-           //print('EXP' + this.expN + ':' + token.toString());
+           print('EXP' +  token.toString());
             
             
             //println("<i>"+token.data+"</i>");
@@ -608,7 +608,7 @@ ScopeParser.prototype = {
                             if (this.braceNesting == expressionBraceNesting &&
                                     bracketNesting == 0 &&
                                     parensNesting == 0) {
-                                print(scopeIndent + "<< EXIT EXPRESSION");
+                                print("<< EXIT EXPRESSION");
                                 this.expN--;
                                 return;
                             }
@@ -631,13 +631,23 @@ ScopeParser.prototype = {
                             break;
 
                         case '[': //Token.LB:
-                            bracketNesting++;
+                        
+                            var ts = this.ts;
+                            var _this = this;
+                            token.items.forEach(function(ns) {
+                                 print("EXPR-PUNC-MAKE:" + JSON.stringify(ns, null, 4));
+                                _this.ts = new TokenStream(ns);
+                                //_this.ts.cursor--;
+                                _this.parseExpression();
+                            });
+                            this.ts = ts;
+                            
                             break;
-
+/*
                         case ']': //Token.RB:
                             bracketNesting--;
                             break;
-
+*/
                         case '(': //Token.LP:
                             parensNesting++;
                             break;
@@ -734,7 +744,7 @@ ScopeParser.prototype = {
                     
                     
                     //println("<B>EID</B>");
-                 case 'KEYW':   
+                case 'KEYW':   
                     print("EXPR-KEYW:" + JSON.stringify(token, null, 4));
                     if (token.name == "FUNCTION") {
                         
@@ -771,11 +781,13 @@ ScopeParser.prototype = {
                         }
                         break;
                     } 
-                   
+                default: 
+                    print("EXPR-SKIP:" + JSON.stringify(token, null, 4));
+                    break;
             }
-            if (!this.ts.nextTok()) break;
+            
         }
-        print(scopeIndent + "<< EXIT EXPRESSION");
+        print("<< EXIT EXPRESSION");
         this.expN--;
     },