Class: Opal::OpalBacktraceLocation
- Inherits:
-
Object
- Object
- Opal::OpalBacktraceLocation
- Defined in:
- opal/lib/opal/errors.rb
Overview
Loosely compatible with Thread::Backtrace::Location
Instance Attribute Summary collapse
-
#label ⇒ Object
Returns the value of attribute label.
-
#lineno ⇒ Object
(also: #line)
Returns the value of attribute lineno.
-
#path ⇒ Object
Returns the value of attribute path.
Instance Method Summary collapse
- #diagnostic=(diagnostic) ⇒ Object
-
#initialize(path = nil, lineno = nil, label = nil) ⇒ OpalBacktraceLocation
constructor
A new instance of OpalBacktraceLocation.
- #location=(location) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(path = nil, lineno = nil, label = nil) ⇒ OpalBacktraceLocation
Returns a new instance of OpalBacktraceLocation
52 53 54 |
# File 'opal/lib/opal/errors.rb', line 52 def initialize(path = nil, lineno = nil, label = nil) @path, @lineno, @label = path, lineno, label end |
Instance Attribute Details
#label ⇒ Object
Returns the value of attribute label
50 51 52 |
# File 'opal/lib/opal/errors.rb', line 50 def label @label end |
#lineno ⇒ Object Also known as: line
Returns the value of attribute lineno
50 51 52 |
# File 'opal/lib/opal/errors.rb', line 50 def lineno @lineno end |
#path ⇒ Object
Returns the value of attribute path
50 51 52 |
# File 'opal/lib/opal/errors.rb', line 50 def path @path end |
Instance Method Details
#diagnostic=(diagnostic) ⇒ Object
70 71 72 73 |
# File 'opal/lib/opal/errors.rb', line 70 def diagnostic=(diagnostic) return unless diagnostic self.location = diagnostic.location end |
#location=(location) ⇒ Object
75 76 77 78 79 80 81 82 83 |
# File 'opal/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 ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 |
# File 'opal/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 |