Class: SorbetAutoTyper::Tracer
- Inherits:
-
Object
- Object
- SorbetAutoTyper::Tracer
- Defined in:
- lib/sorbet_auto_typer/tracer.rb
Constant Summary collapse
- METHOD_TYPE_INSTANCE =
'instance'- METHOD_TYPE_CLASS =
'class'- OUTPUT_TYPE_CALL =
'C'- OUTPUT_TYPE_RETURN =
'R'- OUTPUT_DELIMITER =
'|'- OUTPUT_TYPE_INNER_LEFT =
'('- OUTPUT_TYPE_INNER_RIGHT =
')'- OUTPUT_TYPE_DELIMITER =
';'- OUTPUT_TYPE_DEFAULT =
'D'- OUTPUT_TYPE_ARRAY =
'A'- OUTPUT_TYPE_RANGE =
'R'- OUTPUT_TYPE_SET =
'S'- OUTPUT_TYPE_HASH =
'H'
Instance Method Summary collapse
-
#initialize(io_writer, filter_path = '') ⇒ Tracer
constructor
A new instance of Tracer.
- #start! ⇒ Object
- #stop! ⇒ Object
Constructor Details
#initialize(io_writer, filter_path = '') ⇒ Tracer
Returns a new instance of Tracer.
20 21 22 23 24 25 26 27 28 |
# File 'lib/sorbet_auto_typer/tracer.rb', line 20 def initialize(io_writer, filter_path='') @io_writer = io_writer @io_writer.sync = false @filter_path = filter_path @trace_point = TracePoint.new(:call, :return) do |trace| handle_trace(trace) end @traces_seen = {} end |
Instance Method Details
#start! ⇒ Object
30 31 32 |
# File 'lib/sorbet_auto_typer/tracer.rb', line 30 def start! trace_point.enable end |
#stop! ⇒ Object
34 35 36 37 |
# File 'lib/sorbet_auto_typer/tracer.rb', line 34 def stop! trace_point.disable @io_writer.close end |