Struct erg_compiler::hir::Call
source · pub struct Call {
pub obj: Box<Expr>,
pub attr_name: Option<Identifier>,
pub args: Args,
}
Fields§
§obj: Box<Expr>
§attr_name: Option<Identifier>
§args: Args
Implementations§
source§impl Call
impl Call
pub fn new(obj: Expr, attr_name: Option<Identifier>, args: Args) -> Self
pub fn is_method_call(&self) -> bool
pub fn additional_operation(&self) -> Option<OperationKind>
Trait Implementations§
source§impl HasType for Call
impl HasType for Call
fn ref_t(&self) -> &Type
fn ref_mut_t(&mut self) -> &mut Type
fn lhs_t(&self) -> &Type
fn rhs_t(&self) -> &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>
source§impl Locational for Call
impl Locational for Call
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.