#[repr(u8)]pub enum BinaryOperator {
Show 22 variants
Equality = 0,
Inequality = 1,
StrictEquality = 2,
StrictInequality = 3,
LessThan = 4,
LessEqualThan = 5,
GreaterThan = 6,
GreaterEqualThan = 7,
Addition = 8,
Subtraction = 9,
Multiplication = 10,
Division = 11,
Remainder = 12,
Exponential = 13,
ShiftLeft = 14,
ShiftRight = 15,
ShiftRightZeroFill = 16,
BitwiseOR = 17,
BitwiseXOR = 18,
BitwiseAnd = 19,
In = 20,
Instanceof = 21,
}
Expand description
Operators used in binary expressions. Does not include logical binary
operators, which are in LogicalOperator
.
§References
Variants§
Equality = 0
==
Inequality = 1
!=
StrictEquality = 2
===
StrictInequality = 3
!==
LessThan = 4
<
LessEqualThan = 5
<=
GreaterThan = 6
>
GreaterEqualThan = 7
>=
Addition = 8
+
Subtraction = 9
-
Multiplication = 10
*
Division = 11
/
Remainder = 12
%
Exponential = 13
**
ShiftLeft = 14
<<
ShiftRight = 15
>>
ShiftRightZeroFill = 16
>>>
BitwiseOR = 17
|
BitwiseXOR = 18
^
BitwiseAnd = 19
&
In = 20
in
Instanceof = 21
instanceof
Implementations§
Source§impl BinaryOperator
impl BinaryOperator
Sourcepub fn is_equality(self) -> bool
pub fn is_equality(self) -> bool
Returns true
for inequality or inequality operarors
Sourcepub fn is_compare(self) -> bool
pub fn is_compare(self) -> bool
Returns true
for logical comparison operators
Sourcepub fn is_arithmetic(self) -> bool
pub fn is_arithmetic(self) -> bool
Returns true
for arithmetic operators
Sourcepub fn is_multiplicative(self) -> bool
pub fn is_multiplicative(self) -> bool
Returns true
for multiplication (*
), division (/
), and remainder
(%
) operators
Sourcepub fn is_relational(self) -> bool
pub fn is_relational(self) -> bool
Returns true
for object relation operators
Sourcepub fn is_instance_of(self) -> bool
pub fn is_instance_of(self) -> bool
Returns true
if this is an In
operator.
Sourcepub fn is_bitwise(self) -> bool
pub fn is_bitwise(self) -> bool
Returns true
for any bitwise operator
Sourcepub fn is_bitshift(self) -> bool
pub fn is_bitshift(self) -> bool
Returns true
for any bitshift operator
Sourcepub fn is_numeric_or_string_binary_operator(self) -> bool
pub fn is_numeric_or_string_binary_operator(self) -> bool
Returns true
for any numeric or string binary operator
Sourcepub fn is_keyword(self) -> bool
pub fn is_keyword(self) -> bool
Returns true
if this operator is a keyword instead of punctuation.
Sourcepub fn compare_inverse_operator(self) -> Option<BinaryOperator>
pub fn compare_inverse_operator(self) -> Option<BinaryOperator>
Try to get the operator that performs the inverse comparison operation.
None
if this is not a comparison operator.
Sourcepub fn equality_inverse_operator(self) -> Option<BinaryOperator>
pub fn equality_inverse_operator(self) -> Option<BinaryOperator>
Try to get the operator that performs the inverse equality operation.
None
if this is not an equality operator.
Sourcepub fn to_assignment_operator(self) -> Option<AssignmentOperator>
pub fn to_assignment_operator(self) -> Option<AssignmentOperator>
Get AssignmentOperator
corresponding to this BinaryOperator
.
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
The string representation of this operator as it appears in source code.
Sourcepub fn lower_precedence(self) -> Precedence
pub fn lower_precedence(self) -> Precedence
Get the operator that has a lower precedence than this operator by a
single level. Use BinaryOperator::precedence
to get the operator
with a higher precedence.
Trait Implementations§
Source§impl Clone for BinaryOperator
impl Clone for BinaryOperator
Source§fn clone(&self) -> BinaryOperator
fn clone(&self) -> BinaryOperator
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl<'new_alloc> CloneIn<'new_alloc> for BinaryOperator
impl<'new_alloc> CloneIn<'new_alloc> for BinaryOperator
Source§type Cloned = BinaryOperator
type Cloned = BinaryOperator
Source§fn clone_in(
&self,
allocator: &'new_alloc Allocator,
) -> <BinaryOperator as CloneIn<'new_alloc>>::Cloned
fn clone_in( &self, allocator: &'new_alloc Allocator, ) -> <BinaryOperator as CloneIn<'new_alloc>>::Cloned
self
into the given allocator
. allocator
may be the same one
that self
is already in.Source§fn clone_in_with_semantic_ids(
&self,
allocator: &'new_alloc Allocator,
) -> <BinaryOperator as CloneIn<'new_alloc>>::Cloned
fn clone_in_with_semantic_ids( &self, allocator: &'new_alloc Allocator, ) -> <BinaryOperator as CloneIn<'new_alloc>>::Cloned
clone_in
, but for some special type, it will also clone the semantic ids.
Please use this method only if you make sure semantic info is synced with the ast node.Source§impl ContentEq for BinaryOperator
impl ContentEq for BinaryOperator
Source§fn content_eq(&self, other: &BinaryOperator) -> bool
fn content_eq(&self, other: &BinaryOperator) -> bool
self
and other
to be equal.Source§fn content_ne(&self, other: &Self) -> bool
fn content_ne(&self, other: &Self) -> bool
self
and other
not to be equal.
The default implementation is almost always
sufficient, and should not be overridden without very good reason.Source§impl Debug for BinaryOperator
impl Debug for BinaryOperator
Source§impl<'a> Dummy<'a> for BinaryOperator
impl<'a> Dummy<'a> for BinaryOperator
Source§fn dummy(allocator: &'a Allocator) -> BinaryOperator
fn dummy(allocator: &'a Allocator) -> BinaryOperator
Create a dummy BinaryOperator
.
Does not allocate any data into arena.
Source§impl ESTree for BinaryOperator
impl ESTree for BinaryOperator
fn serialize<S>(&self, serializer: S)where
S: Serializer,
Source§impl GetPrecedence for BinaryOperator
impl GetPrecedence for BinaryOperator
fn precedence(&self) -> Precedence
Source§impl Hash for BinaryOperator
impl Hash for BinaryOperator
Source§impl PartialEq for BinaryOperator
impl PartialEq for BinaryOperator
impl Copy for BinaryOperator
impl Eq for BinaryOperator
impl StructuralPartialEq for BinaryOperator
Auto Trait Implementations§
impl Freeze for BinaryOperator
impl RefUnwindSafe for BinaryOperator
impl Send for BinaryOperator
impl Sync for BinaryOperator
impl Unpin for BinaryOperator
impl UnwindSafe for BinaryOperator
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
or
a color-specific method, such as OwoColorize::green
, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
or
a color-specific method, such as OwoColorize::on_yellow
, Read more