Class: Yoda::Typing::ConstantResolver::NodeTracer

Inherits:
Object
  • Object
show all
Defined in:
lib/yoda/typing/constant_resolver/node_tracer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node:, tracer:) ⇒ NodeTracer

Returns a new instance of NodeTracer.

Parameters:



13
14
15
16
# File 'lib/yoda/typing/constant_resolver/node_tracer.rb', line 13

def initialize(node:, tracer:)
  @node = node
  @tracer = tracer
end

Instance Attribute Details

#nodeAST::Node (readonly)

Returns:



6
7
8
# File 'lib/yoda/typing/constant_resolver/node_tracer.rb', line 6

def node
  @node
end

#tracerInferencer::Tracer (readonly)

Returns:



9
10
11
# File 'lib/yoda/typing/constant_resolver/node_tracer.rb', line 9

def tracer
  @tracer
end

Instance Method Details

#bind_constants(constants:) ⇒ Object

Parameters:



30
31
32
# File 'lib/yoda/typing/constant_resolver/node_tracer.rb', line 30

def bind_constants(constants:)
  tracer.bind_constants(node: node, constants: constants)
end

#bind_context(context:) ⇒ Object

Parameters:



25
26
27
# File 'lib/yoda/typing/constant_resolver/node_tracer.rb', line 25

def bind_context(context:)
  tracer.bind_context(node: node, context: context)
end

#bind_type(type:, context:) ⇒ Object

Parameters:



20
21
22
# File 'lib/yoda/typing/constant_resolver/node_tracer.rb', line 20

def bind_type(type:, context:)
  tracer.bind_type(node: node, type: type, context: context)
end