X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FScope.js;h=aa145c3dbcb84a895c539fff8dcdb1cef79325ab;hp=afd488d1ccef95db790580e0097a8f2f90af8aee;hb=309249e9eba5141a1ebb6276c7ceba0ff787fc74;hpb=05502e1f18a4e2562a4c44c6b83dbbd99f26dbec diff --git a/JSDOC/Scope.js b/JSDOC/Scope.js index afd488d..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); @@ -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') + "
"); + //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??? }