X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=JSDOC%2FTokenReader.js;h=99701868e3869a844a55a2b3037f3d6df54c92f5;hb=c818a29b1f18136c5448545255d6cdee76ec1885;hp=58859eb1e9afc8be25ea11c2f7f1e031e450f9e1;hpb=580043761035f2be6f23943caf49acd494aba9a3;p=gnome.introspection-doc-generator diff --git a/JSDOC/TokenReader.js b/JSDOC/TokenReader.js index 58859eb..9970186 100644 --- a/JSDOC/TokenReader.js +++ b/JSDOC/TokenReader.js @@ -23,21 +23,18 @@ TokenReader = XObject.define( }, Object, { - + collapseWhite : false, // only reduces white space... /** * tokenize a stream * @return {Array} of tokens * - * ts = new TextStream(); + * ts = new TextStream(File.read(str)); * tr = TokenReader({ keepComments : true, keepWhite : true }); * tr.tokenize(ts) * */ - @type {JSDOC.Token[]} - - - */ + tokenize : function(/**JSDOC.TextStream*/stream) { @@ -161,8 +158,18 @@ TokenReader = XObject.define( return false; } else { - if (this.collapseWhite) found = "\n"; - if (this.keepWhite) tokens.push(new Token(found, "WHIT", "NEWLINE", this.line)); + if (this.collapseWhite) { + found = "\n"; + } + if (this.keepWhite) { + var last = tokens.shift(); + if (last.name != "WHIT") { + tokens.push(last); + } + + + tokens.push(new Token(found, "WHIT", "NEWLINE", this.line)); + } return true; } },