Enum erg_compiler::hir::Signature
source · pub enum Signature {
Var(VarSignature),
Subr(SubrSignature),
}
Variants§
Var(VarSignature)
Subr(SubrSignature)
Implementations§
source§impl Signature
impl Signature
pub const fn is_subr(&self) -> bool
pub fn is_const(&self) -> bool
pub fn is_procedural(&self) -> bool
pub fn vis(&self) -> &VisibilityModifier
pub const fn inspect(&self) -> &Str
pub const fn ident(&self) -> &Identifier
pub fn ident_mut(&mut self) -> &mut Identifier
pub fn into_ident(self) -> Identifier
pub const fn name(&self) -> &VarName
pub fn t_spec(&self) -> Option<&TypeSpec>
pub fn params_mut(&mut self) -> Option<&mut Params>
Trait Implementations§
source§impl HasType for Signature
impl HasType for Signature
fn ref_t(&self) -> &Type
fn ref_mut_t(&mut self) -> &mut Type
fn signature_t(&self) -> Option<&Type>
fn signature_mut_t(&mut self) -> Option<&mut Type>
fn t(&self) -> Type
fn inner_ts(&self) -> Vec<Type>
fn lhs_t(&self) -> &Type
fn rhs_t(&self) -> &Type
source§impl Locational for Signature
impl Locational for Signature
source§fn loc(&self) -> Location
fn loc(&self) -> Location
NOTE:
loc
cannot be treated as a light method when self
is a large grammatical element.
If possible, delay the computation by passing &impl Locational
or other means.