Class: Jade::Frontend::SemanticAnalysis::Error::DuplicateFunctionDeclaration

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

Instance Attribute Summary collapse

Attributes inherited from Error

#entry, #span

Instance Method Summary collapse

Methods inherited from Error

#candidates, #notes, #queried_name, #to_diagnostic

Constructor Details

#initialize(entry, span, name, duplicate_spans:) ⇒ DuplicateFunctionDeclaration

Returns a new instance of DuplicateFunctionDeclaration.



8
9
10
11
12
# File 'lib/jade/frontend/semantic_analysis/error/duplicate_function_declaration.rb', line 8

def initialize(entry, span, name, duplicate_spans:)
  @name = name
  @duplicate_spans = duplicate_spans
  super(entry:, span:)
end

Instance Attribute Details

#duplicate_spansObject (readonly)

Returns the value of attribute duplicate_spans.



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

def duplicate_spans
  @duplicate_spans
end

Instance Method Details

#labelObject



18
19
20
# File 'lib/jade/frontend/semantic_analysis/error/duplicate_function_declaration.rb', line 18

def label
  "already defined"
end

#messageObject



14
15
16
# File 'lib/jade/frontend/semantic_analysis/error/duplicate_function_declaration.rb', line 14

def message
  "Duplicate function definition `#{@name}` (#{duplicate_spans.size + 1} declarations)"
end