JSDOC/Walker2.js
[gnome.introspection-doc-generator] / JSDOC / Walker2.js
index 55ae03f..b36685d 100644 (file)
@@ -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')) {
@@ -249,7 +249,7 @@ Walker2 = XObject.define(
                     // a  << scope
                 if (token.type == 'NAME') {
                     
-                    //print("TOK(ident)"+ token.toString());
+                    print("TOK(ident)"+ token.toString());
                     
                     
                        
@@ -421,19 +421,7 @@ Walker2 = XObject.define(
                     }
                     
 
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
+                     
                     
                     
                     
@@ -471,7 +459,7 @@ Walker2 = XObject.define(
                     
                 }
                 
-                print ("NOT NAME");
+                //print ("NOT NAME");
                 
                 
                 if (token.type == "STRN")   {
@@ -485,12 +473,15 @@ Walker2 = XObject.define(
                 
                 
                  if (token.name == 'FUNCTION') {
-                    print("GOT FUNCTION");
+                    //print("GOT FUNCTION");
                     // see if we have an unconsumed doc...
                     
                     if (this.currentDoc) {
-                            print(this.ts.dumpToCur());
-                            throw "Unhandled doc (TOKfunction)" + token.toString();
+                            throw {
+                                name: "ArgumentError", 
+                                message: "Unhandled doc (TOKfunction)" + token.toString()
+                            };
+                            
                             //this.addSymbol(this.currentDoc.getTag('class')[0].name, true);
 
                             //throw "Unconsumed Doc: (TOKrbrace)" + this.currentDoc.toSource();
@@ -572,10 +563,10 @@ Walker2 = XObject.define(
                             (this.ts.lookTok(-2).type == 'NAME') &&
                             (this.ts.lookTok(-3).data == '(' || this.ts.lookTok(-3).data== ',') 
                         ) {
-                        print("got for : function() {"); 
+                        //print("got for : function() {"); 
                             
                         //scopeName = this.ts.look(-3).data;
-                        this.ts.balanceN(Script.TOKlparen);
+                        this.ts.balance('(');
                         //print(token.toString())
                         token = this.ts.nextTok(); // should be {
                         //print(token.toString())
@@ -598,7 +589,7 @@ Walker2 = XObject.define(
                             (this.ts.lookTok(1).type == 'NAME') 
                         ) {
                         //scopeName = this.ts.look(-3).data;
-                        this.ts.balanceN('(');
+                        this.ts.balance('(');
                         token = this.ts.nextTok(); // should be {
                             
                         var fnScope = new Scope(this.braceNesting, scope, token.n, '');
@@ -626,7 +617,7 @@ Walker2 = XObject.define(
                          //   (this.ts.lookTok(-4).tokN == Script.TOKidentifier)
                         ) {
                         //scopeName = this.ts.look(-3).data;
-                        this.ts.balanceN('(');
+                        this.ts.balance('(');
                         token = this.ts.nextTok(); // should be {
                         var fnScope = new Scope(this.braceNesting, scope, token.n, '$private$');
                         this.indexedScopes[this.ts.cursor] = fnScope;
@@ -641,8 +632,12 @@ Walker2 = XObject.define(
                     }
                     
                     
-                    print(this.ts.context());
-                    throw "dont know how to handle function syntax??";
+                    throw {
+                        name: "ArgumentError", 
+                        message: "dont know how to handle function syntax??\n" +
+                                token.toString()
+                    };
+            
                     
                     continue;
                     
@@ -744,7 +739,7 @@ Walker2 = XObject.define(
          
         addSymbol: function(lastIdent, appendIt, atype )
         {
-            print("Walker.addSymbol : " + lastIdent);
+            //print("Walker.addSymbol : " + lastIdent);
             
             /*if (!this.currentDoc.tags.length) {
                 
@@ -762,7 +757,7 @@ Walker2 = XObject.define(
               
                 //print(this.currentDoc.toSource());
                  this.currentDoc = false;
-                print("SKIP ADD SYM:  it's private");
+                //print("SKIP ADD SYM:  it's private");
                 return;
             }
             
@@ -773,7 +768,7 @@ Walker2 = XObject.define(
           //  print(this.currentDoc.toSource(););
             if (this.currentDoc.getTag('event').length) {
                 //?? why does it end up in desc - and not name/...
-                print(this.currentDoc.getTag('event')[0]);
+                //print(this.currentDoc.getTag('event')[0]);
                 lastIdent = '*' + this.currentDoc.getTag('event')[0].desc;
                 //lastIdent = '*' + lastIdent ;
             }
@@ -794,7 +789,7 @@ Walker2 = XObject.define(
                 s.push(lastIdent);
                 
                 var s = s.join('|').split('|');
-               print("Walker:ADDSymbol: " + s.join('|') );
+               //print("Walker:ADDSymbol: " + s.join('|') );
                 var _t = '';
                  _s = '';
                 
@@ -821,7 +816,7 @@ Walker2 = XObject.define(
                 
                 /// calc scope!!
                 //print("ADDING SYMBOL: "+ s.join('|') +"\n"+ _s + "\n" +Script.prettyDump(this.currentDoc.toSource()));
-                print("Walker.addsymbol - add : " + _s);
+                //print("Walker.addsymbol - add : " + _s);
                 if (appendIt && !lastIdent.length) {
                     
                     // append, and no symbol???
@@ -843,10 +838,16 @@ Walker2 = XObject.define(
                     
                     _s = _s.replace(/\.prototype.*$/, '');
                     if (typeof(this.symbols[_s]) == 'undefined') {
-                        print("Symbol:" + _s);
-                        print(this.currentDoc.src);
-                        
-                        throw "Trying to append symbol, but no doc available";
+                        //print("Symbol:" + _s);
+                    //print(this.currentDoc.src);
+                        
+                        throw {
+                            name: "ArgumentError", 
+                            message: "Trying to append symbol '" + _s + "', but no doc available\n" +
+                                token.toString()
+                        };
+
+                     
                     }
                         
                     for (var i =0; i < this.currentDoc.tags.length;i++) {
@@ -856,28 +857,28 @@ Walker2 = XObject.define(
                     return;
                 }
             }    
-            print("Walker.addsymbol - chkdup: " + _s);
+            //print("Walker.addsymbol - chkdup: " + _s);
             if (typeof(this.symbols[_s]) != 'undefined') {
                 
                 if (this.symbols[_s].comment.hasTags) {
                     // then existing comment doesnt has tags 
-                    throw {
-                        name: "ArgumentError", 
-                        message:"DUPLICATE Symbol " + _s
-                    };
-                     
+                    //throw {
+                    //    name: "ArgumentError", 
+                     //   message:"DUPLICATE Symbol " + _s + "\n" + token.toString()
+                    //};
+                    return;
                 }
                 // otherwise existing comment has tags - overwrite..
                 
                 
             }
-            print("Walker.addsymbol - ATYPE: " + _s);
+            //print("Walker.addsymbol - ATYPE: " + _s);
 
             if (typeof(atype) == "undefined") {
                 atype = 'OBJECT'; //this.currentDoc.getTag('class').length ? 'OBJECT' : 'FUNCTION';;
                }
             
-            print("Walker.addsymbol - add : ");
+            //print("Walker.addsymbol - add : ");
             var symbol = new Symbol(_s, [], atype, this.currentDoc);
             Parser       = imports.Parser.Parser;
             Parser.addSymbol(symbol);