pm_class_node_t

Type Alias pm_class_node_t 

Source
pub type pm_class_node_t = pm_class_node;
Expand description

ClassNode

Represents a class declaration involving the class keyword.

 class Foo end
 ^^^^^^^^^^^^^

Type: ::PM_CLASS_NODE

@extends pm_node_t

Aliased Type§

#[repr(C)]
pub struct pm_class_node_t { pub base: pm_node, pub locals: pm_constant_id_list_t, pub class_keyword_loc: pm_location_t, pub constant_path: *mut pm_node, pub inheritance_operator_loc: pm_location_t, pub superclass: *mut pm_node, pub body: *mut pm_node, pub end_keyword_loc: pm_location_t, pub name: u32, }

Fields§

§base: pm_node

The embedded base node.

§locals: pm_constant_id_list_t

ClassNode#locals

§class_keyword_loc: pm_location_t

ClassNode#class_keyword_loc

Represents the location of the class keyword.

 class Foo end
 ^^^^^
§constant_path: *mut pm_node

ClassNode#constant_path

§inheritance_operator_loc: pm_location_t

ClassNode#inheritance_operator_loc

Represents the location of the < operator.

 class Foo < Bar
           ^
§superclass: *mut pm_node

ClassNode#superclass

Represents the superclass of the class.

 class Foo < Bar
             ^^^
§body: *mut pm_node

ClassNode#body

Represents the body of the class.

 class Foo
   foo
   ^^^
§end_keyword_loc: pm_location_t

ClassNode#end_keyword_loc

Represents the location of the end keyword.

 class Foo end
           ^^^
§name: u32

ClassNode#name

The name of the class.

 class Foo end # name `:Foo`