Class: Yoda::Typing::Context::TraceStore

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

Defined Under Namespace

Classes: ParserNodeWrapper

Instance Method Summary collapse

Constructor Details

#initializeTraceStore

Returns a new instance of TraceStore.



57
58
59
# File 'lib/yoda/typing/context.rb', line 57

def initialize
  @traces = {}
end

Instance Method Details

#bind_trace(node, trace) ⇒ Object

Parameters:

  • node (::AST::Node)
  • trace (Trace::Base)


69
70
71
# File 'lib/yoda/typing/context.rb', line 69

def bind_trace(node, trace)
  @traces[node.is_a?(::Parser::AST::Node) ? ParserNodeWrapper.new(node) : node] = trace
end

#find_trace(node) ⇒ Trace::Base?

Parameters:

  • node (::AST::Node)

Returns:

  • (Trace::Base, nil)


63
64
65
# File 'lib/yoda/typing/context.rb', line 63

def find_trace(node)
  @traces[node.is_a?(::Parser::AST::Node) ? ParserNodeWrapper.new(node) : node]
end