From 29861d7903cf9aceb9b074991d2d7f5e5c2f2ecc Mon Sep 17 00:00:00 2001 From: Siegfried Pammer <siegfriedpammer@gmail.com> Date: Fri, 21 Mar 2025 11:00:11 +0100 Subject: [PATCH] Fix #1647: Add a cast to enum constants where the enum type is not known. --- ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs b/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs index 63b697d75..2e21d93c6 100644 --- a/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs @@ -1134,7 +1134,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax expr = new PrimitiveExpression(constantValue, format); if (AddResolveResultAnnotations && literalType != null) expr.AddAnnotation(new ConstantResolveResult(literalType, constantValue)); - if (integerTypeMismatch && !type.Equals(expectedType)) + if (integerTypeMismatch && !type.Equals(expectedType) || underlyingType.Kind == TypeKind.Unknown) { expr = new CastExpression(ConvertType(type), expr); }