#[repr(C)]pub struct pm_call_node {
pub base: pm_node_t,
pub receiver: *mut pm_node,
pub call_operator_loc: pm_location_t,
pub name: pm_constant_id_t,
pub message_loc: pm_location_t,
pub opening_loc: pm_location_t,
pub arguments: *mut pm_arguments_node,
pub closing_loc: pm_location_t,
pub block: *mut pm_node,
}
Expand description
CallNode
Represents a method call, in all of the various forms that can take.
foo
^^^
foo()
^^^^^
+foo
^^^^
foo + bar
^^^^^^^^^
foo.bar
^^^^^^^
foo&.bar
^^^^^^^^
Type: ::PM_CALL_NODE
Flags (#pm_call_node_flags):
- ::PM_CALL_NODE_FLAGS_SAFE_NAVIGATION
- ::PM_CALL_NODE_FLAGS_VARIABLE_CALL
- ::PM_CALL_NODE_FLAGS_ATTRIBUTE_WRITE
- ::PM_CALL_NODE_FLAGS_IGNORE_VISIBILITY
@extends pm_node_t
Fields§
§base: pm_node_t
The embedded base node.
receiver: *mut pm_node
CallNode#receiver
The object that the method is being called on. This can be either nil
or any non-void expression.
foo.bar
^^^
+foo
^^^
foo + bar
^^^
call_operator_loc: pm_location_t
CallNode#call_operator_loc
Represents the location of the call operator.
foo.bar
^
foo&.bar
^^
name: pm_constant_id_t
CallNode#name
Represents the name of the method being called.
foo.bar # name `:foo`
^^^
message_loc: pm_location_t
CallNode#message_loc
Represents the location of the message.
foo.bar
^^^
opening_loc: pm_location_t
CallNode#opening_loc
Represents the location of the left parenthesis. foo(bar) ^
arguments: *mut pm_arguments_node
CallNode#arguments
Represents the arguments to the method call. These can be any non-void expressions.
foo(bar)
^^^
closing_loc: pm_location_t
CallNode#closing_loc
Represents the location of the right parenthesis.
foo(bar)
^
block: *mut pm_node
CallNode#block
Represents the block that is being passed to the method.
foo { |a| a }
^^^^^^^^^
Trait Implementations§
Source§impl Clone for pm_call_node
impl Clone for pm_call_node
Source§fn clone(&self) -> pm_call_node
fn clone(&self) -> pm_call_node
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more