Exception: RBS::MixinClassError
- Inherits:
-
DefinitionError
- Object
- StandardError
- BaseError
- DefinitionError
- RBS::MixinClassError
- Includes:
- DetailedMessageable
- Defined in:
- lib/rbs/errors.rb
Instance Attribute Summary collapse
-
#member ⇒ Object
readonly
Returns the value of attribute member.
-
#type_name ⇒ Object
readonly
Returns the value of attribute type_name.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(type_name:, member:) ⇒ MixinClassError
constructor
A new instance of MixinClassError.
- #location ⇒ Object
Methods included from DetailedMessageable
Constructor Details
#initialize(type_name:, member:) ⇒ MixinClassError
Returns a new instance of MixinClassError.
474 475 476 477 478 479 |
# File 'lib/rbs/errors.rb', line 474 def initialize(type_name:, member:) @type_name = type_name @member = member super "#{Location.to_string member.location}: Cannot #{mixin_name} a class `#{member_name(member)}` in the definition of `#{type_name}`" end |
Instance Attribute Details
#member ⇒ Object (readonly)
Returns the value of attribute member.
472 473 474 |
# File 'lib/rbs/errors.rb', line 472 def member @member end |
#type_name ⇒ Object (readonly)
Returns the value of attribute type_name.
471 472 473 |
# File 'lib/rbs/errors.rb', line 471 def type_name @type_name end |
Class Method Details
.check!(type_name:, env:, member:) ⇒ Object
485 486 487 488 489 490 491 492 493 494 495 496 497 498 |
# File 'lib/rbs/errors.rb', line 485 def self.check!(type_name:, env:, member:) name = case member when AST::Members::Include, AST::Members::Extend, AST::Members::Prepend member.name when AST::Ruby::Members::IncludeMember, AST::Ruby::Members::ExtendMember, AST::Ruby::Members::PrependMember member.module_name else raise "Unknown member type: #{member.class}" end if env.class_decl?(name) raise new(type_name: type_name, member: member) end end |
Instance Method Details
#location ⇒ Object
481 482 483 |
# File 'lib/rbs/errors.rb', line 481 def location member.location end |