Skip to content

Commit 3e96724

Browse files
committed
SONARJAVA-1389 SE: better computation of hashcodes
1 parent b90c971 commit 3e96724

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

java-squid/src/main/java/org/sonar/java/se/ExplodedGraph.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Node getNode(ProgramPoint programPoint, @Nullable ProgramState programState) {
4747
}
4848

4949
public static class ProgramPoint {
50+
private int hashcode;
5051
final CFG.Block block;
5152
final int i;
5253

@@ -57,7 +58,10 @@ public ProgramPoint(CFG.Block block, int i) {
5758

5859
@Override
5960
public int hashCode() {
60-
return block.id() * 31 + i;
61+
if(hashcode == 0) {
62+
hashcode = block.id() * 31 + i;
63+
}
64+
return hashcode;
6165
}
6266

6367
@Override

java-squid/src/main/java/org/sonar/java/se/SymbolicValue.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
*/
2020
package org.sonar.java.se;
2121

22-
import com.google.common.base.Objects;
2322
import com.google.common.base.Preconditions;
2423
import com.google.common.collect.ImmutableList;
2524
import com.google.common.collect.Maps;
@@ -76,12 +75,12 @@ public boolean equals(Object o) {
7675
return false;
7776
}
7877
ObjectSymbolicValue that = (ObjectSymbolicValue) o;
79-
return Objects.equal(id, that.id);
78+
return id == that.id;
8079
}
8180

8281
@Override
8382
public int hashCode() {
84-
return Objects.hashCode(id);
83+
return id;
8584
}
8685

8786
@Override

0 commit comments

Comments
 (0)