#[macro_export]
#[doc(hidden)]
macro_rules! parse_bracketed {
(
$lexer: ident,
$errors: ident,
$error_message: literal,
$opening: pat,
$closing: expr,
) => {{
maybe_next_token!($lexer, __opening_bracket, $opening);
if let Some(__opening_bracket) = __opening_bracket {
$crate::types::Bracketed::<_>::parse_with(
__opening_bracket,
$lexer,
$errors,
($error_message, $closing),
)
} else {
None
}
}};
}
#[macro_export]
#[doc(hidden)]
macro_rules! force_parse_bracketed {
(
$lexer: ident,
$errors: ident,
$error_message: literal,
($opening: pat, $opening_replacement: expr),
$closing: expr,
) => {{
next_token_recoverable!(
$lexer,
__opening_bracket,
$opening,
$opening_replacement,
$errors,
$error_message
);
$crate::types::Bracketed::<_>::parse_with(
__opening_bracket,
$lexer,
$errors,
($error_message, $closing),
)
.unwrap_or_else(|| $crate::types::Bracketed {
opening_bracket: Token::empty($opening_replacement),
item: Default::default(),
closing_bracket: Token::empty($closing.into()),
})
}};
}