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