Class: Ibex::Frontend::ParseResult

Inherits:
Object
  • Object
show all
Defined in:
lib/ibex/frontend/diagnostic.rb

Overview

Immutable output from a diagnostic parse.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(diagnostics:, ast:, document:) ⇒ ParseResult

Returns a new instance of ParseResult.



63
64
65
66
67
68
# File 'lib/ibex/frontend/diagnostic.rb', line 63

def initialize(diagnostics:, ast:, document:)
  @diagnostics = diagnostics.dup.freeze
  @ast = ast
  @document = document
  freeze
end

Instance Attribute Details

#astObject (readonly)

: AST::Root?



59
60
61
# File 'lib/ibex/frontend/diagnostic.rb', line 59

def ast
  @ast
end

#diagnosticsObject (readonly)

: Array



58
59
60
# File 'lib/ibex/frontend/diagnostic.rb', line 58

def diagnostics
  @diagnostics
end

#documentObject (readonly)

: SourceDocument?



60
61
62
# File 'lib/ibex/frontend/diagnostic.rb', line 60

def document
  @document
end

Instance Method Details

#partial?Boolean

Returns:

  • (Boolean)


76
77
78
# File 'lib/ibex/frontend/diagnostic.rb', line 76

def partial?
  diagnostics.any? && !ast.nil?
end

#success?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/ibex/frontend/diagnostic.rb', line 71

def success?
  diagnostics.empty? && !ast.nil?
end