X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FScope.js;h=3a03c4b86368f02693a61d2ab6bcb666bb20e540;hp=05a7cdb904422c3fc886928353f6e599a598498c;hb=36b2086548e17ebfcff7bffc9a100eefefca1dc1;hpb=1ea7a7967bb830099dfc3040bbd3b4326782b529 diff --git a/JSDOC/Scope.js b/JSDOC/Scope.js index 05a7cdb..3a03c4b 100644 --- a/JSDOC/Scope.js +++ b/JSDOC/Scope.js @@ -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') + "
"); + 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 + "):" + symbol+"
"); + 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)) { + return false; + } + + print("SCOPE : " + this.gid +" = SYMBOL NOT FOUND?" + symbol); + return false; + } + + return this.identifiers[symbol]; }, addHint : function(varName, varType) { @@ -178,10 +187,10 @@ Scope.prototype = { if (this.parent) { var all = []; - for (var i in this.identifiers) { - all.push(i); + for (var ii in this.identifiers) { + all.push(ii); } - print("MUNGE: " + all.join(', ')); + //print("MUNGE: " + all.join(', ')); //println("MUNGE: Building FreeSyms:" + this.id+"
"); @@ -210,18 +219,21 @@ Scope.prototype = { if (!this.identifiers[i].toMunge) { + //print("SKIP toMunge==false : " + i) continue; } if (this.isProtectedVar(i)) { + //print("SKIP PROTECTED: " + i) continue; // } - if (this.identifiers[i].constructor != Identifier) { - continue; - } + //if (this.identifiers[i].constructor != Identifier) { + // print("SKIP NOT IDENTIFIER : " + i) + // continue; + // } // println("IDENT:" +i+'
'); if (!repsym.length) { @@ -238,7 +250,7 @@ Scope.prototype = { //println([ repsym,mungedValue ]); if (this.mungeM && repsym.length < mungedValue.length) { - print("REPLACE:"+ mungedValue +" with " + repsym ); + //print("REPLACE:"+ mungedValue +" with " + repsym ); mungedValue = repsym; repsym = ''; } @@ -249,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(); } } @@ -310,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