Enum syntax::ext::tt::macro_parser::NamedMatchUnstable [-] [+] [src]

pub enum NamedMatch {
    MatchedSeq(Vec<Rc<NamedMatch>>, Span),
    MatchedNonterminal(Nonterminal),
}

NamedMatch is a pattern-match result for a single token::MATCH_NONTERMINAL: so it is associated with a single ident in a parse, and all MatchedNonterminals in the NamedMatch have the same nonterminal type (expr, item, etc). Each leaf in a single NamedMatch corresponds to a single token::MATCH_NONTERMINAL in the TokenTree that produced it.

The in-memory structure of a particular NamedMatch represents the match that occurred when a particular subset of a matcher was applied to a particular token tree.

The width of each MatchedSeq in the NamedMatch, and the identity of the MatchedNonterminals, will depend on the token tree it was applied to: each MatchedSeq corresponds to a single TTSeq in the originating token tree. The depth of the NamedMatch structure will therefore depend only on the nesting depth of ast::TTSeqs in the originating token tree it was derived from.

Variants

MatchedSeq
MatchedNonterminal