use crate::expr::Kind;
#[derive(Debug, Clone)]
pub struct Signature {
pub returns: Kind,
}
impl Signature {
pub fn new() -> Self {
Self {
returns: Kind::Any,
}
}
pub fn arg(self, _name: &'static str, _kind: Kind) -> Self {
self
}
pub fn optional(self, _name: &'static str, _kind: Kind) -> Self {
self
}
pub fn variadic(self, _kind: Kind) -> Self {
self
}
pub fn returns(mut self, kind: Kind) -> Self {
self.returns = kind;
self
}
}
impl Default for Signature {
fn default() -> Self {
Self::new()
}
}