Skip to content

Commit 4d4390c

Browse files
committed
SONARJAVA-1272 Restore complexity api breaking change and deprecate some methods
From JavaFileScannerContext deprecate: * int getComplexity(Tree tree) * int getMethodComplexity(ClassTree enclosingClass, MethodTree methodTree) * void addNoSonarLines(Set<Integer> lines)
1 parent 3414687 commit 4d4390c

5 files changed

Lines changed: 36 additions & 10 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public List<Tree.Kind> nodesToVisit() {
5858

5959
@Override
6060
public void visitNode(Tree tree) {
61-
List<Tree> complexity = context.getComplexity(tree);
61+
List<Tree> complexity = context.getComplexityNodes(tree);
6262
int size = complexity.size();
6363
if (size > max) {
6464
List<JavaFileScannerContext.Location> flow = new ArrayList<>();

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public List<Tree.Kind> nodesToVisit() {
6060
@Override
6161
public void visitNode(Tree tree) {
6262
MethodTree methodTree = (MethodTree) tree;
63-
List<Tree> complexity = context.getComplexity(methodTree);
63+
List<Tree> complexity = context.getComplexityNodes(methodTree);
6464
int size = complexity.size();
6565
if (size > max) {
6666
List<JavaFileScannerContext.Location> flow = new ArrayList<>();

java-squid/src/main/java/org/sonar/java/Measurer.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ public void scanFile(JavaFileScannerContext context) {
9999
context.addNoSonarLines(commentLinesVisitor.noSonarLines());
100100
super.scanFile(context);
101101
//leave file.
102-
int fileComplexity = context.getComplexity(context.getTree()).size();
102+
int fileComplexity = context.getComplexityNodes(context.getTree()).size();
103103
saveMetricOnFile(CoreMetrics.CLASSES, classes);
104104
saveMetricOnFile(CoreMetrics.FUNCTIONS, methods);
105105
saveMetricOnFile(CoreMetrics.ACCESSORS, accessors);
@@ -145,7 +145,7 @@ public void visitNode(Tree tree) {
145145
accessors++;
146146
} else {
147147
methods++;
148-
int methodComplexity = context.getMethodComplexity(classTrees.peek(), methodTree).size();
148+
int methodComplexity = context.getMethodComplexityNodes(classTrees.peek(), methodTree).size();
149149
methodComplexityDistribution.add(methodComplexity);
150150
complexityInMethods += methodComplexity;
151151
}

java-squid/src/main/java/org/sonar/java/model/VisitorsBridge.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,12 +329,22 @@ public File getFile() {
329329
}
330330

331331
@Override
332-
public List<Tree> getComplexity(Tree tree) {
332+
public int getComplexity(Tree tree) {
333+
return getComplexityNodes(tree).size();
334+
}
335+
336+
@Override
337+
public int getMethodComplexity(ClassTree enclosingClass, MethodTree methodTree) {
338+
return getMethodComplexityNodes(enclosingClass, methodTree).size();
339+
}
340+
341+
@Override
342+
public List<Tree> getComplexityNodes(Tree tree) {
333343
return complexityVisitor.scan(tree);
334344
}
335345

336346
@Override
337-
public List<Tree> getMethodComplexity(ClassTree enclosingClass, MethodTree methodTree) {
347+
public List<Tree> getMethodComplexityNodes(ClassTree enclosingClass, MethodTree methodTree) {
338348
return complexityVisitor.scan(enclosingClass, methodTree);
339349
}
340350

java-squid/src/main/java/org/sonar/plugins/java/api/JavaFileScannerContext.java

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,26 @@ public interface JavaFileScannerContext {
5454

5555
File getFile();
5656

57-
List<Tree> getComplexity(Tree tree);
58-
59-
List<Tree> getMethodComplexity(ClassTree enclosingClass, MethodTree methodTree);
60-
57+
/**
58+
* @deprecated As of release 3.6, replaced by {@link #getComplexityNodes(Tree)}
59+
*/
60+
@Deprecated
61+
int getComplexity(Tree tree);
62+
63+
/**
64+
* @deprecated As of release 3.6, replaced by {@link #getMethodComplexityNodes(ClassTree, MethodTree)}
65+
*/
66+
@Deprecated
67+
int getMethodComplexity(ClassTree enclosingClass, MethodTree methodTree);
68+
69+
List<Tree> getComplexityNodes(Tree tree);
70+
71+
List<Tree> getMethodComplexityNodes(ClassTree enclosingClass, MethodTree methodTree);
72+
73+
/**
74+
* @deprecated As of release 3.6, this method was not intended on a public interface
75+
*/
76+
@Deprecated
6177
void addNoSonarLines(Set<Integer> lines);
6278

6379
void reportIssue(JavaCheck javaCheck, Tree tree, String message);

0 commit comments

Comments
 (0)