diff options
Diffstat (limited to 'sonar-core/src/main')
-rw-r--r-- | sonar-core/src/main/java/org/sonar/core/issue/tracking/BlockRecognizer.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/issue/tracking/BlockRecognizer.java b/sonar-core/src/main/java/org/sonar/core/issue/tracking/BlockRecognizer.java index 652b27c07e2..20b78655d1c 100644 --- a/sonar-core/src/main/java/org/sonar/core/issue/tracking/BlockRecognizer.java +++ b/sonar-core/src/main/java/org/sonar/core/issue/tracking/BlockRecognizer.java @@ -77,7 +77,7 @@ class BlockRecognizer<RAW extends Trackable, BASE extends Trackable> { } // Check if remaining number of lines exceeds threshold. It avoids processing too many combinations. - if (basesByLine.keySet().size() * rawsByLine.keySet().size() >= 250_000) { + if (isOverLimit(basesByLine.keySet().size(), rawsByLine.keySet().size())) { return; } @@ -97,6 +97,10 @@ class BlockRecognizer<RAW extends Trackable, BASE extends Trackable> { } } + static boolean isOverLimit(long a, long b) { + return Math.multiplyExact(a, b) >= 250_000; + } + /** * @param startLineA number of line from first version of text (numbering starts from 1) * @param startLineB number of line from second version of text (numbering starts from 1) |