Class: Jade::Frontend::SemanticAnalysis::Error::UnknownField

Inherits:
Error
  • Object
show all
Defined in:
lib/jade/frontend/semantic_analysis/error/unknown_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:, field:, expected:) ⇒ UnknownField

Returns a new instance of UnknownField.



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

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

Instance Method Details

#messageObject



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

def message
  "`#{@type_name}` has no field `#{@field}` (has: #{@expected.map { "`#{it}`" }.join(', ')})"
end