#[doc(hidden)]
#[macro_export]
macro_rules! try_extract_kind {
($ty:expr, $variant:ident) => {
match &$ty.kind {
interoptopus::lang::types::TypeKind::$variant(x) => x,
_ => continue,
}
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! skip_mapped {
($kinds:expr, $id_map:expr, $rust_id:expr) => {
if let Some(cs_id) = $id_map.ty(*$rust_id) {
if $kinds.contains(&cs_id) {
continue;
}
}
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! try_resolve {
($option:expr, $pass_meta:expr, $info:expr, $missing:expr) => {
match $option {
Some(val) => val,
None => {
$pass_meta.lost_found.missing($info, $missing);
continue;
}
}
};
}