JSDOC/ScopeParser.js
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.js
index d2ded36..e7120b4 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, '');
@@ -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;
@@ -526,21 +526,24 @@ ScopeParser.prototype = {
                     if (token.type != 'KEYW') {
                         break;
                     }
-                    //print('SCOPE-KEYW:' + token.toString());
+                    print('SCOPE-KEYW:' + token.toString());
                    // print("Check eval:");
                 
                     symbol = token.data;
                     
                      if (this.mode == 'BUILDING_SYMBOL_TREE') {
 
-                        if (symbol == "eval") {
+                        if (token.name == "EVAL") {
+                            
+                            print(JSON.stringify(token, null,4));
                             // look back one and see if we can find a comment!!!
                             //if (this.ts.look(-1).type == "COMM") {
-                            if (token.prefix && token.prefix.match('/eval/')) {
+                            if (token.prefix && token.prefix.match(/eval/)) {
                                 // look for eval:var:noreplace\n
+                                print("MATCH!?");
                                 var _t = this;
                                 token.prefix.replace(/eval:var:([a-z_]+)/ig, function(m, a) {
-                                    
+                                    print("GOT: " + a);
                                     var hi = _t.getIdentifier(a, thisScope, token);
                                    // println("PROTECT "+a+" from munge" + (hi ? "FOUND" : "MISSING"));
                                     if (hi) {
@@ -620,7 +623,7 @@ ScopeParser.prototype = {
            */ 
            
            //this.dumpToken(token,  this.scopes, this.braceNesting );
-           //print('EXP' +  token.toString());
+           //print('EXPR' +  token.toString());
             
             
             //println("<i>"+token.data+"</i>");
@@ -770,6 +773,8 @@ ScopeParser.prototype = {
                 case 'KEYW':   
                     //if (this.mode == 'BUILDING_SYMBOL_TREE') 
                     //    print("EXPR-KEYW:" + JSON.stringify(token, null, 4));
+                    
+                    print('EXPR-KEYW:' + token.toString());
                     if (token.name == "FUNCTION") {
                         
                         this.parseFunctionDeclaration();
@@ -780,12 +785,18 @@ ScopeParser.prototype = {
              
                     symbol = token.data;
                     if (this.mode == 'BUILDING_SYMBOL_TREE') {
-
-                        if (symbol == "eval") {
-                            if (token.prefix && token.prefix.match('/eval/')) {
+                        
+                        if (token.name == "EVAL") {
+                            print(JSON.stringify(token,null,4));
+                            if (token.prefix && token.prefix.match(/eval:var:/g)) {
                                 // look for eval:var:noreplace\n
+                                print("GOT MATCH?");
                                 var _t = this;
                                 token.prefix.replace(/eval:var:([a-z]+)/ig, function(m, a) {
+                                    
+                                    print("PROTECT: " + a);
+                                    
+                                    
                                     var hi = _t.getIdentifier(a, currentScope, token);
                                    //println("PROTECT "+a+" from munge" + (hi ? "FOUND" : "MISSING"));
                                     if (hi) {
@@ -876,13 +887,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);
@@ -896,7 +912,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++) {