class Opal::OpalBacktraceLocation
Loosely compatible with Thread::Backtrace::Location
def diagnostic=(diagnostic)
def diagnostic=(diagnostic) return unless diagnostic self.location = diagnostic.location end
def initialize(path = nil, lineno = nil, label = nil)
def initialize(path = nil, lineno = nil, label = nil) @path, @lineno, @label = path, lineno, label end
def location=(location)
def location=(location) return unless location self.lineno = location.line if location.respond_to?(:source_line) self.label = location.source_line elsif location.respond_to?(:expression) self.label = location.expression.source_line end end
def to_s
def to_s string = path string += ":#{lineno}" if lineno string += ':in ' if label string += "`#{label}'" else string += 'unknown' end string end