Macro ra_ap_syntax::match_ast
source · [−]macro_rules! match_ast {
(match $node:ident { $($tt:tt)* }) => { ... };
(match ($node:expr) {
$( $( $path:ident )::+ ($it:pat) => $res:expr, )*
_ => $catch_all:expr $(,)?
}) => { ... };
}
Expand description
Matches a SyntaxNode
against an ast
type.
Example:
ⓘ
match_ast! {
match node {
ast::CallExpr(it) => { ... },
ast::MethodCallExpr(it) => { ... },
ast::MacroCall(it) => { ... },
_ => None,
}
}