Exception: RBS::InheritModuleError

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DetailedMessageable

#detailed_message

Constructor Details

#initialize(super_decl) ⇒ InheritModuleError

Returns a new instance of InheritModuleError.



170
171
172
173
174
# File 'lib/rbs/errors.rb', line 170

def initialize(super_decl)
  @super_decl = super_decl

  super "#{Location.to_string(super_decl.location)}: Cannot inherit a module: #{super_decl.name}"
end

Instance Attribute Details

#super_declObject (readonly)

Returns the value of attribute super_decl.



168
169
170
# File 'lib/rbs/errors.rb', line 168

def super_decl
  @super_decl
end

Class Method Details

.check!(super_decl, env:) ⇒ Object



180
181
182
183
184
185
# File 'lib/rbs/errors.rb', line 180

def self.check!(super_decl, env:)
  super_name = env.normalize_type_name(super_decl.name)
  return if env.class_decl?(super_name) || env.class_alias?(super_name)

  raise new(super_decl)
end

Instance Method Details

#locationObject



176
177
178
# File 'lib/rbs/errors.rb', line 176

def location
  @super_decl.location
end