Sha256: 6260d6953799967664a000779b4a962e0eaa52ace51bf8b59c9be64549c17d47

Contents?: true

Size: 949 Bytes

Versions: 4

Compression:

Stored size: 949 Bytes

Contents

module Yoda
  module Typing
    class ConstantResolver
      class NodeTracer
        # @return [AST::Node]
        attr_reader :node

        # @return [Inferencer::Tracer]
        attr_reader :tracer

        # @param node [AST::Node]
        # @param tracer [Inferencer::Tracer]
        def initialize(node:, tracer:)
          @node = node
          @tracer = tracer
        end

        # @param type [Types::Base]
        # @param context [Contexts::BaseContext]
        def bind_type(type:, context:)
          tracer.bind_type(node: node, type: type, context: context)
        end

        # @param context [Contexts::BaseContext]
        def bind_context(context:)
          tracer.bind_context(node: node, context: context)
        end

        # @param constants [Array<Store::Objects::Base>]
        def bind_constants(constants:)
          tracer.bind_constants(node: node, constants: constants)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
yoda-language-server-0.10.1 lib/yoda/typing/constant_resolver/node_tracer.rb
yoda-language-server-0.10.0 lib/yoda/typing/constant_resolver/node_tracer.rb
yoda-language-server-0.9.0 lib/yoda/typing/constant_resolver/node_tracer.rb
yoda-language-server-0.8.0 lib/yoda/typing/constant_resolver/node_tracer.rb