From 33bc9fbef47e70f8fb945c1c53a550cf12e74c49 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Sun, 26 Jul 2020 10:17:23 +0200 Subject: [PATCH] Fix display of generic type parameters of local functions in tooltips --- .../TestCases/Pretty/LocalFunctions.cs | 2 +- ICSharpCode.Decompiler/CSharp/OutputVisitor/CSharpAmbience.cs | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/LocalFunctions.cs b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/LocalFunctions.cs index 10308cbbd..c38a81c17 100644 --- a/ICSharpCode.Decompiler.Tests/TestCases/Pretty/LocalFunctions.cs +++ b/ICSharpCode.Decompiler.Tests/TestCases/Pretty/LocalFunctions.cs @@ -41,7 +41,7 @@ namespace LocalFunctions #if CS90 [My] [return: My] - int NonStaticMethod6([My] int unused) + int NonStaticMethod6<[My] T3>([My] int unused) #else int NonStaticMethod6(int unused) #endif diff --git a/ICSharpCode.Decompiler/CSharp/OutputVisitor/CSharpAmbience.cs b/ICSharpCode.Decompiler/CSharp/OutputVisitor/CSharpAmbience.cs index dab35cace..71506af61 100644 --- a/ICSharpCode.Decompiler/CSharp/OutputVisitor/CSharpAmbience.cs +++ b/ICSharpCode.Decompiler/CSharp/OutputVisitor/CSharpAmbience.cs @@ -104,7 +104,7 @@ namespace ICSharpCode.Decompiler.CSharp.OutputVisitor if (symbol is ITypeDefinition) WriteTypeDeclarationName((ITypeDefinition)symbol, writer, formattingPolicy); - else if (symbol is IMember && !(symbol is LocalFunctionMethod)) + else if (symbol is IMember) WriteMemberDeclarationName((IMember)symbol, writer, formattingPolicy); else writer.WriteIdentifier(Identifier.Create(symbol.Name)); @@ -223,7 +223,7 @@ namespace ICSharpCode.Decompiler.CSharp.OutputVisitor { TypeSystemAstBuilder astBuilder = CreateAstBuilder(); EntityDeclaration node = astBuilder.ConvertEntity(member); - if ((ConversionFlags & ConversionFlags.ShowDeclaringType) == ConversionFlags.ShowDeclaringType && member.DeclaringType != null) { + if ((ConversionFlags & ConversionFlags.ShowDeclaringType) == ConversionFlags.ShowDeclaringType && member.DeclaringType != null && !(member is LocalFunctionMethod)) { ConvertType(member.DeclaringType, writer, formattingPolicy); writer.WriteToken(Roles.Dot, "."); }