Class: Ibex::Runtime::SyntaxSessionDiagnostic
- Inherits:
-
Object
- Object
- Ibex::Runtime::SyntaxSessionDiagnostic
- Defined in:
- lib/ibex/runtime/syntax_session.rb,
sig/ibex/runtime/syntax_session.rbs
Overview
Immutable, data-only copy of one parser diagnostic. Application-owned values and locations are sanitized rather than retained by identity.
Instance Attribute Summary collapse
- #data ⇒ Hash[String, EventSanitizer::json_value] readonly
- #kind ⇒ Symbol readonly
Instance Method Summary collapse
-
#initialize(kind:, data:) ⇒ SyntaxSessionDiagnostic
constructor
A new instance of SyntaxSessionDiagnostic.
- #to_h ⇒ Hash[String, EventSanitizer::json_value]
Constructor Details
#initialize(kind:, data:) ⇒ SyntaxSessionDiagnostic
Returns a new instance of SyntaxSessionDiagnostic.
149 150 151 152 153 154 155 156 |
# File 'lib/ibex/runtime/syntax_session.rb', line 149 def initialize(kind:, data:) raise ArgumentError, "diagnostic kind must be a Symbol" unless kind.is_a?(Symbol) raise ArgumentError, "diagnostic data must be a Hash" unless data.is_a?(Hash) @kind = kind @data = EventSanitizer.data(data) freeze end |
Instance Attribute Details
#data ⇒ Hash[String, EventSanitizer::json_value] (readonly)
146 147 148 |
# File 'lib/ibex/runtime/syntax_session.rb', line 146 def data @data end |
#kind ⇒ Symbol (readonly)
145 146 147 |
# File 'lib/ibex/runtime/syntax_session.rb', line 145 def kind @kind end |
Instance Method Details
#to_h ⇒ Hash[String, EventSanitizer::json_value]
159 160 161 |
# File 'lib/ibex/runtime/syntax_session.rb', line 159 def to_h @data end |