Skip to content

Commit 66ad2aa

Browse files
committed
Fix quality flaw: extract method to check for switch default label
1 parent 46da79c commit 66ad2aa

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

  • java-squid/src/main/java/org/sonar/java/cfg

java-squid/src/main/java/org/sonar/java/cfg/CFG.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -573,12 +573,7 @@ private void buildSwitchStatement(SwitchStatementTree switchStatementTree) {
573573
for (CaseGroupTree caseGroupTree : Lists.reverse(switchStatementTree.cases())) {
574574
build(caseGroupTree.body());
575575
if (!hasDefaultCase) {
576-
for (CaseLabelTree caseLabel : caseGroupTree.labels()) {
577-
if ("default".equals(caseLabel.caseOrDefaultKeyword().text())) {
578-
hasDefaultCase = true;
579-
break;
580-
}
581-
}
576+
hasDefaultCase = containsDefaultCase(caseGroupTree.labels());
582577
}
583578
switches.getLast().addSuccessor(currentBlock);
584579
if (!caseGroupTree.equals(firstCase)) {
@@ -595,6 +590,15 @@ private void buildSwitchStatement(SwitchStatementTree switchStatementTree) {
595590
}
596591
}
597592

593+
private static boolean containsDefaultCase(List<CaseLabelTree> labels) {
594+
for (CaseLabelTree caseLabel : labels) {
595+
if ("default".equals(caseLabel.caseOrDefaultKeyword().text())) {
596+
return true;
597+
}
598+
}
599+
return false;
600+
}
601+
598602
private void buildBreakStatement(BreakStatementTree tree) {
599603
IdentifierTree label = tree.label();
600604
Block targetBlock;

0 commit comments

Comments
 (0)