diff --git a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs index a55b3e957..331abfaee 100644 --- a/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs +++ b/ICSharpCode.Decompiler/CSharp/StatementBuilder.cs @@ -313,6 +313,8 @@ namespace ICSharpCode.Decompiler.CSharp case LoopKind.For: conditionExpr = exprBuilder.TranslateCondition(loop.Conditions[0]); blockStatement = ConvertAsBlock(loop.Body); + if (!loop.Body.HasFlag(InstructionFlags.EndPointUnreachable)) + blockStatement.Add(new BreakStatement()); var forBody = ConvertBlockContainer(blockStatement, container, loop.AdditionalBlocks, true); var forStmt = new ForStatement() { Condition = conditionExpr,