JSDOC/ScopeParser.js
[gnome.introspection-doc-generator] / JSDOC / ScopeParser.js
index 87b124b..c8ed336 100644 (file)
@@ -223,7 +223,10 @@ ScopeParser.prototype = {
         
         var isObjectLitAr = [ false ];
         var isInObjectLitAr;
-        this.scopes.push(scope);
+        if (scope) {
+            this.scopes.push(scope);
+        }
+        
        
         //var scopeIndent = ''; 
         //this.scopes.forEach(function() {
@@ -253,7 +256,7 @@ ScopeParser.prototype = {
                     while (true) {
                         token = this.ts.nextTok();
                         //!this.debug|| print( token.toString());
-                        print('SCOPE-VAR:' + token.toString());
+                        print('SCOPE-VAR-VAL:' + token.toString());
                         if (!token) { // can return false at EOF!
                             break;
                         }
@@ -694,29 +697,8 @@ ScopeParser.prototype = {
                 case 'STRN': // used for object lit detection..
                     if (this.mode == 'BUILDING_SYMBOL_TREE')    
                         print("EXPR-STR:" + JSON.stringify(token, null, 4));
-                    if (this.ts.lookTok(-1).data == "{" && this.ts.lookTok(1).data == ":" ) {
-                        // then we are in an object lit.. -> we need to flag the brace as such...
-                        isObjectLitAr.pop();
-                        isObjectLitAr.push(true);
-                        //print(">>>>> EXP PUSH(true)");
-                    }
-                    
-                    
+               
                      
-                    isInObjectLitAr = isObjectLitAr[isObjectLitAr.length-1];
-                    if (isInObjectLitAr &&  this.ts.lookTok(1).data == ":"  &&
-                        ( this.ts.lookTok(-1).data == "{"  ||  this.ts.lookTok(-1).data == "," )) {
-                        // see if we can replace..
-                        // remove the quotes..
-                        var str = token.data.substring(1,token.data.length-1);
-                        if (/^[a-z_]+$/i.test(str) && ScopeParser.idents.indexOf(str) < 0) {
-                            token.outData = str;
-                        }
-                        
-                         
-                        
-                    }
-                    
                     break;
                 
                       
@@ -730,12 +712,14 @@ ScopeParser.prototype = {
                     //print("in NAME 2: " + this.ts.lookTok(2).toString());
                     
                     //print(this.ts.lookTok(0).data);
+                    // prefixed with '.'
                     if (this.ts.lookTok(0).data == ".") {
                         //skip '.'
                         break;
                     }
                     
-                     if (this.mode == 'PASS2_SYMBOL_TREE') {
+                    
+                    if (this.mode == 'PASS2_SYMBOL_TREE') {
 
                         identifier = this.getIdentifier(symbol, currentScope);
                         //println("<B>??</B>");
@@ -749,7 +733,7 @@ ScopeParser.prototype = {
                                 this.globalScope.declareIdentifier(symbol, token);
                                 this.warn("Found an undeclared symbol: " + symbol + ' (line:' + token.line + ')', true);
                             } else {
-                                //println("undeclared")
+                                print("undeclared:" + token.toString())
                             }