#[repr(C)]pub struct CSend {
pub recv: Box<Node>,
pub method_name: String,
pub args: Vec<Node>,
pub dot_l: Loc,
pub selector_l: Option<Loc>,
pub begin_l: Option<Loc>,
pub end_l: Option<Loc>,
pub operator_l: Option<Loc>,
pub expression_l: Loc,
}Expand description
Represents conditional method call using &. operator
Fields§
§recv: Box<Node>Receiver of the method call, Int("1") for 1&.foo
method_name: StringName of the method, String("foo") for 1&.foo
args: Vec<Node>List of arguments
foo&.bar(42)
# and also setters like
foo&.bar = 42dot_l: LocLocation of the &. operator
foo&.bar
~~selector_l: Option<Loc>Location of the method name
foo&.bar(42)
~~~None in a very special case when method call is implicit (i.e. foo&.())
begin_l: Option<Loc>Location of the open parenthesis
foo&.bar(42)
~None if there are no parentheses
end_l: Option<Loc>Location of the closing parenthesis
foo&.bar(42)
~None if there are no parentheses
operator_l: Option<Loc>Location of the operator if CSend is a part of assignment like
foo&.bar = 1
~None for a regular call.
expression_l: LocLocation of the full expression
foo&.bar(42)
~~~~~~~~~~~~Trait Implementations§
impl StructuralPartialEq for CSend
Auto Trait Implementations§
impl Freeze for CSend
impl RefUnwindSafe for CSend
impl Send for CSend
impl Sync for CSend
impl Unpin for CSend
impl UnwindSafe for CSend
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