Sha256: 962496839c198c8bf4641395524d97f4b9bb7af926c8c5e67129101b91448d33

Contents?: true

Size: 751 Bytes

Versions: 12

Compression:

Stored size: 751 Bytes

Contents

module Yoda
  module Typing
    class LexicalScope
      # @return [Store::Objects::Base]
      attr_reader :namespace

      # @return [Array<Path>]
      attr_reader :ancestor_paths

      # @param namespace [Store::Objects::Base]
      # @param ancestor_names [Array<Path>]
      def initialize(namespace, ancestor_paths)
        @namespace = namespace
        @ancestor_paths = ancestor_paths
      end

      # @param registry [Store::Registry]
      # @param constant_name [String]
      # @return [Store::Objects::Base, nil]
      def find_constant(registry, constant_name)
        scoped_path = Model::ScopedPath.new(ancestor_paths, constant_name)
        Store::Query::FindConstant.new(registry).find(scoped_path)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

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