Browse Source

#3614: Use correct number of type arguments when adding type annotations to generic types with nested types.

pull/3614/head
Siegfried Pammer 1 month ago
parent
commit
45efc732a7
  1. 8
      ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs

8
ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs

@ -546,7 +546,13 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax @@ -546,7 +546,13 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
{
// Handle nested types
result.Target = ConvertTypeHelper(genericType.DeclaringType, typeArguments);
AddTypeAnnotation(result.Target, genericType.DeclaringType);
// Use correct number of type arguments on the declaring type
var declaringType = genericType.DeclaringType;
if (outerTypeParameterCount > 0)
{
declaringType = new ParameterizedType(genericType.DeclaringType, typeArguments.Take(outerTypeParameterCount));
}
AddTypeAnnotation(result.Target, declaringType);
}
else
{

Loading…
Cancel
Save