diff options
| author | Paul Stansifer <paul.stansifer@gmail.com> | 2012-06-06 12:38:29 -0700 |
|---|---|---|
| committer | Paul Stansifer <paul.stansifer@gmail.com> | 2012-06-15 12:41:41 -0700 |
| commit | 2f8be7dcbb7c5e507051210839e8b58e95d32887 (patch) | |
| tree | 701f6e4903a9235198cef40e0dea8c935394c4da /src/libsyntax/parse | |
| parent | 1e36d216bebc9ae5b1bfd2cd013e7e707199cdf7 (diff) | |
| download | rust-2f8be7dcbb7c5e507051210839e8b58e95d32887.tar.gz rust-2f8be7dcbb7c5e507051210839e8b58e95d32887.zip | |
Bugfix: obey the tt_lexer's own invariants.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/lexer.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs index 51ab3085eaf..ff4c9f5811e 100644 --- a/src/libsyntax/parse/lexer.rs +++ b/src/libsyntax/parse/lexer.rs @@ -4,7 +4,7 @@ import diagnostic; import ast::{tt_delim,tt_flat}; export reader, string_reader, new_string_reader, is_whitespace; -export tt_reader, new_tt_reader; +export tt_reader, new_tt_reader; export nextch, is_eof, bump, get_str_from; export string_reader_as_reader, tt_reader_as_reader; @@ -20,8 +20,8 @@ enum tt_frame_up { /* to break a circularity */ tt_frame_up(option<tt_frame>) } +#[doc = "an unzipping of `token_tree`s"] type tt_frame = @{ - /* invariant: readme[idx] is always a tt_flat */ readme: [ast::token_tree], mut idx: uint, up: tt_frame_up @@ -37,10 +37,10 @@ type tt_reader = @{ }; fn new_tt_reader(span_diagnostic: diagnostic::span_handler, - itr: @interner::interner<@str>, src: ast::token_tree) + itr: @interner::interner<@str>, src: [ast::token_tree]) -> tt_reader { let r = @{span_diagnostic: span_diagnostic, interner: itr, - mut cur: @{readme: [src], mut idx: 0u, + mut cur: @{readme: src, mut idx: 0u, up: tt_frame_up(option::none)}, mut cur_tok: token::EOF, /* dummy value, never read */ mut cur_chpos: 0u /* dummy value, never read */ |
