From: Alan Knowles Date: Thu, 10 Sep 2015 09:48:09 +0000 (+0800) Subject: JSDOC/TextStream.vala X-Git-Url: http://git.roojs.org/?p=gnome.introspection-doc-generator;a=commitdiff_plain;h=a29f04c4dbae66fe32020289a5062077634409cc JSDOC/TextStream.vala --- diff --git a/JSDOC/TextStream.vala b/JSDOC/TextStream.vala index 277b518..cc0c364 100644 --- a/JSDOC/TextStream.vala +++ b/JSDOC/TextStream.vala @@ -29,34 +29,34 @@ namespace JSDOC { this.cursor = 0; } - public char look(int n = 0) { + public TextStreamChar look(int n = 0) { if (this.cursor+n < 0 || this.cursor+n >= this.text.length) { - var result = new String(""); - result.eof = true; - return result; + return new TextStreamChar('\0', true); } - return this.text.charAt(this.cursor+n); + return new TextStreamChar(this.text[this.cursor+n], false); }, - next : function(n) { - if (typeof n == "undefined") n = 1; - if (n < 1) return null; + public TextStreamChar? next(int n = 1) + { + + if (n < 1) { + return null; + } - var pulled = ""; - for (var i = 0; i < n; i++) { - if (this.cursor+i < this.text.length) { - pulled += this.text.charAt(this.cursor+i); - } - else { - var result = new String(""); - result.eof = true; - return result; - } + var pulled = ""; + for (var i = 0; i < n; i++) { + if (this.cursor+i < this.text.length) { + pulled += this.text.charAt(this.cursor+i); + } else { + return new TextStreamChar('\0', true); + } - - this.cursor += n; - return pulled; } + + this.cursor += n; + return new TextStreamChar(pulled, false); + + } }); \ No newline at end of file