#[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_tThe embedded base node.
receiver: *mut pm_nodeCallNode#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_tCallNode#call_operator_loc
Represents the location of the call operator.
foo.bar
^ foo&.bar
^^name: pm_constant_id_tCallNode#name
Represents the name of the method being called.
foo.bar # name `:foo`
^^^message_loc: pm_location_tCallNode#message_loc
Represents the location of the message.
foo.bar
^^^opening_loc: pm_location_tCallNode#opening_loc
Represents the location of the left parenthesis. foo(bar) ^
arguments: *mut pm_arguments_nodeCallNode#arguments
Represents the arguments to the method call. These can be any non-void expressions.
foo(bar)
^^^closing_loc: pm_location_tCallNode#closing_loc
Represents the location of the right parenthesis.
foo(bar)
^block: *mut pm_nodeCallNode#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