Struct erg_compiler::hir::BinOp
source · pub struct BinOp {
pub op: Token,
pub lhs: Box<Expr>,
pub rhs: Box<Expr>,
pub info: VarInfo,
}
Fields§
§op: Token
§lhs: Box<Expr>
§rhs: Box<Expr>
§info: VarInfo
Implementations§
Trait Implementations§
source§impl HasType for BinOp
impl HasType for BinOp
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 BinOp
impl Locational for BinOp
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 BinOp
impl NestedDisplay for BinOp
source§impl NoTypeDisplay for BinOp
impl NoTypeDisplay for BinOp
fn to_string_notype(&self) -> String
source§impl PartialEq<BinOp> for BinOp
impl PartialEq<BinOp> for BinOp
impl Eq for BinOp
impl StructuralEq for BinOp
impl StructuralPartialEq for BinOp
Auto Trait Implementations§
impl !RefUnwindSafe for BinOp
impl !Send for BinOp
impl !Sync for BinOp
impl Unpin for BinOp
impl !UnwindSafe for BinOp
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