Struct lib_ruby_parser::nodes::CSend [−][src]
#[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 = 42
dot_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
Auto Trait Implementations
impl RefUnwindSafe for CSendimpl UnwindSafe for CSendBlanket Implementations
Mutably borrows from an owned value. Read more