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.



534
535
536
537
538
539
540
541
542
543
544
545
546
# File 'lib/rbs/errors.rb', line 534

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.



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

def alias_entry
  @alias_entry
end

Instance Method Details

#locationObject



548
549
550
# File 'lib/rbs/errors.rb', line 548

def location
  @alias_entry.decl.location
end