about summary refs log tree commit diff
path: root/src/libsyntax_ext/log_syntax.rs
blob: 658ce98d268842bf4ccef0cf51a2e42457412d31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use syntax::ext::base;
use syntax::feature_gate;
use syntax::print;
use syntax::tokenstream;
use syntax_pos;

pub fn expand_syntax_ext<'cx>(cx: &'cx mut base::ExtCtxt<'_>,
                              sp: syntax_pos::Span,
                              tts: &[tokenstream::TokenTree])
                              -> Box<dyn base::MacResult + 'cx> {
    if !cx.ecfg.enable_log_syntax() {
        feature_gate::emit_feature_err(&cx.parse_sess,
                                       "log_syntax",
                                       sp,
                                       feature_gate::GateIssue::Language,
                                       feature_gate::EXPLAIN_LOG_SYNTAX);
    }

    println!("{}", print::pprust::tts_to_string(tts));

    // any so that `log_syntax` can be invoked as an expression and item.
    base::DummyResult::any_valid(sp)
}