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>
pub fn return_t(&self) -> Option<&Type>
Trait Implementations§
source§impl HasType for Call
impl HasType for Call
fn ref_t(&self) -> &Type
source§fn ref_mut_t(&mut self) -> &mut Type
fn ref_mut_t(&mut self) -> &mut Type
x.ref_mut_t()
may panic, in which case x
is Call
and x.ref_t() == Type::Failure
.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.fn ln_begin(&self) -> Option<u32>
fn ln_end(&self) -> Option<u32>
fn col_begin(&self) -> Option<u32>
fn col_end(&self) -> Option<u32>
source§impl NestedDisplay for Call
impl NestedDisplay for Call
source§impl NoTypeDisplay for Call
impl NoTypeDisplay for Call
fn to_string_notype(&self) -> String
source§impl PartialEq<Call> for Call
impl PartialEq<Call> for Call
impl Eq for Call
impl StructuralEq for Call
impl StructuralPartialEq for Call
Auto Trait Implementations§
impl !RefUnwindSafe for Call
impl !Send for Call
impl !Sync for Call
impl Unpin for Call
impl !UnwindSafe for Call
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more