Exception: RBS::NoSelfTypeFoundError

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DetailedMessageable

#detailed_message

Constructor Details

#initialize(type_name:, location:) ⇒ NoSelfTypeFoundError

Returns a new instance of NoSelfTypeFoundError.

Parameters:



216
217
218
219
220
221
# File 'lib/rbs/errors.rb', line 216

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

#locationLocation[untyped, untyped]? (readonly)

Returns the value of attribute location.

Returns:



214
215
216
# File 'lib/rbs/errors.rb', line 214

def location
  @location
end

#type_nameTypeName (readonly)

Returns the value of attribute type_name.

Returns:



213
214
215
# File 'lib/rbs/errors.rb', line 213

def type_name
  @type_name
end

Class Method Details

.check!(self_type, env:) ⇒ void

This method returns an undefined value.

The type name in self is automatically normalized



112
113
114
115
# File 'sig/errors.rbs', line 112

def self.check!(self_type, env:)
  self_name = env.normalize_type_name(self_type.name)
  (env.module_name?(self_name) || env.interface_name?(self_name)) or raise new(type_name: self_type.name, location: self_type.location)
end