pm_call_and_write_node_t

Type Alias pm_call_and_write_node_t 

Source
pub type pm_call_and_write_node_t = pm_call_and_write_node;
Expand description

CallAndWriteNode

Represents the use of the &&= operator on a call.

 foo.bar &&= value
 ^^^^^^^^^^^^^^^^^

Type: ::PM_CALL_AND_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_and_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_node

The embedded base node.

§receiver: *mut pm_node

CallAndWriteNode#receiver

The object that the method is being called on. This can be either nil or any non-void expression.

 foo.bar &&= value
 ^^^
§call_operator_loc: pm_location_t

CallAndWriteNode#call_operator_loc

Represents the location of the call operator.

 foo.bar &&= value
    ^
§message_loc: pm_location_t

CallAndWriteNode#message_loc

Represents the location of the message.

 foo.bar &&= value
     ^^^
§read_name: u32

CallAndWriteNode#read_name

Represents the name of the method being called.

 foo.bar &&= value # read_name `:bar`
     ^^^
§write_name: u32

CallAndWriteNode#write_name

Represents the name of the method being written to.

 foo.bar &&= value # write_name `:bar=`
     ^^^
§operator_loc: pm_location_t

CallAndWriteNode#operator_loc

Represents the location of the operator.

 foo.bar &&= value
         ^^^
§value: *mut pm_node

CallAndWriteNode#value

Represents the value being assigned.

 foo.bar &&= value
             ^^^^^