diff options
| author | Graydon Hoare <graydon@mozilla.com> | 2012-12-12 17:08:09 -0800 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2012-12-12 17:08:09 -0800 |
| commit | 9a4c669867765d42bdd13fc09eb9a32b7a667a43 (patch) | |
| tree | 64a4ba0ae49ece9b0a1b29c112d0a5b21fba7efe /src/libsyntax/print | |
| parent | e24ae85025e40aa17915f6c604d89aefbca274bd (diff) | |
| download | rust-9a4c669867765d42bdd13fc09eb9a32b7a667a43.tar.gz rust-9a4c669867765d42bdd13fc09eb9a32b7a667a43.zip | |
syntax: remove remaining #syntaxext machinery. Close #3516.
Diffstat (limited to 'src/libsyntax/print')
| -rw-r--r-- | src/libsyntax/print/pp.rs | 4 | ||||
| -rw-r--r-- | src/libsyntax/print/pprust.rs | 35 |
2 files changed, 20 insertions, 19 deletions
diff --git a/src/libsyntax/print/pp.rs b/src/libsyntax/print/pp.rs index 3e9fe805260..d90341254cc 100644 --- a/src/libsyntax/print/pp.rs +++ b/src/libsyntax/print/pp.rs @@ -154,8 +154,7 @@ fn mk_printer(out: io::Writer, linewidth: uint) -> printer { mut top: 0, mut bottom: 0, print_stack: DVec(), - mut pending_indentation: 0, - mut token_tree_last_was_ident: false}) + mut pending_indentation: 0 }) } @@ -261,7 +260,6 @@ type printer_ = { print_stack: DVec<print_stack_elt>, // buffered indentation to avoid writing trailing whitespace mut pending_indentation: int, - mut token_tree_last_was_ident: bool }; enum printer { diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs index 684f74f3575..fa384341fb9 100644 --- a/src/libsyntax/print/pprust.rs +++ b/src/libsyntax/print/pprust.rs @@ -118,6 +118,10 @@ fn tt_to_str(tt: ast::token_tree, intr: @ident_interner) -> ~str { to_str(tt, print_tt, intr) } +fn tts_to_str(tts: &[ast::token_tree], intr: @ident_interner) -> ~str { + to_str(tts, print_tts, intr) +} + fn stmt_to_str(s: ast::stmt, intr: @ident_interner) -> ~str { to_str(s, print_stmt, intr) } @@ -584,9 +588,7 @@ fn print_item(s: ps, &&item: @ast::item) { print_ident(s, item.ident); cbox(s, indent_unit); popen(s); - for (*tts).each |tt| { - print_tt(s, *tt); - } + print_tts(s, *tts); pclose(s); end(s); } @@ -736,17 +738,9 @@ fn print_struct(s: ps, struct_def: @ast::struct_def, tps: ~[ast::ty_param], /// expression arguments as expressions). It can be done! I think. fn print_tt(s: ps, tt: ast::token_tree) { match tt { - ast::tt_delim(ref tts) => - for (*tts).each() |tt_elt| { print_tt(s, *tt_elt); }, + ast::tt_delim(ref tts) => print_tts(s, *tts), ast::tt_tok(_, ref tk) => { - match (*tk) { - parse::token::IDENT(*) => { // don't let idents run together - if s.s.token_tree_last_was_ident { word(s.s, ~" ") } - s.s.token_tree_last_was_ident = true; - } - _ => { s.s.token_tree_last_was_ident = false; } - } - word(s.s, parse::token::to_str(s.intr, (*tk))); + word(s.s, parse::token::to_str(s.intr, (*tk))); } ast::tt_seq(_, ref tts, ref sep, zerok) => { word(s.s, ~"$("); @@ -757,16 +751,25 @@ fn print_tt(s: ps, tt: ast::token_tree) { None => () } word(s.s, if zerok { ~"*" } else { ~"+" }); - s.s.token_tree_last_was_ident = false; } ast::tt_nonterminal(_, name) => { word(s.s, ~"$"); print_ident(s, name); - s.s.token_tree_last_was_ident = true; } } } +fn print_tts(s: ps, &&tts: &[ast::token_tree]) { + ibox(s, 0); + for tts.eachi |i, tt| { + if i != 0 { + space(s.s); + } + print_tt(s, *tt); + } + end(s); +} + fn print_variant(s: ps, v: ast::variant) { print_visibility(s, v.node.vis); match v.node.kind { @@ -1001,7 +1004,7 @@ fn print_mac(s: ps, m: ast::mac) { print_path(s, pth, false); word(s.s, ~"!"); popen(s); - for (*tts).each() |tt| { print_tt(s, *tt); } + print_tts(s, *tts); pclose(s); } } |
