pub type pm_call_or_write_node_t = pm_call_or_write_node;Expand description
CallOrWriteNode
Represents the use of the ||= operator on a call.
foo.bar ||= value
^^^^^^^^^^^^^^^^^Type: ::PM_CALL_OR_WRITE_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
Aliased Type§
#[repr(C)]pub struct pm_call_or_write_node_t {
pub base: pm_node,
pub receiver: *mut pm_node,
pub call_operator_loc: pm_location_t,
pub message_loc: pm_location_t,
pub read_name: u32,
pub write_name: u32,
pub operator_loc: pm_location_t,
pub value: *mut pm_node,
}Fields§
§base: pm_nodeThe embedded base node.
receiver: *mut pm_nodeCallOrWriteNode#receiver
The object that the method is being called on. This can be either nil or any non-void expressions.
foo.bar ||= value
^^^call_operator_loc: pm_location_tCallOrWriteNode#call_operator_loc
Represents the Location of the call operator.
foo.bar ||= value
^message_loc: pm_location_tCallOrWriteNode#message_loc
Represents the Location of the message.
foo.bar ||= value
^^^read_name: u32CallOrWriteNode#read_name
Represents the name of the method being called.
foo.bar ||= value # read_name `:bar`
^^^write_name: u32CallOrWriteNode#write_name
Represents the name of the method being written to.
foo.bar ||= value # write_name `:bar=`
^^^operator_loc: pm_location_tCallOrWriteNode#operator_loc
Represents the Location of the operator.
foo.bar ||= value
^^^value: *mut pm_nodeCallOrWriteNode#value
Represents the value being assigned.
foo.bar ||= value
^^^^^