diff --git a/ILSpy/ILSpy.csproj b/ILSpy/ILSpy.csproj index 319e94081..a7d106eed 100644 --- a/ILSpy/ILSpy.csproj +++ b/ILSpy/ILSpy.csproj @@ -322,6 +322,8 @@ + + @@ -450,6 +452,14 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/ILSpy/Images/Images.cs b/ILSpy/Images/Images.cs index 70c3928b9..f4d089535 100644 --- a/ILSpy/Images/Images.cs +++ b/ILSpy/Images/Images.cs @@ -215,7 +215,6 @@ namespace ICSharpCode.ILSpy PreloadPublicIconToCache(TypeIcon.Struct, Images.Struct); PreloadPublicIconToCache(TypeIcon.Interface, Images.Interface); PreloadPublicIconToCache(TypeIcon.Delegate, Images.Delegate); - PreloadPublicIconToCache(TypeIcon.StaticClass, Images.StaticClass); } protected override object GetBaseImage(TypeIcon icon) @@ -237,9 +236,6 @@ namespace ICSharpCode.ILSpy case TypeIcon.Delegate: baseImage = Images.Delegate; break; - case TypeIcon.StaticClass: - baseImage = Images.StaticClass; - break; default: throw new ArgumentOutOfRangeException(nameof(icon), $"TypeIcon.{icon} is not supported!"); } diff --git a/ILSpy/Images/OverlayStatic.png b/ILSpy/Images/OverlayStatic.png index 1a0e5e9d4..e6a140ff3 100644 Binary files a/ILSpy/Images/OverlayStatic.png and b/ILSpy/Images/OverlayStatic.png differ diff --git a/ILSpy/Images/OverlayStatic.xaml b/ILSpy/Images/OverlayStatic.xaml new file mode 100644 index 000000000..a0a893f2c --- /dev/null +++ b/ILSpy/Images/OverlayStatic.xaml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/ILSpy/Images/TypeIcon.cs b/ILSpy/Images/TypeIcon.cs index a3e6b4b91..ec4b8fd58 100644 --- a/ILSpy/Images/TypeIcon.cs +++ b/ILSpy/Images/TypeIcon.cs @@ -25,7 +25,6 @@ namespace ICSharpCode.ILSpy Enum, Struct, Interface, - Delegate, - StaticClass + Delegate } } diff --git a/ILSpy/TreeNodes/TypeTreeNode.cs b/ILSpy/TreeNodes/TypeTreeNode.cs index 8772874fe..cb40b06b2 100644 --- a/ILSpy/TreeNodes/TypeTreeNode.cs +++ b/ILSpy/TreeNodes/TypeTreeNode.cs @@ -112,11 +112,12 @@ namespace ICSharpCode.ILSpy.TreeNodes public static object GetIcon(ITypeDefinition type) { - return Images.GetIcon(GetTypeIcon(type), GetOverlayIcon(type)); + return Images.GetIcon(GetTypeIcon(type, out bool isStatic), GetOverlayIcon(type), isStatic); } - internal static TypeIcon GetTypeIcon(IType type) + internal static TypeIcon GetTypeIcon(IType type, out bool isStatic) { + isStatic = false; switch (type.Kind) { case TypeKind.Interface: return TypeIcon.Interface; @@ -127,8 +128,7 @@ namespace ICSharpCode.ILSpy.TreeNodes case TypeKind.Enum: return TypeIcon.Enum; default: - if (type.GetDefinition()?.IsStatic == true) - return TypeIcon.StaticClass; + isStatic = type.GetDefinition()?.IsStatic == true; return TypeIcon.Class; } }