From 7c395d77ed15309d2ebd602360618bce48e1e52a Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Fri, 10 Nov 2017 18:29:35 +0100 Subject: [PATCH] Handle do-while loops with empty bodies as while loops. --- ICSharpCode.Decompiler/CSharp/StatementBuilder.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs index 9af72d60b..a4ab57808 100644 --- a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs @@ -731,6 +731,12 @@ namespace ICSharpCode.Decompiler.CSharp } if (blockStatement.LastOrDefault() is ContinueStatement continueStmt3) continueStmt3.Remove(); + if (blockStatement.Statements.Count == 0) { + return new WhileStatement { + Condition = exprBuilder.TranslateCondition(condition), + EmbeddedStatement = blockStatement + }; + } return new DoWhileStatement { EmbeddedStatement = blockStatement, Condition = exprBuilder.TranslateCondition(condition)