Exception: RBS::InheritModuleError
- Inherits:
-
DefinitionError
- Object
- StandardError
- BaseError
- DefinitionError
- RBS::InheritModuleError
- Includes:
- DetailedMessageable
- Defined in:
- lib/rbs/errors.rb
Instance Attribute Summary collapse
-
#super_decl ⇒ Object
readonly
Returns the value of attribute super_decl.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(super_decl) ⇒ InheritModuleError
constructor
A new instance of InheritModuleError.
- #location ⇒ Object
Methods included from DetailedMessageable
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_decl ⇒ Object (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
#location ⇒ Object
176 177 178 |
# File 'lib/rbs/errors.rb', line 176 def location @super_decl.location end |