class RBS::MixinClassError
MixinClassError is raised if a include/prepend/extend has a class (not a module) to mix-in
Attributes
member
[R]
member
Public Class Methods
(type_name: TypeName, env: Environment, member: member) → void
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/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
(type_name: TypeName, member: member) → void
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/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
Calls superclass method
Exception::new
Public Instance Methods
() → Location[untyped, untyped]?
Source
# File vendor/bundle/ruby/4.0.0/gems/rbs-4.0.3/lib/rbs/errors.rb, line 481 def location member.location end