Class: Steep::Diagnostic::Ruby::MethodBodyTypeMismatch

Inherits:
Base
  • Object
show all
Includes:
ResultPrinter
Defined in:
lib/steep/diagnostic/ruby.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#location, #node

Instance Method Summary collapse

Methods included from ResultPrinter

#detail_lines, #relation_message

Methods inherited from Base

#detail_lines, #diagnostic_code

Methods included from Helper

#error_name, #full_message

Constructor Details

#initialize(node:, expected:, actual:, result:) ⇒ MethodBodyTypeMismatch

Returns a new instance of MethodBodyTypeMismatch.



514
515
516
517
518
519
# File 'lib/steep/diagnostic/ruby.rb', line 514

def initialize(node:, expected:, actual:, result:)
  super(node: node, location: node.loc.name) # steep:ignore NoMethod
  @expected = expected
  @actual = actual
  @result = result
end

Instance Attribute Details

#actualObject (readonly)

Returns the value of attribute actual.



509
510
511
# File 'lib/steep/diagnostic/ruby.rb', line 509

def actual
  @actual
end

#expectedObject (readonly)

Returns the value of attribute expected.



508
509
510
# File 'lib/steep/diagnostic/ruby.rb', line 508

def expected
  @expected
end

#resultObject (readonly)

Returns the value of attribute result.



510
511
512
# File 'lib/steep/diagnostic/ruby.rb', line 510

def result
  @result
end

Instance Method Details

#header_lineObject



521
522
523
# File 'lib/steep/diagnostic/ruby.rb', line 521

def header_line
  "Cannot allow method body have type `#{actual}` because declared as type `#{expected}`"
end