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.
177 178 179 180 181 |
# File 'lib/rbs/errors.rb', line 177 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.
175 176 177 |
# File 'lib/rbs/errors.rb', line 175 def super_decl @super_decl end |
Class Method Details
.check!(super_decl, env:) ⇒ Object
187 188 189 190 191 192 |
# File 'lib/rbs/errors.rb', line 187 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
183 184 185 |
# File 'lib/rbs/errors.rb', line 183 def location @super_decl.location end |