class RBS::Definition::InstanceAncestors
def apply(args, location:)
def apply(args, location:) InvalidTypeApplicationError.check!( type_name: type_name, args: args, params: params, location: location ) subst = Substitution.build(params, args) ancestors.map do |ancestor| case ancestor when Ancestor::Instance if ancestor.args.empty? ancestor else Ancestor::Instance.new( name: ancestor.name, args: ancestor.args.map {|type| type.sub(subst) }, source: ancestor.source ) end when Ancestor::Singleton ancestor end end end
def initialize(type_name:, params:, ancestors:)
def initialize(type_name:, params:, ancestors:) @type_name = type_name @params = params @ancestors = ancestors end