From d1ef913fc00c306049149e315f84bc951b476110 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 19 Dec 2018 11:52:31 +0100 Subject: [PATCH] ExpressionBuilder: Use TSAB.ConvertConstantValue in VisitLdcF4 and VisitLdcF8 --- ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs index 1123ba85e..53c866744 100644 --- a/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/ExpressionBuilder.cs @@ -435,16 +435,14 @@ namespace ICSharpCode.Decompiler.CSharp protected internal override TranslatedExpression VisitLdcF4(LdcF4 inst, TranslationContext context) { - return new PrimitiveExpression(inst.Value) - .WithILInstruction(inst) - .WithRR(new ConstantResolveResult(compilation.FindType(KnownTypeCode.Single), inst.Value)); + var expr = astBuilder.ConvertConstantValue(compilation.FindType(KnownTypeCode.Single), inst.Value); + return new TranslatedExpression(expr.WithILInstruction(inst)); } protected internal override TranslatedExpression VisitLdcF8(LdcF8 inst, TranslationContext context) { - return new PrimitiveExpression(inst.Value) - .WithILInstruction(inst) - .WithRR(new ConstantResolveResult(compilation.FindType(KnownTypeCode.Double), inst.Value)); + var expr = astBuilder.ConvertConstantValue(compilation.FindType(KnownTypeCode.Double), inst.Value); + return new TranslatedExpression(expr.WithILInstruction(inst)); } protected internal override TranslatedExpression VisitLdcDecimal(LdcDecimal inst, TranslationContext context)