We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2f8be7d commit d03c04bCopy full SHA for d03c04b
src/libsyntax/parse/lexer.rs
@@ -4,7 +4,7 @@ import diagnostic;
4
import ast::{tt_delim,tt_flat};
5
6
export reader, string_reader, new_string_reader, is_whitespace;
7
-export tt_reader, new_tt_reader;
+export tt_reader, new_tt_reader, dup_tt_reader;
8
export nextch, is_eof, bump, get_str_from;
9
export string_reader_as_reader, tt_reader_as_reader;
10
@@ -49,6 +49,22 @@ fn new_tt_reader(span_diagnostic: diagnostic::span_handler,
49
ret r;
50
}
51
52
+pure fn dup_tt_frame(&&f: tt_frame) -> tt_frame {
53
+ @{readme: f.readme, mut idx: f.idx,
54
+ up: alt f.up {
55
+ tt_frame_up(o_f) {
56
+ tt_frame_up(option::map(o_f, dup_tt_frame))
57
+ }
58
59
60
+}
61
+
62
+pure fn dup_tt_reader(&&r: tt_reader) -> tt_reader {
63
+ @{span_diagnostic: r.span_diagnostic, interner: r.interner,
64
+ mut cur: dup_tt_frame(r.cur),
65
+ mut cur_tok: r.cur_tok, mut cur_chpos: r.cur_chpos}
66
67
68
type string_reader = @{
69
span_diagnostic: diagnostic::span_handler,
70
src: @str,
0 commit comments