JSDOC/Walker2.js
[gnome.introspection-doc-generator] / JSDOC / Walker2.js
index 6bf413c..fd730b2 100644 (file)
@@ -170,11 +170,11 @@ Walker2 = XObject.define(
                         // add it to the current scope????
                         
                         this.addSymbol('', true);
                         // add it to the current scope????
                         
                         this.addSymbol('', true);
-
+                        print ( "Unconsumed Doc: " + token.toString())
                         //throw "Unconsumed Doc (TOKwhitespace): " + this.currentDoc.toSource();
                     }
                     
                         //throw "Unconsumed Doc (TOKwhitespace): " + this.currentDoc.toSource();
                     }
                     
-                    
+                    print ( "NEW COMMENT: " + token.toString())
                     var newDoc = new DocComment(token.data);
                     
                     // it's a scope changer..
                     var newDoc = new DocComment(token.data);
                     
                     // it's a scope changer..
@@ -250,11 +250,7 @@ Walker2 = XObject.define(
                 if (token.type == 'NAME') {
                     
                     //print("TOK(ident)"+ token.toString());
                 if (token.type == 'NAME') {
                     
                     //print("TOK(ident)"+ token.toString());
-                    
-                    
-                       
-                    
-                    
+                     
                     if (/\.extend$/.test(token.data) &&
                         this.ts.lookTok(1).data == '(' &&
                         this.ts.lookTok(2).type == 'NAME' &&
                     if (/\.extend$/.test(token.data) &&
                         this.ts.lookTok(1).data == '(' &&
                         this.ts.lookTok(2).type == 'NAME' &&
@@ -421,19 +417,7 @@ Walker2 = XObject.define(
                     }
                     
 
                     }
                     
 
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
-                    
+                     
                     
                     
                     
                     
                     
                     
@@ -454,6 +438,8 @@ Walker2 = XObject.define(
                         if (((this.ts.lookTok(1).data == ':' )|| (this.ts.lookTok(1).data == '=')) &&
                             (this.ts.lookTok(2).name == "FUNCTION")
                             ) {
                         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';
                         }
                         
                                 atype = 'FUNCTION';
                         }
                         
@@ -464,6 +450,9 @@ Walker2 = XObject.define(
                             false,
                             atype);
                         
                             false,
                             atype);
                         
+                        
+                        
+                        
                     }
                  
                     
                     }
                  
                     
@@ -474,7 +463,7 @@ Walker2 = XObject.define(
                 //print ("NOT NAME");
                 
                 
                 //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');
 
                     if (this.currentDoc) {
                         this.addSymbol(token.data.substring(1,token.data.length-1),false,'OBJECT');
 
@@ -484,13 +473,16 @@ Walker2 = XObject.define(
                 // really we only have to deal with object constructs and function calls that change the scope...
                 
                 
                 // 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...
                     
                     if (this.currentDoc) {
                     //print("GOT FUNCTION");
                     // see if we have an unconsumed doc...
                     
                     if (this.currentDoc) {
-                            print(this.ts.dump(this.ts.cursor-20, this.ts.cursor+20));
-                            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();
                             //this.addSymbol(this.currentDoc.getTag('class')[0].name, true);
 
                             //throw "Unconsumed Doc: (TOKrbrace)" + this.currentDoc.toSource();
@@ -641,8 +633,12 @@ Walker2 = XObject.define(
                     }
                     
                     
                     }
                     
                     
-                    print(this.ts.dump(this.ts.cursor-20, this.ts.cursor+20));
-                    throw "dont know how to handle function syntax??";
+                    throw {
+                        name: "ArgumentError", 
+                        message: "dont know how to handle function syntax??\n" +
+                                token.toString()
+                    };
+            
                     
                     continue;
                     
                     
                     continue;
                     
@@ -844,9 +840,15 @@ Walker2 = XObject.define(
                     _s = _s.replace(/\.prototype.*$/, '');
                     if (typeof(this.symbols[_s]) == 'undefined') {
                         //print("Symbol:" + _s);
                     _s = _s.replace(/\.prototype.*$/, '');
                     if (typeof(this.symbols[_s]) == 'undefined') {
                         //print("Symbol:" + _s);
-                        //print(this.currentDoc.src);
+                    //print(this.currentDoc.src);
                         
                         
-                        throw "Trying to append symbol, but no doc available";
+                        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++) {
                     }
                         
                     for (var i =0; i < this.currentDoc.tags.length;i++) {
@@ -861,11 +863,11 @@ Walker2 = XObject.define(
                 
                 if (this.symbols[_s].comment.hasTags) {
                     // then existing comment doesnt has tags 
                 
                 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..
                 
                 }
                 // otherwise existing comment has tags - overwrite..