X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=blobdiff_plain;f=JSDOC%2FWalker2.js;h=ceb024d6c0a4ebda8e9943ea97baf02815a8a1e8;hp=5411d6eb9e15c91995641149110da7aa8b9ab5cf;hb=f97b7efe182b819e8f6143b7aeb9fd45c7ab75f0;hpb=124d1683fed13163d09387ceed4de0541f434367 diff --git a/JSDOC/Walker2.js b/JSDOC/Walker2.js index 5411d6e..ceb024d 100644 --- a/JSDOC/Walker2.js +++ b/JSDOC/Walker2.js @@ -4,7 +4,7 @@ XObject = imports.XObject.XObject; Scope = imports.Scope.Scope; DocComment = imports.DocComment.DocComment; Symbol = imports.Symbol.Symbol; -Parser = imports.Parser.Parser; + /** * Scope stuff @@ -156,7 +156,7 @@ Walker2 = XObject.define( //print(JSON.stringify(this.ts, null, 4)); Seed.quit(); while (null != (token = this.ts.next())) { - //print("TOK"+ token.toString()); + print("TOK"+ token.toString()); // this.timerPrint("parseScope AFTER lookT: " + token.toString()); if (token.is('COMM')) { @@ -568,7 +568,7 @@ Walker2 = XObject.define( (this.ts.lookTok(-2).type == 'NAME') && (this.ts.lookTok(-3).data == '(' || this.ts.lookTok(-3).data== ',') ) { - //print("got for : function() {"); + int("got for : function() {"); //scopeName = this.ts.look(-3).data; this.ts.balanceN(Script.TOKlparen); @@ -740,7 +740,8 @@ Walker2 = XObject.define( addSymbol: function(lastIdent, appendIt, atype ) { - print("addSymbol : " + lastIdent); + print("Walker.addSymbol : " + lastIdent); + /*if (!this.currentDoc.tags.length) { @@ -761,7 +762,7 @@ Walker2 = XObject.define( return; } - var token = this.ts.cur(); + var token = this.ts.lookTok(0); if (typeof(appendIt) == 'undefined') { appendIt= false; } @@ -816,7 +817,7 @@ Walker2 = XObject.define( /// calc scope!! //print("ADDING SYMBOL: "+ s.join('|') +"\n"+ _s + "\n" +Script.prettyDump(this.currentDoc.toSource())); - + print("Walker.addsymbol - add : " + _s); if (appendIt && !lastIdent.length) { // append, and no symbol??? @@ -825,6 +826,7 @@ Walker2 = XObject.define( if (this.currentDoc.getTag('class').length) { _s = this.currentDoc.getTag('class')[0].desc; var symbol = new Symbol(_s, [], "CONSTRUCTOR", this.currentDoc); + Parser = imports.Parser.Parser; Parser.addSymbol(symbol); this.symbols[_s] = symbol; return; @@ -850,22 +852,30 @@ Walker2 = XObject.define( return; } } + print("Walker.addsymbol - chkdup: " + _s); if (typeof(this.symbols[_s]) != 'undefined') { if (this.symbols[_s].comment.hasTags) { // then existing comment doesnt has tags - throw "DUPLICATE Symbol " + _s; + throw { + name: "ArgumentError", + message:"DUPLICATE Symbol " + _s + }; + } // otherwise existing comment has tags - overwrite.. } + print("Walker.addsymbol - ATYPE: " + _s); + if (typeof(atype) == "undefined") { atype = 'OBJECT'; //this.currentDoc.getTag('class').length ? 'OBJECT' : 'FUNCTION';; } + print("Walker.addsymbol - add : "); var symbol = new Symbol(_s, [], atype, this.currentDoc); - + Parser = imports.Parser.Parser; Parser.addSymbol(symbol); this.symbols[_s] = symbol;