Class: Ibex::Runtime::SyntaxSessionResult
- Inherits:
-
Object
- Object
- Ibex::Runtime::SyntaxSessionResult
- Defined in:
- lib/json5/generated_parser.rb
Overview
Immutable public snapshot of one completed syntax-session operation.
Instance Attribute Summary collapse
- #diagnostics ⇒ Object readonly
- #expected_tokens ⇒ Object readonly
- #metrics ⇒ Object readonly
- #revision ⇒ Object readonly
- #status ⇒ Object readonly
- #syntax_root ⇒ Object readonly
Instance Method Summary collapse
-
#initialize(revision:, syntax_root:, diagnostics:, expected_tokens:, metrics:, status:) ⇒ SyntaxSessionResult
constructor
A new instance of SyntaxSessionResult.
- #success? ⇒ Boolean
Constructor Details
#initialize(revision:, syntax_root:, diagnostics:, expected_tokens:, metrics:, status:) ⇒ SyntaxSessionResult
Returns a new instance of SyntaxSessionResult.
4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 |
# File 'lib/json5/generated_parser.rb', line 4100 def initialize(revision:, syntax_root:, diagnostics:, expected_tokens:, metrics:, status:) raise ArgumentError, "revision must be a nonnegative Integer" unless revision.is_a?(Integer) && revision >= 0 unless diagnostics.is_a?(Array) && diagnostics.all?(SyntaxSessionDiagnostic) raise ArgumentError, "diagnostics must contain only SyntaxSessionDiagnostic values" end unless expected_tokens.is_a?(Array) && expected_tokens.all?(String) raise ArgumentError, "expected_tokens must contain only Strings" end unless metrics.is_a?(SyntaxSessionMetrics) raise ArgumentError, "metrics must be an Ibex::Runtime::SyntaxSessionMetrics" end raise ArgumentError, "status must be :ok or :syntax_error" unless %i[ok syntax_error].include?(status) @revision = revision @syntax_root = syntax_root @diagnostics = diagnostics.dup.freeze @expected_tokens = expected_tokens.map { |token| token.dup.freeze }.freeze @metrics = metrics @status = status freeze end |
Instance Attribute Details
#diagnostics ⇒ Object (readonly)
4093 4094 4095 |
# File 'lib/json5/generated_parser.rb', line 4093 def diagnostics @diagnostics end |
#expected_tokens ⇒ Object (readonly)
4094 4095 4096 |
# File 'lib/json5/generated_parser.rb', line 4094 def expected_tokens @expected_tokens end |
#metrics ⇒ Object (readonly)
4095 4096 4097 |
# File 'lib/json5/generated_parser.rb', line 4095 def metrics @metrics end |
#revision ⇒ Object (readonly)
4091 4092 4093 |
# File 'lib/json5/generated_parser.rb', line 4091 def revision @revision end |
#status ⇒ Object (readonly)
4096 4097 4098 |
# File 'lib/json5/generated_parser.rb', line 4096 def status @status end |
#syntax_root ⇒ Object (readonly)
4092 4093 4094 |
# File 'lib/json5/generated_parser.rb', line 4092 def syntax_root @syntax_root end |
Instance Method Details
#success? ⇒ Boolean
4123 4124 4125 |
# File 'lib/json5/generated_parser.rb', line 4123 def success? @status == :ok end |