JSDOC/ScopeParser.js
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.js
index a3cffad..1db73dd 100644 (file)
@@ -141,7 +141,7 @@ ScopeParser.prototype = {
         this.braceNesting = 0;
         this.scopes = [];
         
-        print(JSON.stringify(this.ts.tokens, null,4));
+        //print(JSON.stringify(this.ts.tokens, null,4));
         
         
         this.globalScope = new  Scope(-1, false, -1, '');
@@ -302,12 +302,11 @@ ScopeParser.prototype = {
                             var bn = this.braceNesting;
                             var nts = [];
                             while (true) {
-                                var n = this.ts.lookTok();
-                                if (n.data == ',') {
+                                if (!token || token.type == 'VOID' || token.data == ',') {
                                     break;
                                 }
-                                nts.push(n);
-                                this.nextTok();
+                                nts.push(token);
+                                token = this.ts.nextTok();
                             }
                             if (nts.length) {
                                 var TS = this.ts;
@@ -427,7 +426,7 @@ ScopeParser.prototype = {
                     break;
 
                 case "KEYW.CATCH":
-                    //print('SCOPE-CATCH:' + token.toString());
+                    print('SCOPE-CATCH:' + token.toString());
                     //println("<i>"+token.data+"</i>");
                     this.parseCatch();
                     break;
@@ -824,10 +823,12 @@ ScopeParser.prototype = {
         var token;
         var currentScope;
         var identifier;
-
+        
         //token = getToken(-1);
         //assert token.getType() == Token.CATCH;
         token = this.ts.nextTok();
+        
+        print(JSON.stringify(token,null,4));
         //assert token.getType() == Token.LP; (
         //token = this.ts.nextTok();
         //assert token.getType() == Token.NAME;
@@ -839,13 +840,13 @@ ScopeParser.prototype = {
             // We must declare the exception identifier in the containing function
             // scope to avoid errors related to the obfuscation process. No need to
             // display a warning if the symbol was already declared here...
-            currentScope.declareIdentifier(symbol, token);
+            currentScope.declareIdentifier(symbol, token.items[0]);
         } else {
             //?? why inc the refcount?? - that should be set when building the tree???
-            identifier = this.getIdentifier(symbol, currentScope, token);
+            identifier = this.getIdentifier(symbol, currentScope, token.items[0]);
             identifier.refcount++;
         }
-
+        
         token = this.ts.nextTok();
         //assert token.getType() == Token.RP; // )
     },