Skip to content

Commit 5f1f5db

Browse files
committed
SONARJAVA-1329 Ignore hashcode method
1 parent 78310fc commit 5f1f5db

6 files changed

Lines changed: 14 additions & 57 deletions

File tree

its/ruling/src/test/resources/commons-beanutils/squid-S109.json

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
{
2-
'commons-beanutils:commons-beanutils:src/main/java/org/apache/commons/beanutils/DynaProperty.java':[
3-
239,
4-
240,
5-
241,
6-
],
72
'commons-beanutils:commons-beanutils:src/main/java/org/apache/commons/beanutils/MappedPropertyDescriptor.java':[
83
120,
94
176,
@@ -25,9 +20,6 @@
2520
1625,
2621
1794,
2722
],
28-
'commons-beanutils:commons-beanutils:src/main/java/org/apache/commons/beanutils/WrapDynaClass.java':[
29-
520,
30-
],
3123
'commons-beanutils:commons-beanutils:src/main/java/org/apache/commons/beanutils/converters/DateTimeConverter.java':[
3224
300,
3325
300,

its/ruling/src/test/resources/guava/squid-S109.json

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
947,
1919
1358,
2020
],
21-
'com.google.guava:guava:src/com/google/common/base/Converter.java':[
22-
349,
23-
442,
24-
],
2521
'com.google.guava:guava:src/com/google/common/base/Joiner.java':[
2622
457,
2723
468,
@@ -113,7 +109,6 @@
113109
193,
114110
194,
115111
195,
116-
575,
117112
],
118113
'com.google.guava:guava:src/com/google/common/collect/ImmutableSet.java':[
119114
69,
@@ -144,9 +139,6 @@
144139
314,
145140
1303,
146141
],
147-
'com.google.guava:guava:src/com/google/common/collect/LexicographicalOrdering.java':[
148-
70,
149-
],
150142
'com.google.guava:guava:src/com/google/common/collect/LinkedHashMultimap.java':[
151143
443,
152144
],
@@ -207,27 +199,18 @@
207199
'com.google.guava:guava:src/com/google/common/collect/Multisets.java':[
208200
367,
209201
],
210-
'com.google.guava:guava:src/com/google/common/collect/NullsFirstOrdering.java':[
211-
73,
212-
],
213-
'com.google.guava:guava:src/com/google/common/collect/NullsLastOrdering.java':[
214-
73,
215-
],
216202
'com.google.guava:guava:src/com/google/common/collect/Ordering.java':[
217203
658,
218204
695,
219205
720,
220206
],
221207
'com.google.guava:guava:src/com/google/common/collect/Range.java':[
222-
639,
223208
651,
224209
],
225210
'com.google.guava:guava:src/com/google/common/collect/RegularImmutableTable.java':[
226211
162,
227212
],
228213
'com.google.guava:guava:src/com/google/common/collect/Sets.java':[
229-
1220,
230-
1226,
231214
1292,
232215
1318,
233216
],
@@ -250,10 +233,6 @@
250233
122,
251234
193,
252235
],
253-
'com.google.guava:guava:src/com/google/common/eventbus/Subscriber.java':[
254-
117,
255-
117,
256-
],
257236
'com.google.guava:guava:src/com/google/common/hash/AbstractNonStreamingHashFunction.java':[
258237
35,
259238
52,
@@ -342,8 +321,6 @@
342321
364,
343322
366,
344323
376,
345-
406,
346-
413,
347324
432,
348325
434,
349326
],
@@ -363,7 +340,6 @@
363340
518,
364341
528,
365342
532,
366-
553,
367343
569,
368344
570,
369345
],
@@ -662,27 +638,22 @@
662638
63,
663639
63,
664640
257,
665-
462,
666641
469,
667642
],
668643
'com.google.guava:guava:src/com/google/common/primitives/Bytes.java':[
669-
375,
670644
382,
671645
],
672646
'com.google.guava:guava:src/com/google/common/primitives/Chars.java':[
673647
294,
674648
324,
675-
576,
676649
583,
677650
],
678651
'com.google.guava:guava:src/com/google/common/primitives/Doubles.java':[
679652
361,
680-
567,
681653
574,
682654
],
683655
'com.google.guava:guava:src/com/google/common/primitives/Floats.java':[
684656
357,
685-
562,
686657
569,
687658
],
688659
'com.google.guava:guava:src/com/google/common/primitives/Ints.java':[
@@ -695,7 +666,6 @@
695666
336,
696667
336,
697668
423,
698-
624,
699669
631,
700670
650,
701671
654,
@@ -728,7 +698,6 @@
728698
356,
729699
359,
730700
458,
731-
660,
732701
667,
733702
],
734703
'com.google.guava:guava:src/com/google/common/primitives/ParseRequest.java':[
@@ -746,7 +715,6 @@
746715
302,
747716
334,
748717
421,
749-
623,
750718
630,
751719
],
752720
'com.google.guava:guava:src/com/google/common/primitives/SignedBytes.java':[

its/ruling/src/test/resources/java-squid/squid-S109.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
'org.sonarsource.java:java-squid:src/main/java/org/sonar/java/resolve/JavaType.java':[
2222
87,
2323
98,
24-
279,
25-
279,
2624
],
2725
'org.sonarsource.java:java-squid:src/main/java/org/sonar/java/resolve/Types.java':[
2826
40,

its/ruling/src/test/resources/sonar-server/squid-S109.json

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -397,13 +397,6 @@
397397
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/es/SearchOptions.java':[
398398
105,
399399
],
400-
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/es/request/ProxyBulkRequestBuilder.java':[
401-
156,
402-
157,
403-
],
404-
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/exceptions/Message.java':[
405-
78,
406-
],
407400
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/issue/InternalRubyIssueService.java':[
408401
340,
409402
341,
@@ -414,8 +407,6 @@
414407
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/issue/Result.java':[
415408
81,
416409
84,
417-
147,
418-
148,
419410
],
420411
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/issue/index/IssueAuthorizationDao.java':[
421412
179,
@@ -525,9 +516,6 @@
525516
208,
526517
208,
527518
],
528-
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/qualityprofile/QProfileName.java':[
529-
62,
530-
],
531519
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/qualityprofile/index/ActiveRuleIndex.java':[
532520
128,
533521
],
@@ -575,9 +563,6 @@
575563
64,
576564
77,
577565
],
578-
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/source/OpeningHtmlTag.java':[
579-
54,
580-
],
581566
'org.codehaus.sonar:sonar-server:src/main/java/org/sonar/server/source/index/SourceFileResultSetIterator.java':[
582567
106,
583568
107,

java-checks/src/main/java/org/sonar/java/checks/MagicNumberCheck.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.sonar.check.Priority;
2424
import org.sonar.check.Rule;
2525
import org.sonar.check.RuleProperty;
26+
import org.sonar.java.model.declaration.MethodTreeImpl;
2627
import org.sonar.java.tag.Tag;
2728
import org.sonar.plugins.java.api.JavaFileScanner;
2829
import org.sonar.plugins.java.api.JavaFileScannerContext;
@@ -31,6 +32,7 @@
3132
import org.sonar.plugins.java.api.tree.EnumConstantTree;
3233
import org.sonar.plugins.java.api.tree.ExpressionTree;
3334
import org.sonar.plugins.java.api.tree.LiteralTree;
35+
import org.sonar.plugins.java.api.tree.MethodTree;
3436
import org.sonar.plugins.java.api.tree.NewArrayTree;
3537
import org.sonar.plugins.java.api.tree.Tree;
3638
import org.sonar.plugins.java.api.tree.Tree.Kind;
@@ -124,4 +126,11 @@ public void visitVariable(VariableTree tree) {
124126
super.visitVariable(tree);
125127
}
126128
}
129+
130+
@Override
131+
public void visitMethod(MethodTree tree) {
132+
if (!((MethodTreeImpl) tree).isHashCodeMethod()) {
133+
super.visitMethod(tree);
134+
}
135+
}
127136
}

java-checks/src/test/files/checks/MagicNumberCheck.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,11 @@ protected char[] initialValue() {
7878
}
7979
};
8080

81+
@Override
82+
public int hashCode() {
83+
return 42; // Compliant
84+
}
85+
8186
int nothing;
8287
}
8388

0 commit comments

Comments
 (0)