JSDOC/Scope.js
[gnome.introspection-doc-generator] / JSDOC / Scope.js
index eac58ca..11bf09e 100644 (file)
@@ -6,7 +6,7 @@
 * // FIXME - I need this to do next() without doccomments..
 */
 
-Identifier = imports['JSDOC/Identifier.js'].Identifier
+Identifier = imports.Identifier.Identifier
 XObject = imports.XObject.XObject; 
 
 
@@ -23,9 +23,9 @@ function Scope(braceN, parent, startTokN, lastIdent)
     this.subScopes = [];
     this.hints = { };
     this.ident = lastIdent;
+    this.gid = Scope.gid++;
     
-    
-    //println("ADD SCOPE(" + this.id + ") TO "+ (parent ? this.parent.id : 'TOP') + "<BR/>");
+    print("ADD SCOPE(" + this.gid + ") TO "+ (parent ? this.parent.gid : 'TOP'));
     
     if (parent) {
         this.parent.subScopes.push(this);
@@ -54,7 +54,7 @@ Scope.prototype = {
     protectedVars : {}, // only used by to parent..
     declareIdentifier : function(symbol, token) {
         
-        //println("ADD IDENT(" + this.id + "):<B>" + symbol+"</B><BR/>");
+        print("SCOPE : " + this.gid +  " : " + token.toString()+"");
         
         if (typeof(this.identifiers[symbol])== 'undefined') {
             
@@ -73,7 +73,16 @@ Scope.prototype = {
         return this.identifiers[symbol];
     },
     getIdentifier : function(symbol) {
-        return (typeof(this.identifiers[symbol])== 'undefined') ? false : this.identifiers[symbol];
+        if (typeof(this.identifiers[symbol])== 'undefined') {
+            if (['String', 'Date'].indexOf(symbol)> -1) {
+                return false;
+            }
+            
+            print("SCOPE : " + this.gid +" = SYMBOL NOT FOUND?" + symbol);
+            return false;
+        }
+         print("SCOPE : " + this.gid +" = FOUND?" + symbol);
+        return this.identifiers[symbol];
     },
     
     addHint : function(varName, varType) {
@@ -252,8 +261,8 @@ Scope.prototype = {
         }
         this.munged = true;
         //println("Doing sub scopes");
-        for (var i = 0; i < this.subScopes.length; i++) {
-            var ss = this.subScopes[i];
+        for (var j = 0; j < this.subScopes.length; j++) {
+            var ss = this.subScopes[j];
             ss.munge();
         }
     }
@@ -313,4 +322,4 @@ XObject.extend(Scope, {
 })
 // init the scope constants..
 Scope.init();
\ No newline at end of file
+Scope.gid = 0;
\ No newline at end of file