Browse Source

Fix #1647: Add a cast to enum constants where the enum type is not known.

pull/3443/head
Siegfried Pammer 3 months ago
parent
commit
29861d7903
  1. 2
      ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs

2
ICSharpCode.Decompiler/CSharp/Syntax/TypeSystemAstBuilder.cs

@ -1134,7 +1134,7 @@ namespace ICSharpCode.Decompiler.CSharp.Syntax
expr = new PrimitiveExpression(constantValue, format); expr = new PrimitiveExpression(constantValue, format);
if (AddResolveResultAnnotations && literalType != null) if (AddResolveResultAnnotations && literalType != null)
expr.AddAnnotation(new ConstantResolveResult(literalType, constantValue)); 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); expr = new CastExpression(ConvertType(type), expr);
} }

Loading…
Cancel
Save