class Yoda::Parsing::Scopes::ClassDefinition
Wrapper class for class node. @see github.com/whitequark/parser/blob/2.2/doc/AST_FORMAT.md#class “` (class (const nil :Foo) (const nil :Bar) (nil)) “class Foo < Bar; end”
~~~~~ keyword ~~~ end ~ operator ~~~~~~~~~~~~~~~~~~~~ expression
(class (const nil :Foo) nil (nil)) “class Foo; end”
~~~~~ keyword ~~~ end ~~~~~~~~~~~~~~ expression
“`
Public Instance Methods
body_node()
click to toggle source
# File lib/yoda/parsing/scopes/class_definition.rb, line 32 def body_node node.children.last end
body_nodes()
click to toggle source
# File lib/yoda/parsing/scopes/class_definition.rb, line 28 def body_nodes [body_node] end
const_node()
click to toggle source
# File lib/yoda/parsing/scopes/class_definition.rb, line 20 def const_node @const_node ||= NodeObjects::ConstNode.new(node.children[0]) end
kind()
click to toggle source
# File lib/yoda/parsing/scopes/class_definition.rb, line 36 def kind :class end
scope_name()
click to toggle source
@return [String]
# File lib/yoda/parsing/scopes/class_definition.rb, line 41 def scope_name const_node.to_s(parent.scope_name) end
superclass_const_node()
click to toggle source
# File lib/yoda/parsing/scopes/class_definition.rb, line 24 def superclass_const_node @superclass_const_node ||= node.children && NodeObjects::ConstNode.new(node.children[1]) end