Skip to content

Commit 48d2c0b

Browse files
committed
syntax: Rename variants of SyntaxExtension for consistency
1 parent a9397fd commit 48d2c0b

File tree

12 files changed

+65
-70
lines changed

12 files changed

+65
-70
lines changed

src/librustc_metadata/creader.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ impl<'a> CrateLoader<'a> {
614614
match decl {
615615
ProcMacro::CustomDerive { trait_name, attributes, client } => {
616616
let attrs = attributes.iter().cloned().map(Symbol::intern).collect::<Vec<_>>();
617-
(trait_name, SyntaxExtension::ProcMacroDerive(
617+
(trait_name, SyntaxExtension::Derive(
618618
Box::new(ProcMacroDerive {
619619
client,
620620
attrs: attrs.clone(),
@@ -624,13 +624,13 @@ impl<'a> CrateLoader<'a> {
624624
))
625625
}
626626
ProcMacro::Attr { name, client } => {
627-
(name, SyntaxExtension::AttrProcMacro(
627+
(name, SyntaxExtension::Attr(
628628
Box::new(AttrProcMacro { client }),
629629
root.edition,
630630
))
631631
}
632632
ProcMacro::Bang { name, client } => {
633-
(name, SyntaxExtension::ProcMacro {
633+
(name, SyntaxExtension::Bang {
634634
expander: Box::new(BangProcMacro { client }),
635635
allow_internal_unstable: None,
636636
edition: root.edition,

src/librustc_metadata/cstore_impl.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ impl cstore::CStore {
430430
use syntax_ext::proc_macro_impl::BangProcMacro;
431431

432432
let client = proc_macro::bridge::client::Client::expand1(proc_macro::quote);
433-
let ext = SyntaxExtension::ProcMacro {
433+
let ext = SyntaxExtension::Bang {
434434
expander: Box::new(BangProcMacro { client }),
435435
allow_internal_unstable: Some(vec![sym::proc_macro_def_site].into()),
436436
edition: data.root.edition,

src/librustc_plugin/registry.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use rustc::lint::{EarlyLintPassObject, LateLintPassObject, LintId, Lint};
44
use rustc::session::Session;
55
use rustc::util::nodemap::FxHashMap;
66

7-
use syntax::ext::base::{SyntaxExtension, NamedSyntaxExtension, NormalTT};
7+
use syntax::ext::base::{SyntaxExtension, NamedSyntaxExtension};
88
use syntax::ext::base::MacroExpanderFn;
99
use syntax::ext::hygiene::Transparency;
1010
use syntax::symbol::{Symbol, sym};
@@ -89,7 +89,7 @@ impl<'a> Registry<'a> {
8989
if name == sym::macro_rules {
9090
panic!("user-defined macros may not be named `macro_rules`");
9191
}
92-
if let NormalTT { def_info: ref mut def_info @ None, .. } = extension {
92+
if let SyntaxExtension::LegacyBang { def_info: ref mut def_info @ None, .. } = extension {
9393
*def_info = Some((ast::CRATE_NODE_ID, self.krate_span));
9494
}
9595
self.syntax_exts.push((name, extension));
@@ -98,10 +98,10 @@ impl<'a> Registry<'a> {
9898
/// Register a macro of the usual kind.
9999
///
100100
/// This is a convenience wrapper for `register_syntax_extension`.
101-
/// It builds for you a `NormalTT` that calls `expander`,
101+
/// It builds for you a `SyntaxExtension::LegacyBang` that calls `expander`,
102102
/// and also takes care of interning the macro's name.
103103
pub fn register_macro(&mut self, name: &str, expander: MacroExpanderFn) {
104-
self.register_syntax_extension(Symbol::intern(name), NormalTT {
104+
self.register_syntax_extension(Symbol::intern(name), SyntaxExtension::LegacyBang {
105105
expander: Box::new(expander),
106106
def_info: None,
107107
transparency: Transparency::SemiTransparent,

src/librustc_resolve/macros.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ impl<'a> base::Resolver for Resolver<'a> {
242242
fn check_unused_macros(&self) {
243243
for did in self.unused_macros.iter() {
244244
let id_span = match *self.macro_map[did] {
245-
SyntaxExtension::NormalTT { def_info, .. } => def_info,
245+
SyntaxExtension::LegacyBang { def_info, .. } => def_info,
246246
_ => None,
247247
};
248248
if let Some((id, span)) = id_span {
@@ -586,7 +586,7 @@ impl<'a> Resolver<'a> {
586586
match self.resolve_macro_to_res(derive, MacroKind::Derive,
587587
&parent_scope, true, force) {
588588
Ok((_, ext)) => {
589-
if let SyntaxExtension::ProcMacroDerive(_, helpers, _) = &*ext {
589+
if let SyntaxExtension::Derive(_, helpers, _) = &*ext {
590590
if helpers.contains(&ident.name) {
591591
let binding =
592592
(Res::NonMacroAttr(NonMacroAttrKind::DeriveHelper),

src/librustdoc/clean/inline.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ fn build_macro(cx: &DocContext<'_>, did: DefId, name: ast::Name) -> clean::ItemE
471471
}
472472
LoadedMacro::ProcMacro(ext) => {
473473
let helpers = match &*ext {
474-
&SyntaxExtension::ProcMacroDerive(_, ref syms, ..) => { syms.clean(cx) }
474+
&SyntaxExtension::Derive(_, ref syms, ..) => { syms.clean(cx) }
475475
_ => Vec::new(),
476476
};
477477

src/librustdoc/passes/collect_intra_doc_links.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ fn macro_resolve(cx: &DocContext<'_>, path_str: &str) -> Option<Res> {
433433
if let Res::Def(DefKind::Macro(MacroKind::ProcMacroStub), _) = res {
434434
// skip proc-macro stubs, they'll cause `get_macro` to crash
435435
} else {
436-
if let SyntaxExtension::NormalTT { .. } = *resolver.get_macro(res) {
436+
if let SyntaxExtension::LegacyBang { .. } = *resolver.get_macro(res) {
437437
return Some(res.map_id(|_| panic!("unexpected id")));
438438
}
439439
}

src/libsyntax/ext/base.rs

+25-30
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
pub use SyntaxExtension::*;
2-
31
use crate::ast::{self, Attribute, Name, PatKind};
42
use crate::attr::HasAttrs;
53
use crate::source_map::{SourceMap, Spanned, respan};
@@ -550,7 +548,7 @@ impl MacroKind {
550548
/// An enum representing the different kinds of syntax extensions.
551549
pub enum SyntaxExtension {
552550
/// A token-based function-like macro.
553-
ProcMacro {
551+
Bang {
554552
/// An expander with signature TokenStream -> TokenStream.
555553
expander: Box<dyn ProcMacro + sync::Sync + sync::Send>,
556554
/// Whitelist of unstable features that are treated as stable inside this macro.
@@ -560,7 +558,7 @@ pub enum SyntaxExtension {
560558
},
561559

562560
/// An AST-based function-like macro.
563-
NormalTT {
561+
LegacyBang {
564562
/// An expander with signature TokenStream -> AST.
565563
expander: Box<dyn TTMacroExpander + sync::Sync + sync::Send>,
566564
/// Some info about the macro's definition point.
@@ -580,7 +578,7 @@ pub enum SyntaxExtension {
580578
},
581579

582580
/// A token-based attribute macro.
583-
AttrProcMacro(
581+
Attr(
584582
/// An expander with signature (TokenStream, TokenStream) -> TokenStream.
585583
/// The first TokenSteam is the attribute itself, the second is the annotated item.
586584
/// The produced TokenSteam replaces the input TokenSteam.
@@ -590,7 +588,7 @@ pub enum SyntaxExtension {
590588
),
591589

592590
/// An AST-based attribute macro.
593-
MultiModifier(
591+
LegacyAttr(
594592
/// An expander with signature (AST, AST) -> AST.
595593
/// The first AST fragment is the attribute itself, the second is the annotated item.
596594
/// The produced AST fragment replaces the input AST fragment.
@@ -605,7 +603,7 @@ pub enum SyntaxExtension {
605603
},
606604

607605
/// A token-based derive macro.
608-
ProcMacroDerive(
606+
Derive(
609607
/// An expander with signature TokenStream -> TokenStream (not yet).
610608
/// The produced TokenSteam is appended to the input TokenSteam.
611609
Box<dyn MultiItemModifier + sync::Sync + sync::Send>,
@@ -616,7 +614,7 @@ pub enum SyntaxExtension {
616614
),
617615

618616
/// An AST-based derive macro.
619-
BuiltinDerive(
617+
LegacyDerive(
620618
/// An expander with signature AST -> AST.
621619
/// The produced AST fragment is appended to the input AST fragment.
622620
Box<dyn MultiItemModifier + sync::Sync + sync::Send>,
@@ -627,41 +625,38 @@ impl SyntaxExtension {
627625
/// Returns which kind of macro calls this syntax extension.
628626
pub fn kind(&self) -> MacroKind {
629627
match *self {
630-
SyntaxExtension::NormalTT { .. } |
631-
SyntaxExtension::ProcMacro { .. } =>
632-
MacroKind::Bang,
633-
SyntaxExtension::NonMacroAttr { .. } |
634-
SyntaxExtension::MultiModifier(..) |
635-
SyntaxExtension::AttrProcMacro(..) =>
636-
MacroKind::Attr,
637-
SyntaxExtension::ProcMacroDerive(..) |
638-
SyntaxExtension::BuiltinDerive(..) =>
639-
MacroKind::Derive,
628+
SyntaxExtension::Bang { .. } |
629+
SyntaxExtension::LegacyBang { .. } => MacroKind::Bang,
630+
SyntaxExtension::Attr(..) |
631+
SyntaxExtension::LegacyAttr(..) |
632+
SyntaxExtension::NonMacroAttr { .. } => MacroKind::Attr,
633+
SyntaxExtension::Derive(..) |
634+
SyntaxExtension::LegacyDerive(..) => MacroKind::Derive,
640635
}
641636
}
642637

643638
pub fn default_transparency(&self) -> Transparency {
644639
match *self {
645-
SyntaxExtension::NormalTT { transparency, .. } => transparency,
646-
SyntaxExtension::ProcMacro { .. } |
647-
SyntaxExtension::AttrProcMacro(..) |
648-
SyntaxExtension::ProcMacroDerive(..) |
640+
SyntaxExtension::LegacyBang { transparency, .. } => transparency,
641+
SyntaxExtension::Bang { .. } |
642+
SyntaxExtension::Attr(..) |
643+
SyntaxExtension::Derive(..) |
649644
SyntaxExtension::NonMacroAttr { .. } => Transparency::Opaque,
650-
SyntaxExtension::MultiModifier(..) |
651-
SyntaxExtension::BuiltinDerive(..) => Transparency::SemiTransparent,
645+
SyntaxExtension::LegacyAttr(..) |
646+
SyntaxExtension::LegacyDerive(..) => Transparency::SemiTransparent,
652647
}
653648
}
654649

655650
pub fn edition(&self, default_edition: Edition) -> Edition {
656651
match *self {
657-
SyntaxExtension::NormalTT { edition, .. } |
658-
SyntaxExtension::ProcMacro { edition, .. } |
659-
SyntaxExtension::AttrProcMacro(.., edition) |
660-
SyntaxExtension::ProcMacroDerive(.., edition) => edition,
652+
SyntaxExtension::Bang { edition, .. } |
653+
SyntaxExtension::LegacyBang { edition, .. } |
654+
SyntaxExtension::Attr(.., edition) |
655+
SyntaxExtension::Derive(.., edition) => edition,
661656
// Unstable legacy stuff
662657
SyntaxExtension::NonMacroAttr { .. } |
663-
SyntaxExtension::MultiModifier(..) |
664-
SyntaxExtension::BuiltinDerive(..) => default_edition,
658+
SyntaxExtension::LegacyAttr(..) |
659+
SyntaxExtension::LegacyDerive(..) => default_edition,
665660
}
666661
}
667662
}

src/libsyntax/ext/expand.rs

+14-12
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
389389
let item = match self.cx.resolver.resolve_macro_path(
390390
path, MacroKind::Derive, Mark::root(), Vec::new(), false) {
391391
Ok(ext) => match *ext {
392-
BuiltinDerive(..) => item_with_markers.clone(),
392+
SyntaxExtension::LegacyDerive(..) => item_with_markers.clone(),
393393
_ => item.clone(),
394394
},
395395
_ => item.clone(),
@@ -548,7 +548,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
548548
_ => unreachable!(),
549549
};
550550

551-
if let NonMacroAttr { mark_used: false } = *ext {} else {
551+
if let SyntaxExtension::NonMacroAttr { mark_used: false } = *ext {} else {
552552
// Macro attrs are always used when expanded,
553553
// non-macro attrs are considered used when the field says so.
554554
attr::mark_used(&attr);
@@ -564,18 +564,18 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
564564
});
565565

566566
match *ext {
567-
NonMacroAttr { .. } => {
567+
SyntaxExtension::NonMacroAttr { .. } => {
568568
attr::mark_known(&attr);
569569
item.visit_attrs(|attrs| attrs.push(attr));
570570
Some(invoc.fragment_kind.expect_from_annotatables(iter::once(item)))
571571
}
572-
MultiModifier(ref mac) => {
572+
SyntaxExtension::LegacyAttr(ref mac) => {
573573
let meta = attr.parse_meta(self.cx.parse_sess)
574574
.map_err(|mut e| { e.emit(); }).ok()?;
575575
let item = mac.expand(self.cx, attr.span, &meta, item);
576576
Some(invoc.fragment_kind.expect_from_annotatables(item))
577577
}
578-
AttrProcMacro(ref mac, ..) => {
578+
SyntaxExtension::Attr(ref mac, ..) => {
579579
self.gate_proc_macro_attr_item(attr.span, &item);
580580
let item_tok = TokenTree::Token(DUMMY_SP, Token::Interpolated(Lrc::new(match item {
581581
Annotatable::Item(item) => token::NtItem(item),
@@ -592,7 +592,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
592592
self.gate_proc_macro_expansion(attr.span, &res);
593593
res
594594
}
595-
ProcMacroDerive(..) | BuiltinDerive(..) => {
595+
SyntaxExtension::Derive(..) | SyntaxExtension::LegacyDerive(..) => {
596596
self.cx.span_err(attr.span, &format!("`{}` is a derive macro", attr.path));
597597
self.cx.trace_macros_diag();
598598
invoc.fragment_kind.dummy(attr.span)
@@ -747,7 +747,7 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
747747
};
748748

749749
let opt_expanded = match *ext {
750-
NormalTT {
750+
SyntaxExtension::LegacyBang {
751751
ref expander,
752752
def_info,
753753
ref allow_internal_unstable,
@@ -774,20 +774,22 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
774774
}
775775
}
776776

777-
MultiModifier(..) | AttrProcMacro(..) | SyntaxExtension::NonMacroAttr { .. } => {
777+
SyntaxExtension::Attr(..) |
778+
SyntaxExtension::LegacyAttr(..) |
779+
SyntaxExtension::NonMacroAttr { .. } => {
778780
self.cx.span_err(path.span,
779781
&format!("`{}` can only be used in attributes", path));
780782
self.cx.trace_macros_diag();
781783
kind.dummy(span)
782784
}
783785

784-
ProcMacroDerive(..) | BuiltinDerive(..) => {
786+
SyntaxExtension::Derive(..) | SyntaxExtension::LegacyDerive(..) => {
785787
self.cx.span_err(path.span, &format!("`{}` is a derive macro", path));
786788
self.cx.trace_macros_diag();
787789
kind.dummy(span)
788790
}
789791

790-
SyntaxExtension::ProcMacro { ref expander, ref allow_internal_unstable, edition } => {
792+
SyntaxExtension::Bang { ref expander, ref allow_internal_unstable, edition } => {
791793
if ident.name != kw::Invalid {
792794
let msg =
793795
format!("macro {}! expects no ident argument, given '{}'", path, ident);
@@ -885,9 +887,9 @@ impl<'a, 'b> MacroExpander<'a, 'b> {
885887
};
886888

887889
match ext {
888-
ProcMacroDerive(expander, ..) | BuiltinDerive(expander) => {
890+
SyntaxExtension::Derive(expander, ..) | SyntaxExtension::LegacyDerive(expander) => {
889891
let meta = match ext {
890-
ProcMacroDerive(..) => ast::MetaItem { // FIXME(jseyfried) avoid this
892+
SyntaxExtension::Derive(..) => ast::MetaItem { // FIXME(jseyfried) avoid this
891893
path: Path::from_ident(Ident::invalid()),
892894
span: DUMMY_SP,
893895
node: ast::MetaItemKind::Word,

src/libsyntax/ext/tt/macro_rules.rs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use crate::{ast, attr};
22
use crate::edition::Edition;
3-
use crate::ext::base::{DummyResult, ExtCtxt, MacResult, SyntaxExtension};
4-
use crate::ext::base::{NormalTT, TTMacroExpander};
3+
use crate::ext::base::{DummyResult, ExtCtxt, MacResult, SyntaxExtension, TTMacroExpander};
54
use crate::ext::expand::{AstFragment, AstFragmentKind};
65
use crate::ext::hygiene::Transparency;
76
use crate::ext::tt::macro_parser::{Success, Error, Failure};
@@ -426,7 +425,7 @@ pub fn compile(
426425
}
427426
});
428427

429-
NormalTT {
428+
SyntaxExtension::LegacyBang {
430429
expander,
431430
def_info: Some((def.id, def.span)),
432431
transparency,

src/libsyntax_ext/deriving/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ macro_rules! derive_traits {
5555
$(
5656
resolver.add_builtin(
5757
ast::Ident::with_empty_ctxt(Symbol::intern($name)),
58-
Lrc::new(SyntaxExtension::BuiltinDerive(Box::new($func)))
58+
Lrc::new(SyntaxExtension::LegacyDerive(Box::new($func)))
5959
);
6060
)*
6161
}

src/libsyntax_ext/lib.rs

+8-7
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ pub mod proc_macro_impl;
4141

4242
use rustc_data_structures::sync::Lrc;
4343
use syntax::ast;
44-
use syntax::ext::base::{MacroExpanderFn, NormalTT, NamedSyntaxExtension, MultiModifier};
44+
45+
use syntax::ext::base::{MacroExpanderFn, NamedSyntaxExtension, SyntaxExtension};
4546
use syntax::ext::hygiene::Transparency;
4647
use syntax::edition::Edition;
4748
use syntax::symbol::{sym, Symbol};
@@ -57,7 +58,7 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver,
5758
macro_rules! register {
5859
($( $name:ident: $f:expr, )*) => { $(
5960
register(Symbol::intern(stringify!($name)),
60-
NormalTT {
61+
SyntaxExtension::LegacyBang {
6162
expander: Box::new($f as MacroExpanderFn),
6263
def_info: None,
6364
transparency: Transparency::SemiTransparent,
@@ -95,13 +96,13 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver,
9596
assert: assert::expand_assert,
9697
}
9798

98-
register(sym::test_case, MultiModifier(Box::new(test_case::expand)));
99-
register(sym::test, MultiModifier(Box::new(test::expand_test)));
100-
register(sym::bench, MultiModifier(Box::new(test::expand_bench)));
99+
register(sym::test_case, SyntaxExtension::LegacyAttr(Box::new(test_case::expand)));
100+
register(sym::test, SyntaxExtension::LegacyAttr(Box::new(test::expand_test)));
101+
register(sym::bench, SyntaxExtension::LegacyAttr(Box::new(test::expand_bench)));
101102

102103
// format_args uses `unstable` things internally.
103104
register(Symbol::intern("format_args"),
104-
NormalTT {
105+
SyntaxExtension::LegacyBang {
105106
expander: Box::new(format::expand_format_args),
106107
def_info: None,
107108
transparency: Transparency::SemiTransparent,
@@ -112,7 +113,7 @@ pub fn register_builtins(resolver: &mut dyn syntax::ext::base::Resolver,
112113
edition,
113114
});
114115
register(sym::format_args_nl,
115-
NormalTT {
116+
SyntaxExtension::LegacyBang {
116117
expander: Box::new(format::expand_format_args_nl),
117118
def_info: None,
118119
transparency: Transparency::SemiTransparent,

0 commit comments

Comments
 (0)