From 2f90589b06852ded7c5ff4ffae6c23953b5af39c Mon Sep 17 00:00:00 2001 From: Jackson Schuster Date: Wed, 15 Dec 2021 14:12:56 -0600 Subject: [PATCH 1/3] Removes the Cecil `FullName` path from diagnostic messages Cecil `FullName` properties use '/' as delimiters for nested classes, but the standard is to use '.'. GetDisplayName extension is used instead to accomplish this. --- src/linker/Linker/MessageContainer.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/linker/Linker/MessageContainer.cs b/src/linker/Linker/MessageContainer.cs index 1e8b999aa33b..d90f85a7c937 100644 --- a/src/linker/Linker/MessageContainer.cs +++ b/src/linker/Linker/MessageContainer.cs @@ -256,10 +256,8 @@ public string ToMSBuildString () if (Origin?.Provider != null) { if (Origin?.Provider is MethodDefinition method) sb.Append (method.GetDisplayName ()); - else if (Origin?.Provider is TypeDefinition type) + else if (Origin?.Provider is MemberReference type) sb.Append (type.GetDisplayName ()); - else if (Origin?.Provider is IMemberDefinition member) - sb.Append (member.FullName); else if (Origin?.Provider is AssemblyDefinition assembly) sb.Append (assembly.Name.Name); else From 93fb2a714642d12d914304156ab50fcaaed05798 Mon Sep 17 00:00:00 2001 From: Jackson Schuster Date: Wed, 15 Dec 2021 14:42:14 -0600 Subject: [PATCH 2/3] Re-add IMemberDefinition case for MS build string to make sure there are no regressions --- src/linker/Linker/MessageContainer.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/linker/Linker/MessageContainer.cs b/src/linker/Linker/MessageContainer.cs index d90f85a7c937..f0e3a770ea00 100644 --- a/src/linker/Linker/MessageContainer.cs +++ b/src/linker/Linker/MessageContainer.cs @@ -256,8 +256,10 @@ public string ToMSBuildString () if (Origin?.Provider != null) { if (Origin?.Provider is MethodDefinition method) sb.Append (method.GetDisplayName ()); - else if (Origin?.Provider is MemberReference type) - sb.Append (type.GetDisplayName ()); + else if (Origin?.Provider is MemberReference memberRef) + sb.Append (memberRef.GetDisplayName ()); + else if (Origin?.Provider is IMemberDefinition member) + sb.Append(member.FullName); else if (Origin?.Provider is AssemblyDefinition assembly) sb.Append (assembly.Name.Name); else From 9cbf4107c83352a9532d4b48779908cda443e134 Mon Sep 17 00:00:00 2001 From: Jackson Schuster Date: Wed, 15 Dec 2021 17:23:27 -0600 Subject: [PATCH 3/3] Formatting fix --- src/linker/Linker/MessageContainer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/linker/Linker/MessageContainer.cs b/src/linker/Linker/MessageContainer.cs index f0e3a770ea00..01698c31ef9b 100644 --- a/src/linker/Linker/MessageContainer.cs +++ b/src/linker/Linker/MessageContainer.cs @@ -259,7 +259,7 @@ public string ToMSBuildString () else if (Origin?.Provider is MemberReference memberRef) sb.Append (memberRef.GetDisplayName ()); else if (Origin?.Provider is IMemberDefinition member) - sb.Append(member.FullName); + sb.Append (member.FullName); else if (Origin?.Provider is AssemblyDefinition assembly) sb.Append (assembly.Name.Name); else