Class: Jade::Frontend::SemanticAnalysis::Error::MissingField

Inherits:
Error
  • Object
show all
Defined in:
lib/jade/frontend/semantic_analysis/error/missing_field.rb

Instance Attribute Summary

Attributes inherited from Error

#entry, #span

Instance Method Summary collapse

Methods inherited from Error

#candidates, #label, #notes, #queried_name, #to_diagnostic

Constructor Details

#initialize(entry, span, type_name:, fields:) ⇒ MissingField

Returns a new instance of MissingField.



6
7
8
9
10
# File 'lib/jade/frontend/semantic_analysis/error/missing_field.rb', line 6

def initialize(entry, span, type_name:, fields:)
  @type_name = type_name
  @fields = fields
  super(entry:, span:)
end

Instance Method Details

#messageObject



12
13
14
15
# File 'lib/jade/frontend/semantic_analysis/error/missing_field.rb', line 12

def message
  list = @fields.map { "`#{it}:`" }.join(', ')
  "`#{@type_name}` is missing #{@fields.size == 1 ? 'field' : 'fields'} #{list}"
end