JSDOC/ScopeParser.js
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.js
index 835aa12..7f38645 100644 (file)
@@ -258,7 +258,7 @@ ScopeParser.prototype = {
                     while (true) {
                         token = this.ts.nextTok();
                         //!this.debug|| print( token.toString());
-                        print('SCOPE-VAR-VAL:' + JSON.stringify(token, null, 4));
+                        //print('SCOPE-VAR-VAL:' + JSON.stringify(token, null, 4));
                         if (!token) { // can return false at EOF!
                             break;
                         }
@@ -426,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;
@@ -620,7 +620,7 @@ ScopeParser.prototype = {
            */ 
            
            //this.dumpToken(token,  this.scopes, this.braceNesting );
-           //print('EXP' +  token.toString());
+           //print('EXPR' +  token.toString());
             
             
             //println("<i>"+token.data+"</i>");
@@ -780,8 +780,9 @@ ScopeParser.prototype = {
              
                     symbol = token.data;
                     if (this.mode == 'BUILDING_SYMBOL_TREE') {
-
+                        
                         if (symbol == "eval") {
+                            print(JSON.stringify(token,null,4));
                             if (token.prefix && token.prefix.match('/eval/')) {
                                 // look for eval:var:noreplace\n
                                 var _t = this;
@@ -827,25 +828,26 @@ ScopeParser.prototype = {
         //token = getToken(-1);
         //assert token.getType() == Token.CATCH;
         token = this.ts.nextTok();
-        print(token.toString());
+        
+        //print(JSON.stringify(token,null,4));
         //assert token.getType() == Token.LP; (
         //token = this.ts.nextTok();
         //assert token.getType() == Token.NAME;
         
-        symbol = token.items[0].data;
+        symbol = token.items[0][0].data;
         currentScope = this.scopes[this.scopes.length-1];
 
         if (this.mode == 'BUILDING_SYMBOL_TREE') {
             // 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][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][0]);
             identifier.refcount++;
         }
-
+        
         token = this.ts.nextTok();
         //assert token.getType() == Token.RP; // )
     },
@@ -875,13 +877,18 @@ ScopeParser.prototype = {
             }
             token =  this.ts.nextTok();
         }
+        
+        
         // return function() {.... 
-        if (token.name == "RETURN") {
-            token =  this.ts.nextTok();
-        }
-        if (token.name == "FUNCTION") {
+        while (token.data != "(") {
+            print(token.toString());
             token =  this.ts.nextTok();
+            
+            
+            
         }
+        
+        
         //assert token.getType() == Token.LP;
         if (this.mode == 'BUILDING_SYMBOL_TREE') {
             fnScope = new Scope(1, currentScope, token.n, '', token);
@@ -895,7 +902,7 @@ ScopeParser.prototype = {
             fnScope = this.indexedScopes[token.id];
         }
         //if (this.mode == 'BUILDING_SYMBOL_TREE') 
-           // print('FUNC-PARSE:' + JSON.stringify(token,null,4));
+        //  print('FUNC-PARSE:' + JSON.stringify(token,null,4));
         // Parse function arguments.
         var args = token.items;
         for (var argpos =0; argpos < args.length; argpos++) {