diff options
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/base.rs | 7 | ||||
| -rw-r--r-- | src/libsyntax/ext/tt/macro_rules.rs | 4 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/libsyntax/ext/base.rs b/src/libsyntax/ext/base.rs index 9a5c7e86d21..7ff680497bf 100644 --- a/src/libsyntax/ext/base.rs +++ b/src/libsyntax/ext/base.rs @@ -48,7 +48,8 @@ pub struct BasicMacroExpander { pub span: Option<Span> } -pub trait MacroExpander { +/// Represents a thing that maps token trees to Macro Results +pub trait TTMacroExpander { fn expand(&self, ecx: &mut ExtCtxt, span: Span, @@ -60,7 +61,7 @@ pub type MacroExpanderFn = fn(ecx: &mut ExtCtxt, span: codemap::Span, token_tree: &[ast::TokenTree]) -> Box<MacResult>; -impl MacroExpander for BasicMacroExpander { +impl TTMacroExpander for BasicMacroExpander { fn expand(&self, ecx: &mut ExtCtxt, span: Span, @@ -259,7 +260,7 @@ pub enum SyntaxExtension { /// A normal, function-like syntax extension. /// /// `bytes!` is a `NormalTT`. - NormalTT(Box<MacroExpander + 'static>, Option<Span>), + NormalTT(Box<TTMacroExpander + 'static>, Option<Span>), /// A function-like syntax extension that has an extra ident before /// the block. diff --git a/src/libsyntax/ext/tt/macro_rules.rs b/src/libsyntax/ext/tt/macro_rules.rs index 249e9305150..923b3e78731 100644 --- a/src/libsyntax/ext/tt/macro_rules.rs +++ b/src/libsyntax/ext/tt/macro_rules.rs @@ -13,7 +13,7 @@ use ast::{TTDelim}; use ast; use codemap::{Span, Spanned, DUMMY_SP}; use ext::base::{ExtCtxt, MacResult, MacroDef}; -use ext::base::{NormalTT, MacroExpander}; +use ext::base::{NormalTT, TTMacroExpander}; use ext::base; use ext::tt::macro_parser::{Success, Error, Failure}; use ext::tt::macro_parser::{NamedMatch, MatchedSeq, MatchedNonterminal}; @@ -95,7 +95,7 @@ struct MacroRulesMacroExpander { rhses: Vec<Rc<NamedMatch>>, } -impl MacroExpander for MacroRulesMacroExpander { +impl TTMacroExpander for MacroRulesMacroExpander { fn expand(&self, cx: &mut ExtCtxt, sp: Span, |
