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_nodeObject



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

def body_node
  node.children.last
end

#body_nodesObject



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_nodeObject



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

def instance_node
  node.children[0]
end

#kindObject



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

def kind
  :meta_class
end

#scope_nameString

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