class RBS::MixinClassError
def self.check!(type_name:, env:, member:)
def self.check!(type_name:, env:, member:) if env.class_decl?(member.name) raise new(type_name: type_name, member: member) end end
def initialize(type_name:, member:)
def initialize(type_name:, member:) @type_name = type_name @member = member super "#{Location.to_string member.location}: Cannot #{mixin_name} a class `#{member.name}` in the definition of `#{type_name}`" end
def location
def location member.location end
def mixin_name
def mixin_name case member when AST::Members::Prepend "prepend" when AST::Members::Include "include" when AST::Members::Extend "extend" else raise end end