X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FScope.js;h=aa145c3dbcb84a895c539fff8dcdb1cef79325ab;hp=d1e828b521d1d432f17b7b411316606ccb6d7bb8;hb=0127ea43e5a50a87da1ca3dae645223a3cf618d8;hpb=d0aff6da5826ad40181d0e1cb159b78865f07216
diff --git a/JSDOC/Scope.js b/JSDOC/Scope.js
index d1e828b..aa145c3 100644
--- a/JSDOC/Scope.js
+++ b/JSDOC/Scope.js
@@ -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);
@@ -23,9 +23,10 @@ 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') + "
");
+ //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 + " :SYM: " + symbol + " " + token.toString()+"");
if (typeof(this.identifiers[symbol])== 'undefined') {
@@ -69,11 +70,22 @@ Scope.prototype = {
// then it's global...
this.identifiers[symbol].toMunge = false;
}
+
+
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) {
@@ -229,7 +241,7 @@ Scope.prototype = {
if (!repsym.length) {
if (!freeSymbols.length) {
- addSyms(JSDOC.Scope.twos);
+ addSyms(Scope.twos);
}
repsym = freeSymbols.shift(); // pop off beginngin???
}
@@ -313,4 +325,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