Skip to content

Commit feaa07d

Browse files
author
sangxxh
committed
Handle missing break in switch statement
1 parent e8df637 commit feaa07d

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

JavaToCSharp/Statements/SwitchStatementVisitor.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@ public override StatementSyntax Visit(ConversionContext context, SwitchStmt swit
3131
if (label == null)
3232
{
3333
// default case
34+
var hasBreakStmt = false;
35+
foreach (var syntax in syntaxes)
36+
{
37+
if (syntax.Kind() == SyntaxKind.BreakStatement)
38+
{
39+
hasBreakStmt = true;
40+
}
41+
}
42+
if (!hasBreakStmt)
43+
{
44+
syntaxes.Add(SyntaxFactory.BreakStatement());
45+
}
46+
3447
var defaultSyntax = SyntaxFactory.SwitchSection(
3548
SyntaxFactory.List(new List<SwitchLabelSyntax> { SyntaxFactory.DefaultSwitchLabel() }),
3649
SyntaxFactory.List(syntaxes.AsEnumerable()));

0 commit comments

Comments
 (0)