Exception: RBS::RecursiveAliasDefinitionError

Inherits:
DefinitionError show all
Includes:
DetailedMessageable
Defined in:
lib/rbs/errors.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DetailedMessageable

#detailed_message

Constructor Details

#initialize(type:, defs:) ⇒ RecursiveAliasDefinitionError

Returns a new instance of RecursiveAliasDefinitionError.



453
454
455
456
457
458
# File 'lib/rbs/errors.rb', line 453

def initialize(type:, defs:)
  @type = type
  @defs = defs

  super "#{Location.to_string location}: Recursive aliases in #{type}: #{defs.map(&:name).join(", ")}"
end

Instance Attribute Details

#defsObject (readonly)

Returns the value of attribute defs.



451
452
453
# File 'lib/rbs/errors.rb', line 451

def defs
  @defs
end

#typeObject (readonly)

Returns the value of attribute type.



450
451
452
# File 'lib/rbs/errors.rb', line 450

def type
  @type
end

Instance Method Details

#locationObject



460
461
462
463
464
# File 'lib/rbs/errors.rb', line 460

def location
  first_def = defs.first or raise
  original = first_def.original or raise
  original.location
end