Class: Steep::Diagnostic::Ruby::BlockBodyTypeMismatch

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:) ⇒ BlockBodyTypeMismatch

Returns a new instance of BlockBodyTypeMismatch.



351
352
353
354
355
356
# File 'lib/steep/diagnostic/ruby.rb', line 351

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

Instance Attribute Details

#actualObject (readonly)

Returns the value of attribute actual.



346
347
348
# File 'lib/steep/diagnostic/ruby.rb', line 346

def actual
  @actual
end

#expectedObject (readonly)

Returns the value of attribute expected.



345
346
347
# File 'lib/steep/diagnostic/ruby.rb', line 345

def expected
  @expected
end

#resultObject (readonly)

Returns the value of attribute result.



347
348
349
# File 'lib/steep/diagnostic/ruby.rb', line 347

def result
  @result
end

Instance Method Details

#header_lineObject



358
359
360
# File 'lib/steep/diagnostic/ruby.rb', line 358

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