From 4b4f0643157f6eda24ebaad3bdcf06ef2a3cad93 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 15 Apr 2012 04:02:25 -0700 Subject: [PATCH] syntax: lexer doesn't need to store the src length --- src/librustsyntax/parse/lexer.rs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/librustsyntax/parse/lexer.rs b/src/librustsyntax/parse/lexer.rs index 0414e11ab31..d5c1c776c0e 100644 --- a/src/librustsyntax/parse/lexer.rs +++ b/src/librustsyntax/parse/lexer.rs @@ -7,7 +7,6 @@ export reader, new_reader, next_token, is_whitespace; type reader = @{ span_diagnostic: diagnostic::span_handler, src: @str, - len: uint, mut col: uint, mut pos: uint, mut curr: char, @@ -25,12 +24,12 @@ impl reader for reader { ret str::slice(*self.src, start - 1u, self.pos - 1u); } fn next() -> char { - if self.pos < self.len { + if self.pos < (*self.src).len() { ret str::char_at(*self.src, self.pos); } else { ret -1 as char; } } fn bump() { - if self.pos < self.len { + if self.pos < (*self.src).len() { self.col += 1u; self.chpos += 1u; if self.curr == '\n' { @@ -59,12 +58,11 @@ impl reader for reader { fn new_reader(span_diagnostic: diagnostic::span_handler, filemap: codemap::filemap, itr: @interner::interner) -> reader { - let r = @{span_diagnostic: span_diagnostic, - src: filemap.src, len: str::len(*filemap.src), + let r = @{span_diagnostic: span_diagnostic, src: filemap.src, mut col: 0u, mut pos: 0u, mut curr: -1 as char, mut chpos: filemap.start_pos.ch, mut strs: [], filemap: filemap, interner: itr}; - if r.pos < r.len { + if r.pos < (*filemap.src).len() { let next = str::char_range_at(*r.src, r.pos); r.pos = next.next; r.curr = next.ch;