Browse Source

Handle do-while loops with empty bodies as while loops.

pull/976/head
Siegfried Pammer 8 years ago
parent
commit
7c395d77ed
  1. 6
      ICSharpCode.Decompiler/CSharp/StatementBuilder.cs

6
ICSharpCode.Decompiler/CSharp/StatementBuilder.cs

@ -731,6 +731,12 @@ namespace ICSharpCode.Decompiler.CSharp @@ -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)

Loading…
Cancel
Save