X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FWalker2.js;h=05dae018ac4e172eeecd02c6f824b60b86cd0fe6;hp=b36685d24aaddad53da22d1f3e83a040250ce30f;hb=HEAD;hpb=723ab7d84a75fbc4c78af637e0f2c91b93487364 diff --git a/JSDOC/Walker2.js b/JSDOC/Walker2.js index b36685d..05dae01 100644 --- a/JSDOC/Walker2.js +++ b/JSDOC/Walker2.js @@ -170,11 +170,11 @@ Walker2 = XObject.define( // add it to the current scope???? this.addSymbol('', true); - + //print ( "Unconsumed Doc: " + token.toString()) //throw "Unconsumed Doc (TOKwhitespace): " + this.currentDoc.toSource(); } - + // print ( "NEW COMMENT: " + token.toString()) var newDoc = new DocComment(token.data); // it's a scope changer.. @@ -225,7 +225,7 @@ Walker2 = XObject.define( if (token.name == 'VAR' && this.ts.lookTok(1).type == 'NAME' && - this.ts.lookTok(2).data == '-' && + this.ts.lookTok(2).data == '=' && this.ts.lookTok(3).type == 'NAME' && this.ts.lookTok(4).data == ';' @@ -238,7 +238,10 @@ Walker2 = XObject.define( } - + if ((token.data == 'eval') || /\.eval$/.test(token.data)) { + this.currentDoc = false; + continue; + } // extends scoping *** not sure if the can be x = Roo.apply(....) // xxx.extends(a,b, { @@ -249,12 +252,8 @@ Walker2 = XObject.define( // a << scope if (token.type == 'NAME') { - print("TOK(ident)"+ token.toString()); - - - - - + //print("TOK(ident)"+ token.toString()); + if (/\.extend$/.test(token.data) && this.ts.lookTok(1).data == '(' && this.ts.lookTok(2).type == 'NAME' && @@ -427,10 +426,7 @@ Walker2 = XObject.define( // eval can be prefixed with a hint hider for the compresser.. - if ((token.data == 'eval') || /\.eval$/.test(token.data)) { - this.currentDoc = false; - continue; - } + if (this.currentDoc) { //print(token.toString()); @@ -442,6 +438,8 @@ Walker2 = XObject.define( if (((this.ts.lookTok(1).data == ':' )|| (this.ts.lookTok(1).data == '=')) && (this.ts.lookTok(2).name == "FUNCTION") ) { + // this.ts.nextTok(); + // this.ts.nextTok(); atype = 'FUNCTION'; } @@ -452,6 +450,9 @@ Walker2 = XObject.define( false, atype); + this.currentDoc = false; + + } @@ -462,7 +463,7 @@ Walker2 = XObject.define( //print ("NOT NAME"); - if (token.type == "STRN") { + if (token.type == "STRN") { // THIS WILL NOT HAPPEN HERE?!!? if (this.currentDoc) { this.addSymbol(token.data.substring(1,token.data.length-1),false,'OBJECT'); @@ -472,7 +473,7 @@ Walker2 = XObject.define( // really we only have to deal with object constructs and function calls that change the scope... - if (token.name == 'FUNCTION') { + if (token.name == 'FUNCTION') { //print("GOT FUNCTION"); // see if we have an unconsumed doc... @@ -533,7 +534,7 @@ Walker2 = XObject.define( (this.ts.lookTok(-3).type = 'FUNCTION') ) { //scopeName = this.ts.look(-3).data; - this.ts.balanceN(Script.TOKlparen); + this.ts.balance("("); token = this.ts.nextTok(); // should be { scopeName = fixAlias(scopeName); var fnScope = new Scope(this.braceNesting, scope, token.n, '$private$'); @@ -655,17 +656,23 @@ Walker2 = XObject.define( if ( (this.ts.lookTok(-1).data == '=') && (this.ts.lookTok(-2).type == 'NAME') && - (this.ts.lookTok(-3).nane != 'VAR') + (this.ts.lookTok(-3).name != 'VAR') ) { scopeName = this.ts.look(-2).data; + //print(scopeName); scopeName = fixAlias(scopeName); + + //print(this.scopes.length); var fnScope = new Scope(this.braceNesting, scope, token.n, '$this$='+scopeName + '|'+scopeName ); + this.indexedScopes[this.ts.cursor] = fnScope; scope = fnScope; + // push the same scope onto the stack.. this.scopesIn(fnScope); + //this.scopesIn(this.scopes[this.scopes.length-1]); locBraceNest++; @@ -703,7 +710,7 @@ Walker2 = XObject.define( continue; } - if (token.data == '{') { + if (token.data == '}') { if (this.currentDoc) { @@ -740,6 +747,7 @@ Walker2 = XObject.define( addSymbol: function(lastIdent, appendIt, atype ) { //print("Walker.addSymbol : " + lastIdent); + // print("Walker.curdoc: " + JSON.stringify(this.currentDoc, null,4)); /*if (!this.currentDoc.tags.length) { @@ -788,8 +796,12 @@ Walker2 = XObject.define( } s.push(lastIdent); + //print("FULLSCOPE: " + JSON.stringify(s)); + + var s = s.join('|').split('|'); - //print("Walker:ADDSymbol: " + s.join('|') ); + //print("FULLSCOPE: " + s); + // print("Walker:ADDSymbol: " + s.join('|') ); var _t = ''; _s = ''; @@ -806,13 +818,14 @@ Walker2 = XObject.define( if (s[i].substring(0,6) == '$this$') { var ts = s[i].split('='); _t = ts[1]; + _s = ''; // ??? VERY QUESTIONABLE!!! continue; } // when to use $this$ (probabl for events) _s += _s.length ? '.' : ''; _s += s[i]; } - + //print("FULLSCOPE: s , t : " + _s +', ' + _t); /// calc scope!! //print("ADDING SYMBOL: "+ s.join('|') +"\n"+ _s + "\n" +Script.prettyDump(this.currentDoc.toSource())); @@ -841,12 +854,13 @@ Walker2 = XObject.define( //print("Symbol:" + _s); //print(this.currentDoc.src); - throw { - name: "ArgumentError", - message: "Trying to append symbol '" + _s + "', but no doc available\n" + - token.toString() - }; - + //throw { + // name: "ArgumentError", + // message: "Trying to append symbol '" + _s + "', but no doc available\n" + + // this.ts.lookTok(0).toString() + //}; + this.currentDoc = false; + return; }