From db4721594c6ce53c54d1199b05dc4d4b041ff3fa Mon Sep 17 00:00:00 2001 From: Nicolas PERU Date: Mon, 14 Oct 2019 14:18:31 +0200 Subject: [PATCH] Avoid collecting unecessarily --- .../sonar/python/checks/AfterJumpStatementCheck.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/python-checks/src/main/java/org/sonar/python/checks/AfterJumpStatementCheck.java b/python-checks/src/main/java/org/sonar/python/checks/AfterJumpStatementCheck.java index d25c4c349..596844541 100644 --- a/python-checks/src/main/java/org/sonar/python/checks/AfterJumpStatementCheck.java +++ b/python-checks/src/main/java/org/sonar/python/checks/AfterJumpStatementCheck.java @@ -19,8 +19,6 @@ */ package org.sonar.python.checks; -import java.util.List; -import java.util.stream.Collectors; import javax.annotation.Nullable; import org.sonar.check.Rule; import org.sonar.plugins.python.api.cfg.CfgBlock; @@ -53,13 +51,12 @@ private static void checkCfg(@Nullable ControlFlowGraph cfg, SubscriptionContext for (CfgBlock cfgBlock : cfg.blocks()) { if (cfgBlock.predecessors().isEmpty() && !cfgBlock.equals(cfg.start()) && !cfgBlock.elements().isEmpty()) { Tree firstElement = cfgBlock.elements().get(0); - List jumpStatements = cfg.blocks().stream() - .filter(block -> cfgBlock.equals(block.syntacticSuccessor())) - .map(block -> block.elements().get(block.elements().size() - 1)) - .collect(Collectors.toList()); Tree lastElement = cfgBlock.elements().get(cfgBlock.elements().size() - 1); PreciseIssue issue = ctx.addIssue(firstElement.firstToken(), lastElement.lastToken(), "Delete this unreachable code or refactor the code to make it reachable."); - jumpStatements.forEach(jumpStatement -> issue.secondary(jumpStatement, null)); + cfg.blocks().stream() + .filter(block -> cfgBlock.equals(block.syntacticSuccessor())) + .map(block -> block.elements().get(block.elements().size() - 1)) + .forEach(jumpStatement -> issue.secondary(jumpStatement, null)); } } }