JSDOC/Scope.js
[gnome.introspection-doc-generator] / JSDOC / Scope.js
index afd488d..5fe7403 100644 (file)
@@ -10,7 +10,7 @@ Identifier = imports.Identifier.Identifier
 XObject = imports.XObject.XObject; 
 
 
-function Scope(braceN, parent, startTokN, lastIdent)
+function Scope(braceN, parent, startTokN, lastIdent, token)
 {
     if (lastIdent.length) {
        //  println("NEW SCOPE: " + lastIdent);
@@ -25,7 +25,8 @@ function Scope(braceN, parent, startTokN, lastIdent)
     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') + ' : ' + 
+        (token ? token.toString() : ''));
     
     if (parent) {
         this.parent.subScopes.push(this);
@@ -54,7 +55,7 @@ Scope.prototype = {
     protectedVars : {}, // only used by to parent..
     declareIdentifier : function(symbol, token) {
         
-        print("ADD IDENT(" + this.id + "):" + symbol+"");
+        print("SCOPE : " + this.gid +  " : " + token.toString()+"");
         
         if (typeof(this.identifiers[symbol])== 'undefined') {
             
@@ -72,8 +73,17 @@ Scope.prototype = {
         this.addToParentScope(symbol);
         return this.identifiers[symbol];
     },
-    getIdentifier : function(symbol) {
-        return (typeof(this.identifiers[symbol])== 'undefined') ? false : this.identifiers[symbol];
+    getIdentifier : function(symbol, token) {
+        if (typeof(this.identifiers[symbol])== 'undefined') {
+            if (['String', 'Date'].indexOf(symbol)> -1) {
+                return false;
+            }
+            
+            print("SCOPE : " + this.gid +" = SYMBOL NOT FOUND?" + token.toString());
+            return false;
+        }
+         print("SCOPE : " + this.gid +" = FOUND:" + token.toString());
+        return this.identifiers[symbol];
     },
     
     addHint : function(varName, varType) {