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)
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
Auto Trait Implementations
impl RefUnwindSafe for CSend
impl UnwindSafe for CSend
Blanket Implementations
Mutably borrows from an owned value. Read more