Sha256: e0488acc8e97975a4aa6d011cf1cbd4d38abe0c92ccad0c0c3f72bd9a5f3f48b

Contents?: true

Size: 976 Bytes

Versions: 12

Compression:

Stored size: 976 Bytes

Contents

module Yoda
  module Parsing
    module Scopes
      # Wrapper class for singleton class node.
      # @see https://github.com/whitequark/parser/blob/2.2/doc/AST_FORMAT.md#singleton-class
      # ```
      # (sclass (lvar :a) (nil))
      # "class << a; end"
      #  ~~~~~ keyword
      #        ~~ operator
      #              ~~~ end
      #  ~~~~~~~~~~~~~~~ expression
      # ```
      class SingletonClassDefinition < Base
        def instance_node
          node.children[0]
        end

        def body_nodes
          [body_node]
        end

        def body_node
          node.children.last
        end

        def kind
          :meta_class
        end

        # @return [String]
        def scope_name
          const_node.to_s(parent.scope_name)
        end

        # @param current_location [Location]
        # @return [Namespace, nil]
        def find_evaluation_root_scope(current_location)
          return nil
        end
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.10.0 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.9.0 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.8.0 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.7.2 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.7.1 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.7.0 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.6.2 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.6.1 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.6.0 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.5.0 lib/yoda/parsing/scopes/meta_class_definition.rb
yoda-language-server-0.4.0 lib/yoda/parsing/scopes/meta_class_definition.rb