Class: Ibex::Frontend::ParseResult

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

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.

RBS:

  • (diagnostics: Array[Diagnostic], ast: AST::Root?, document: SourceDocument?) -> void

Parameters:



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

#astAST::Root? (readonly)

Signature:

  • AST::Root?

Returns:



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

def ast
  @ast
end

#diagnosticsArray[Diagnostic] (readonly)

Signature:

  • Array[Diagnostic]

Returns:



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

def diagnostics
  @diagnostics
end

#documentSourceDocument? (readonly)

Signature:

  • SourceDocument?

Returns:



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

def document
  @document
end

Instance Method Details

#partial?Boolean

RBS:

  • () -> bool

Returns:

  • (Boolean)


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

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

#success?Boolean

RBS:

  • () -> bool

Returns:

  • (Boolean)


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

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