class Opal::OpalBacktraceLocation

Loosely compatible with Thread::Backtrace::Location

Attributes

label[RW]
line[RW]
lineno[RW]
path[RW]

Public Class Methods

new(path = nil, lineno = nil, label = nil) click to toggle source
# File lib/opal/errors.rb, line 52
def initialize(path = nil, lineno = nil, label = nil)
  @path, @lineno, @label = path, lineno, label
end

Public Instance Methods

diagnostic=(diagnostic) click to toggle source
# File lib/opal/errors.rb, line 70
def diagnostic=(diagnostic)
  return unless diagnostic
  self.location = diagnostic.location
end
location=(location) click to toggle source
# File lib/opal/errors.rb, line 75
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
to_s() click to toggle source
# File lib/opal/errors.rb, line 56
def to_s
  string = path
  string += ":#{lineno}" if lineno
  string += ':in '
  if label
    string += "`#{label}'"
  else
    string += 'unknown'
  end
  string
end