JSDOC/ScopeParser.js
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.js
index 457107d..9df4c1b 100644 (file)
@@ -141,7 +141,7 @@ ScopeParser.prototype = {
         this.braceNesting = 0;
         this.scopes = [];
         
-        
+        print(JSON.stringify(this.ts.tokens, null,4));
         
         
         this.globalScope = new  Scope(-1, false, -1, '');
@@ -258,7 +258,7 @@ ScopeParser.prototype = {
                     while (true) {
                         token = this.ts.nextTok();
                         //!this.debug|| print( token.toString());
-                        //print('SCOPE-VAR-VAL:' + token.toString());
+                        print('SCOPE-VAR-VAL:' + JSON.stringify(token, null, 4));
                         if (!token) { // can return false at EOF!
                             break;
                         }
@@ -300,7 +300,21 @@ ScopeParser.prototype = {
                         } else {
                             //var bn = this.braceNesting;
                             var bn = this.braceNesting;
-                            this.parseExpression();
+                            var nts = [];
+                            while (true) {
+                                if (!token || token.type == 'VOID' || token.data == ',') {
+                                    break;
+                                }
+                                nts.push(token);
+                                token = this.ts.nextTok();
+                            }
+                            if (nts.length) {
+                                var TS = this.ts;
+                                this.ts = new TokenStream(nts);
+                                this.parseExpression();
+                                this.ts = TS;
+                            }
+                               
                             this.braceNesting = bn;
                             //this.braceNesting = bn;
                             //this.logR("parseScope DONE  : <B>ParseExpression</B> - tok is:" + this.ts.lookT(0).toString());