Class: Yoda::Parsing::Scopes::SingletonClassDefinition

Inherits:
Base
  • Object
show all
Defined in:
lib/yoda/parsing/scopes/meta_class_definition.rb

Overview

Wrapper class for singleton class node.

(sclass (lvar :a) (nil))
"class << a; end"
 ~~~~~ keyword
       ~~ operator
             ~~~ end
 ~~~~~~~~~~~~~~~ expression

Instance Attribute Summary

Attributes inherited from Base

#child_scopes, #method_definitions, #node, #parent

Instance Method Summary collapse

Methods inherited from Base

#ancestor_scopes, #initialize, #inner_location?, #method?

Constructor Details

This class inherits a constructor from Yoda::Parsing::Scopes::Base

Instance Method Details

#body_node ⇒ Object



23
24
25
# File 'lib/yoda/parsing/scopes/meta_class_definition.rb', line 23

def body_node
  node.children.last
end

#body_nodes ⇒ Object



19
20
21
# File 'lib/yoda/parsing/scopes/meta_class_definition.rb', line 19

def body_nodes
  [body_node]
end

#find_evaluation_root_scope(current_location) ⇒ Namespace?

Parameters:

Returns:

  • (Namespace, nil)


38
39
40
# File 'lib/yoda/parsing/scopes/meta_class_definition.rb', line 38

def find_evaluation_root_scope(current_location)
  return nil
end

#instance_node ⇒ Object



15
16
17
# File 'lib/yoda/parsing/scopes/meta_class_definition.rb', line 15

def instance_node
  node.children[0]
end

#kind ⇒ Object



27
28
29
# File 'lib/yoda/parsing/scopes/meta_class_definition.rb', line 27

def kind
  :meta_class
end

#scope_name ⇒ String

Returns:

  • (String)


32
33
34
# File 'lib/yoda/parsing/scopes/meta_class_definition.rb', line 32

def scope_name
  const_node.to_s(parent.scope_name)
end