diff options
| author | Mark-Simulacrum <mark.simulacrum@gmail.com> | 2016-11-07 19:40:00 -0700 |
|---|---|---|
| committer | Mark-Simulacrum <mark.simulacrum@gmail.com> | 2016-11-12 06:42:40 -0700 |
| commit | 68abb24e8d99f0fb7175c2102da3638814b6b2c7 (patch) | |
| tree | eccf320c233d407ba83d61a5efaa687fe215aea5 /src/libsyntax | |
| parent | eef10d0b5b9e0788442fc6c8ecce57ae7f5a4047 (diff) | |
| download | rust-68abb24e8d99f0fb7175c2102da3638814b6b2c7.tar.gz rust-68abb24e8d99f0fb7175c2102da3638814b6b2c7.zip | |
Factor out NamedParseResult.
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/ext/tt/macro_parser.rs | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libsyntax/ext/tt/macro_parser.rs b/src/libsyntax/ext/tt/macro_parser.rs index 9f055f33c3d..29e1ea1d1ed 100644 --- a/src/libsyntax/ext/tt/macro_parser.rs +++ b/src/libsyntax/ext/tt/macro_parser.rs @@ -143,6 +143,8 @@ pub struct MatcherPos { sp_lo: BytePos, } +pub type NamedParseResult = ParseResult<HashMap<Ident, Rc<NamedMatch>>>; + pub fn count_names(ms: &[TokenTree]) -> usize { ms.iter().fold(0, |count, elt| { count + match *elt { @@ -200,8 +202,7 @@ pub enum NamedMatch { MatchedNonterminal(Rc<Nonterminal>) } -fn nameize(ms: &[TokenTree], res: &[Rc<NamedMatch>]) - -> ParseResult<HashMap<Ident, Rc<NamedMatch>>> { +fn nameize(ms: &[TokenTree], res: &[Rc<NamedMatch>]) -> NamedParseResult { fn n_rec(m: &TokenTree, res: &[Rc<NamedMatch>], ret_val: &mut HashMap<Ident, Rc<NamedMatch>>, idx: &mut usize) -> Result<(), (syntax_pos::Span, String)> { @@ -265,8 +266,6 @@ pub fn parse_failure_msg(tok: Token) -> String { } } -pub type NamedParseResult = ParseResult<HashMap<Ident, Rc<NamedMatch>>>; - /// Perform a token equality check, ignoring syntax context (that is, an /// unhygienic comparison) pub fn token_name_eq(t1 : &Token, t2 : &Token) -> bool { |
