20 lines
586 B
C#
20 lines
586 B
C#
|
namespace meowlang.typechecker;
|
||
|
|
||
|
public record GenericTupleTypeDescription : GenericTypeDescription
|
||
|
{
|
||
|
private readonly List<GenericTypeId> _members;
|
||
|
|
||
|
public GenericTupleTypeDescription(List<string> genericNames, List<GenericTypeId> members) : base(genericNames)
|
||
|
{
|
||
|
_members = members;
|
||
|
CheckGenericNames(members);
|
||
|
}
|
||
|
|
||
|
|
||
|
public override TupleTypeDescription Concretize(List<Guid> typeParams)
|
||
|
{
|
||
|
var members = _members.Select(x => ConcretizeGenericType(x, typeParams)).ToList();
|
||
|
return new TupleTypeDescription(members);
|
||
|
}
|
||
|
|
||
|
}
|