Sha256: e344dc8077f785d188c7786500bdd80a7ac44e5690e1ec508833d92d8efeb778

Contents?: true

Size: 472 Bytes

Versions: 2

Compression:

Stored size: 472 Bytes

Contents

module Yoda
  module Typing
    module Tree
      module NamespaceInferable
        # @!method node
        #   @return [AST::ModuleNode, AST::ClassNode]

        # @return [Types::Type]
        def infer_namespace
          namespace_type = infer_child(node.receiver)

          new_context = context.derive_class_context(class_type: namespace_type)
          infer_child(node.body, context: new_context)

          namespace_type
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/typing/tree/namespace_inferable.rb
yoda-language-server-0.10.0 lib/yoda/typing/tree/namespace_inferable.rb