Module: Seafoam::Graal::Source

Defined in:
lib/seafoam/graal/source.rb

Overview

Routines for understanding source positions in Graal.

Class Method Summary collapse

Class Method Details

.render(source_position) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/seafoam/graal/source.rb', line 5

def self.render(source_position)
  lines = []
  caller = source_position
  while caller
    method = caller[:method]
    lines.push render_method(method)
    caller = caller[:caller]
  end
  lines.join("\n")
end

.render_method(method) ⇒ Object



16
17
18
19
20
# File 'lib/seafoam/graal/source.rb', line 16

def self.render_method(method)
  declaring_class = method[:declaring_class]
  name = method[:method_name]
  "#{declaring_class}##{name}"
end