Exception: RBS::InconsistentClassModuleAliasError

Inherits:
BaseError
  • Object
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(entry) ⇒ InconsistentClassModuleAliasError

Returns a new instance of InconsistentClassModuleAliasError.



519
520
521
522
523
524
525
526
527
528
529
530
531
# File 'lib/rbs/errors.rb', line 519

def initialize(entry)
  @alias_entry = entry

  expected_kind, actual_kind =
    case entry
    when Environment::ModuleAliasEntry
      ["module", "class"]
    when Environment::ClassAliasEntry
      ["class", "module"]
    end

  super "#{Location.to_string(entry.decl.location&.[](:old_name))}: A #{expected_kind} `#{entry.decl.new_name}` cannot be an alias of a #{actual_kind} `#{entry.decl.old_name}`"
end

Instance Attribute Details

#alias_entryObject (readonly)

Returns the value of attribute alias_entry.



517
518
519
# File 'lib/rbs/errors.rb', line 517

def alias_entry
  @alias_entry
end

Instance Method Details

#locationObject



533
534
535
# File 'lib/rbs/errors.rb', line 533

def location
  @alias_entry.decl.location
end