X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=JSDOC%2FTokenReader.js;h=e367849a3ef830e00f081e23e0fcb4b54397edc1;hb=88ba937c7fca7d3af4307e87df5ede5217422c75;hp=738078a963af150bd09019a70d68135ea4a27d9c;hpb=c0e48a4b3fb7a07400e261ff3ab7f53e2703a05c;p=gnome.introspection-doc-generator diff --git a/JSDOC/TokenReader.js b/JSDOC/TokenReader.js index 738078a..e367849 100644 --- a/JSDOC/TokenReader.js +++ b/JSDOC/TokenReader.js @@ -149,7 +149,7 @@ TokenReader = XObject.define( */ read_newline : function(/**JSDOC.TokenStream*/stream, tokens) { var found = ""; - + var line = this.line; while (!stream.look().eof && Lang.isNewline(stream.look())) { this.line++; found += stream.next(); @@ -164,11 +164,11 @@ TokenReader = XObject.define( } if (this.keepWhite) { var last = tokens.pop(); - if (last.name != "WHIT") { + if (last && last.name != "WHIT") { tokens.push(last); } - tokens.push(new Token(found, "WHIT", "NEWLINE", this.line)); + tokens.push(new Token(found, "WHIT", "NEWLINE", line)); } return true; }, @@ -180,6 +180,7 @@ TokenReader = XObject.define( if (stream.look() == "/" && stream.look(1) == "*") { var found = stream.next(2); var c = ''; + var line = this.line; while (!stream.look().eof && !(stream.look(-1) == "/" && stream.look(-2) == "*")) { c = stream.next(); if (c == "\n") this.line++; @@ -188,7 +189,7 @@ TokenReader = XObject.define( // to start doclet we allow /** or /*** but not /**/ or /**** if (/^\/\*\*([^\/]|\*[^*])/.test(found) && this.keepDocs) tokens.push(new Token(found, "COMM", "JSDOC", this.line)); - else if (this.keepComments) tokens.push(new Token(found, "COMM", "MULTI_LINE_COMM", this.line)); + else if (this.keepComments) tokens.push(new Token(found, "COMM", "MULTI_LINE_COMM", line)); return true; } return false; @@ -204,7 +205,7 @@ TokenReader = XObject.define( || (stream.look() == "<" && stream.look(1) == "!" && stream.look(2) == "-" && stream.look(3) == "-" && (found=stream.next(4))) ) { - + var line = this.line; while (!stream.look().eof && !Lang.isNewline(stream.look())) { found += stream.next(); } @@ -212,7 +213,7 @@ TokenReader = XObject.define( found += stream.next(); } if (this.keepComments) { - tokens.push(new Token(found, "COMM", "SINGLE_LINE_COMM", this.line)); + tokens.push(new Token(found, "COMM", "SINGLE_LINE_COMM", line)); } this.line++; return true;