From 8c4d787e20a63ece8620eac0a7686cb16dc536a7 Mon Sep 17 00:00:00 2001 From: Dinesh Bolkensteyn Date: Fri, 4 Nov 2011 03:07:14 +0100 Subject: Fix a violation --- .../src/main/java/org/sonar/java/bytecode/visitor/LCOM4Visitor.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/java/bytecode/visitor/LCOM4Visitor.java b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/java/bytecode/visitor/LCOM4Visitor.java index 31059478c96..4360e1ea229 100644 --- a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/java/bytecode/visitor/LCOM4Visitor.java +++ b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/java/bytecode/visitor/LCOM4Visitor.java @@ -115,7 +115,10 @@ public class LCOM4Visitor extends BytecodeVisitor { Set blockA = getOrCreateResourceBlock(resourceA); Set blockB = getOrCreateResourceBlock(resourceB); - if (blockA.equals(blockB)) { + // getOrCreateResourceBlock() returns the same block instance if resourceA and resourceB are identical or already in the same block + // TODO: Avoid this violation by using a Disjoint Union Set which is also more efficient performance-wise + // See: http://en.wikipedia.org/wiki/Disjoint-set_data_structure + if (blockA == blockB) { // NOSONAR false-positive Compare Objects With Equals return; } -- cgit v1.2.3