Browse Source

Fix #1999: Compiler generated variables with weird names; by supporting a newer naming-convention used by mcs for anonymous delegates: See c2795c9cb5/mcs/mcs/delegate.cs (L808)

pull/2016/head
Siegfried Pammer 5 years ago
parent
commit
0df7e1e4a5
  1. 2
      ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

2
ICSharpCode.Decompiler/CSharp/CSharpDecompiler.cs

@ -366,7 +366,7 @@ namespace ICSharpCode.Decompiler.CSharp @@ -366,7 +366,7 @@ namespace ICSharpCode.Decompiler.CSharp
static bool IsAnonymousMethodCacheField(SRM.FieldDefinition field, MetadataReader metadata)
{
var name = metadata.GetString(field.Name);
return name.StartsWith("CS$<>", StringComparison.Ordinal) || name.StartsWith("<>f__am", StringComparison.Ordinal);
return name.StartsWith("CS$<>", StringComparison.Ordinal) || name.StartsWith("<>f__am", StringComparison.Ordinal) || name.StartsWith("<>f__mg", StringComparison.Ordinal);
}
static bool IsClosureType(SRM.TypeDefinition type, MetadataReader metadata)

Loading…
Cancel
Save