read_space : function(/**JSDOC.TokenStream*/stream, tokens) {
var found = "";
- while (!stream.look().eof && Lang.isSpace(stream.look())) {
- if (Lang.isNewline(stream.look())) break;
+ while (!stream.look().eof && Lang.isSpace(stream.look()) && !Lang.isNewline(stream.look())) {
found += stream.next();
}
if (found === "") {
return false;
}
- print("WHITE = " + JSON.stringify(found));
+ //print("WHITE = " + JSON.stringify(found));
if (this.collapseWhite) found = " ";
if (this.keepWhite) tokens.push(new Token(found, "WHIT", "SPACE", this.line));
return true;
*/
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();
tokens.push(last);
}
- tokens.push(new Token(found, "WHIT", "NEWLINE", this.line));
+ tokens.push(new Token(found, "WHIT", "NEWLINE", line));
}
return true;
},
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++;
// 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;
||
(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();
}
-
+ if (!stream.look().eof) {
+ 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;