Represents a class declaration involving the class keyword.

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

Represents the body of the class.

class Foo
  foo
  ^^^
Read

attr_reader locals: Array

Read

The name of the class.

class Foo end # name `:Foo`
Read

Represents the superclass of the class.

class Foo < Bar
            ^^^
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

def class_keyword: () -> String

Represents the location of the class keyword.

class Foo end
^^^^^

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

def end_keyword: () -> String

Represents the location of the end keyword.

class Foo end
          ^^^

Represents the location of the < operator.

class Foo < Bar
          ^

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.