class RBS::NoSelfTypeFoundError

def self.check!(self_type, env:)

def self.check!(self_type, env:)
  type_name = self_type.name
  dic = case
        when type_name.class?
          env.class_decls
        when type_name.interface?
          env.interface_decls
        else
          raise
        end
  dic.key?(type_name) or raise new(type_name: type_name, location: self_type.location)
end

def initialize(type_name:, location:)

def initialize(type_name:, location:)
  @type_name = type_name
  @location = location
  super "#{Location.to_string location}: Could not find self type: #{type_name}"
end