Exception: TRuby::TypeCheckError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/t_ruby/type_checker.rb

Overview

Represents a type checking error (can be raised as an exception)

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message:, location: nil, expected: nil, actual: nil, suggestion: nil, severity: :error) ⇒ TypeCheckError

Returns a new instance of TypeCheckError.



8
9
10
11
12
13
14
15
16
# File 'lib/t_ruby/type_checker.rb', line 8

def initialize(message:, location: nil, expected: nil, actual: nil, suggestion: nil, severity: :error)
  @error_message = message
  @location = location
  @expected = expected
  @actual = actual
  @suggestion = suggestion
  @severity = severity
  super(build_full_message)
end

Instance Attribute Details

#actualObject (readonly)

Returns the value of attribute actual.



6
7
8
# File 'lib/t_ruby/type_checker.rb', line 6

def actual
  @actual
end

#error_messageObject (readonly)

Returns the value of attribute error_message.



6
7
8
# File 'lib/t_ruby/type_checker.rb', line 6

def error_message
  @error_message
end

#expectedObject (readonly)

Returns the value of attribute expected.



6
7
8
# File 'lib/t_ruby/type_checker.rb', line 6

def expected
  @expected
end

#locationObject (readonly)

Returns the value of attribute location.



6
7
8
# File 'lib/t_ruby/type_checker.rb', line 6

def location
  @location
end

#severityObject (readonly)

Returns the value of attribute severity.



6
7
8
# File 'lib/t_ruby/type_checker.rb', line 6

def severity
  @severity
end

#suggestionObject (readonly)

Returns the value of attribute suggestion.



6
7
8
# File 'lib/t_ruby/type_checker.rb', line 6

def suggestion
  @suggestion
end

Instance Method Details

#to_diagnosticObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/t_ruby/type_checker.rb', line 18

def to_diagnostic
  {
    severity: @severity,
    message: @error_message,
    location: @location,
    expected: @expected,
    actual: @actual,
    suggestion: @suggestion,
  }
end