Represents a class declaration involving the ‘class` keyword.

class Foo end
^^^^^^^^^^^^^
Attributes
Read

attr_reader locals: Array

Read

attr_reader superclass: Prism::node?

Read

attr_reader body: StatementsNode | BeginNode | nil

Read

attr_reader name: Symbol

Class Methods

Initialize a new ClassNode node.

Return a symbol representation of this node type. See ‘Node::type`.

Instance Methods

Implements case-equality for the node. This is effectively == but without comparing the value of locations. Locations are checked only for presence.

def accept: (Visitor visitor) -> void

def child_nodes: () -> Array[nil | Node]

def class_keyword: () -> String

def comment_targets: () -> Array[Node | Location]

def copy: (?node_id: Integer, ?location: Location, ?flags: Integer, ?locals: Array, ?class_keyword_loc: Location, ?constant_path: ConstantReadNode | ConstantPathNode | CallNode, ?inheritance_operator_loc: Location?, ?superclass: Prism::node?, ?body: StatementsNode | BeginNode | nil, ?end_keyword_loc: Location, ?name: Symbol) -> ClassNode

An alias for child_nodes

def end_keyword: () -> String

attr_reader end_keyword_loc: Location

def inspect -> String

Save the class_keyword_loc location using the given saved source so that it can be retrieved later.

Save the end_keyword_loc location using the given saved source so that it can be retrieved later.

Save the inheritance_operator_loc location using the given saved source so that it can be retrieved later.

Return a symbol representation of this node type. See ‘Node#type`.