diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-05-10 07:24:56 -0700 | 
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-05-18 20:00:50 -0700 | 
| commit | 0f969da8824c4a2a25f67a1576907e7de985d97c (patch) | |
| tree | c967d51eaa10d6de2219c0d70bb94f8ee13cc653 /src/librustsyntax/parse/parser.rs | |
| parent | cf6ad6d62ab6846aa389684a220bfd8ed56570f3 (diff) | |
| download | rust-0f969da8824c4a2a25f67a1576907e7de985d97c.tar.gz rust-0f969da8824c4a2a25f67a1576907e7de985d97c.zip  | |
port some code to use dvec
Diffstat (limited to 'src/librustsyntax/parse/parser.rs')
| -rw-r--r-- | src/librustsyntax/parse/parser.rs | 11 | 
1 files changed, 6 insertions, 5 deletions
diff --git a/src/librustsyntax/parse/parser.rs b/src/librustsyntax/parse/parser.rs index eb25660b45f..48d31a8c35c 100644 --- a/src/librustsyntax/parse/parser.rs +++ b/src/librustsyntax/parse/parser.rs @@ -13,6 +13,7 @@ import attr::{parse_outer_attrs_or_ext, parse_outer_attributes, parse_optional_meta}; import common::*; +import dvec::{dvec, extensions}; export expect; export file_type; @@ -54,7 +55,7 @@ type parser = @{ mut token: token::token, mut span: span, mut last_span: span, - mut buffer: [{tok: token::token, span: span}], + buffer: dvec<{tok: token::token, span: span}>, mut restriction: restriction, reader: reader, keywords: hashmap<str, ()>, @@ -64,12 +65,12 @@ type parser = @{ impl parser for parser { fn bump() { self.last_span = self.span; - if vec::len(self.buffer) == 0u { + if self.buffer.len() == 0u { let next = lexer::next_token(self.reader); self.token = next.tok; self.span = mk_sp(next.chpos, self.reader.chpos); } else { - let next = vec::shift(self.buffer); + let next = self.buffer.shift(); self.token = next.tok; self.span = next.span; } @@ -79,10 +80,10 @@ impl parser for parser { self.span = mk_sp(lo, hi); } fn look_ahead(distance: uint) -> token::token { - while vec::len(self.buffer) < distance { + while self.buffer.len() < distance { let next = lexer::next_token(self.reader); let sp = mk_sp(next.chpos, self.reader.chpos); - vec::push(self.buffer, {tok: next.tok, span: sp}); + self.buffer.push({tok: next.tok, span: sp}); } ret self.buffer[distance - 1u].tok; }  | 
