From 14499e5d68fc72484105e52c7260b74d4bdd6ca6 Mon Sep 17 00:00:00 2001 From: Jb Evain Date: Sun, 22 Jan 2012 21:28:29 +0100 Subject: [PATCH] Hide switch on string dictionary fields generated by mcs --- ICSharpCode.Decompiler/Ast/AstBuilder.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ICSharpCode.Decompiler/Ast/AstBuilder.cs b/ICSharpCode.Decompiler/Ast/AstBuilder.cs index 75c3ea029..2f4660a2d 100644 --- a/ICSharpCode.Decompiler/Ast/AstBuilder.cs +++ b/ICSharpCode.Decompiler/Ast/AstBuilder.cs @@ -95,6 +95,8 @@ namespace ICSharpCode.Decompiler.Ast if (settings.AnonymousMethods && IsAnonymousMethodCacheField(field)) return true; if (settings.AutomaticProperties && IsAutomaticPropertyBackingField(field)) + return true; + if (settings.SwitchStatementOnString && IsSwitchOnStringCache(field)) return true; } // event-fields are not [CompilerGenerated] @@ -105,6 +107,11 @@ namespace ICSharpCode.Decompiler.Ast return false; } + static bool IsSwitchOnStringCache(FieldDefinition field) + { + return field.Name.StartsWith("<>f__switch", StringComparison.Ordinal); + } + static bool IsAutomaticPropertyBackingField(FieldDefinition field) { return field.HasGeneratedName() && field.Name.EndsWith("BackingField", StringComparison.Ordinal);