macro_rules! ctor {
($type:expr, $name:expr, [$($params:expr),*], $desc:expr) => {
CallableItem::constructor($type, $name, &[$($params),*], Some($desc))
};
($type:expr, $name:expr, [], $desc:expr) => {
CallableItem::constructor($type, $name, &[], Some($desc))
};
($type:expr, $name:expr, $($params:expr),*) => {
CallableItem::constructor($type, $name, &[$($params),*], None)
};
($type:expr, $name:expr) => {
CallableItem::constructor($type, $name, &[], None)
};
}
macro_rules! method {
($type:expr, $name:expr, [$($params:expr),*], $desc:expr) => {
CallableItem::instance_method($type, $name, &[$($params),*], Some($desc))
};
($type:expr, $name:expr, [], $desc:expr) => {
CallableItem::instance_method($type, $name, &[], Some($desc))
};
($type:expr, $name:expr, $($params:expr),*) => {
CallableItem::instance_method($type, $name, &[$($params),*], None)
};
($type:expr, $name:expr) => {
CallableItem::instance_method($type, $name, &[], None)
};
}
pub(super) use ctor;
pub(super) use method;