123456789_123456789_123456789_123456789_123456789_

Exception: RBS::NoSelfTypeFoundError

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, DefinitionError, ErrorBase, StandardError
Instance Chain:
self, DefinitionError, ErrorBase, StandardError
Inherits: RBS::DefinitionError
Defined in: lib/rbs/errors.rb

Class Method Summary

Instance Attribute Summary

Constructor Details

.new(type_name:, location:) ⇒ NoSelfTypeFoundError

[ GitHub ]

  
# File 'lib/rbs/errors.rb', line 130

def initialize(type_name:, location:)
  @type_name = type_name
  @location = location

  super "#{Location.to_string location}: Could not find self type: #{type_name}"
end

Class Method Details

.check!(self_type, env:)

[ GitHub ]

  
# File 'lib/rbs/errors.rb', line 137

def self.check!(self_type, env:)
  type_name = self_type.name

  dic = case
        when type_name.class?
          env.class_decls
        when type_name.interface?
          env.interface_decls
        else
          raise
        end

  dic.key?(type_name) or raise new(type_name: type_name, location: self_type.location)
end

Instance Attribute Details

#location (readonly)

[ GitHub ]

  
# File 'lib/rbs/errors.rb', line 128

attr_reader :location

#type_name (readonly)

[ GitHub ]

  
# File 'lib/rbs/errors.rb', line 127

attr_reader :type_name