-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Labels
Milestone
Description
private ImmutableArray<TypeSymbolWithAnnotations> SubstituteTypeArguments(ImmutableArray<TypeSymbolWithAnnotations> typeArguments)
{
...
var builder = ArrayBuilder<TypeSymbolWithAnnotations>.GetInstance();
foreach (var typeArg in typeArguments)
{
TypeSymbolWithAnnotations oldTypeArg;
TypeSymbolWithAnnotations newTypeArg = typeArg;
do
{
oldTypeArg = newTypeArg;
newTypeArg = this.TypeMap.SubstituteType(typeArg);
}
while (oldTypeArg.TypeSymbol != newTypeArg.TypeSymbol);
// PROTOTYPE(NullableReferenceTypes): Is this weaker assert sufficient?
//Debug.Assert((object)oldTypeArg == newTypeArg);
Debug.Assert(oldTypeArg.Equals(newTypeArg, TypeCompareKind.CompareNullableModifiersForReferenceTypes | TypeCompareKind.UnknownNullableModifierMatchesAny));
builder.Add(newTypeArg);
}
return builder.ToImmutableAndFree();
}Reactions are currently unavailable