Exception: RBS::NoSelfTypeFoundError

Inherits:
StandardError
  • Object
show all
Defined in:
lib/rbs/errors.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type_name:, location:) ⇒ NoSelfTypeFoundError

Returns a new instance of NoSelfTypeFoundError.



148
149
150
151
152
153
# File 'lib/rbs/errors.rb', line 148

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

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

Instance Attribute Details

#locationObject (readonly)

Returns the value of attribute location.



146
147
148
# File 'lib/rbs/errors.rb', line 146

def location
  @location
end

#type_nameObject (readonly)

Returns the value of attribute type_name.



145
146
147
# File 'lib/rbs/errors.rb', line 145

def type_name
  @type_name
end

Class Method Details

.check!(self_type, env:) ⇒ Object



155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/rbs/errors.rb', line 155

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
        end

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