Skip to content

Commit 757e077

Browse files
vilchik-elenapynicolas
authored andcommitted
SONARPY-189 Metrics "files" and "lines" should not be computed by the python plugin (#76)
* SONARPY-189 Metrics "files" and "lines" should not be computed by the python plugin * SONARPY-189 Remove code which is now useless
1 parent 3708cfe commit 757e077

File tree

9 files changed

+6
-47
lines changed

9 files changed

+6
-47
lines changed

python-squid/src/main/java/org/sonar/python/PythonAstScanner.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import org.sonar.squidbridge.indexer.QueryByType;
4545
import org.sonar.squidbridge.metrics.ComplexityVisitor;
4646
import org.sonar.squidbridge.metrics.CounterVisitor;
47-
import org.sonar.squidbridge.metrics.LinesVisitor;
4847

4948
public final class PythonAstScanner {
5049

@@ -99,7 +98,6 @@ public static AstScanner<Grammar> create(PythonConfiguration conf, SquidAstVisit
9998
}
10099

101100
private static void setMetrics(AstScanner.Builder<Grammar> builder) {
102-
builder.withSquidAstVisitor(new LinesVisitor<Grammar>(PythonMetric.LINES));
103101
AstNodeType[] complexityAstNodeType = new AstNodeType[]{
104102
// Entry points
105103
PythonGrammar.FUNCDEF,

python-squid/src/main/java/org/sonar/python/api/PythonMetric.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424

2525
public enum PythonMetric implements MetricDef {
2626
FILES,
27-
LINES,
2827
LINES_OF_CODE,
2928
STATEMENTS,
3029
FUNCTIONS,

python-squid/src/main/java/org/sonar/python/metrics/FileLinesVisitor.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,14 +155,11 @@ public void leaveFile(AstNode astNode) {
155155
linesOfComments.add(line);
156156
}
157157

158-
int fileLength = getContext().peekSourceCode().getInt(PythonMetric.LINES);
159-
for (int line = 1; line <= fileLength; line++) {
160-
if (linesOfCode.contains(line)) {
161-
fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, line, 1);
162-
}
163-
if (linesOfComments.contains(line)) {
164-
fileLinesContext.setIntValue(CoreMetrics.COMMENT_LINES_DATA_KEY, line, 1);
165-
}
158+
for (int line : linesOfCode) {
159+
fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, line, 1);
160+
}
161+
for (int line : linesOfComments) {
162+
fileLinesContext.setIntValue(CoreMetrics.COMMENT_LINES_DATA_KEY, line, 1);
166163
}
167164
fileLinesContext.save();
168165

python-squid/src/test/java/org/sonar/python/PythonAstScannerTest.java

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -19,35 +19,14 @@
1919
*/
2020
package org.sonar.python;
2121

22-
import com.google.common.base.Charsets;
23-
import com.google.common.collect.ImmutableList;
24-
import com.sonar.sslr.api.Grammar;
25-
import java.io.File;
2622
import org.junit.Test;
2723
import org.sonar.python.api.PythonMetric;
28-
import org.sonar.squidbridge.AstScanner;
2924
import org.sonar.squidbridge.api.SourceFile;
30-
import org.sonar.squidbridge.api.SourceProject;
31-
import org.sonar.squidbridge.indexer.QueryByType;
3225

3326
import static org.assertj.core.api.Assertions.assertThat;
3427

3528
public class PythonAstScannerTest {
3629

37-
@Test
38-
public void files() {
39-
AstScanner<Grammar> scanner = PythonAstScanner.create(new PythonConfiguration(Charsets.UTF_8));
40-
scanner.scanFiles(ImmutableList.of(new File("src/test/resources/metrics/lines.py"), new File("src/test/resources/metrics/lines_of_code.py")));
41-
SourceProject project = (SourceProject) scanner.getIndex().search(new QueryByType(SourceProject.class)).iterator().next();
42-
assertThat(project.getInt(PythonMetric.FILES)).isEqualTo(2);
43-
}
44-
45-
@Test
46-
public void lines() {
47-
SourceFile file = PythonAstScanner.scanSingleFile("src/test/resources/metrics/lines.py");
48-
assertThat(file.getInt(PythonMetric.LINES)).isEqualTo(6);
49-
}
50-
5130
@Test
5231
public void statements() {
5332
SourceFile file = PythonAstScanner.scanSingleFile("src/test/resources/metrics/statements.py");

python-squid/src/test/java/org/sonar/python/api/PythonMetricTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class PythonMetricTest {
2727

2828
@Test
2929
public void test() {
30-
assertThat(PythonMetric.values()).hasSize(8);
30+
assertThat(PythonMetric.values()).hasSize(7);
3131

3232
for (PythonMetric metric : PythonMetric.values()) {
3333
assertThat(metric.getName()).isEqualTo(metric.name());

python-squid/src/test/resources/metrics/lines.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

python-squid/src/test/resources/metrics/lines_of_code.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

sonar-python-plugin/src/main/java/org/sonar/plugins/python/PythonSquidSensor.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,8 +181,6 @@ private void save(Collection<SourceCode> squidSourceFiles) {
181181
}
182182

183183
private void saveMeasures(InputFile inputFile, SourceFile squidFile) {
184-
saveMetricOnFile(inputFile, CoreMetrics.FILES, squidFile.getInt(PythonMetric.FILES));
185-
saveMetricOnFile(inputFile, CoreMetrics.LINES, squidFile.getInt(PythonMetric.LINES));
186184
saveMetricOnFile(inputFile, CoreMetrics.NCLOC, squidFile.getInt(PythonMetric.LINES_OF_CODE));
187185
saveMetricOnFile(inputFile, CoreMetrics.STATEMENTS, squidFile.getInt(PythonMetric.STATEMENTS));
188186
saveMetricOnFile(inputFile, CoreMetrics.FUNCTIONS, squidFile.getInt(PythonMetric.FUNCTIONS));

sonar-python-plugin/src/test/java/org/sonar/plugins/python/PythonSquidSensorTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,6 @@ public void test_execute() {
7777
sensor().execute(context);
7878

7979
String key = "moduleKey:file1.py";
80-
assertThat(context.measure(key, CoreMetrics.FILES).value()).isEqualTo(1);
81-
assertThat(context.measure(key, CoreMetrics.LINES).value()).isEqualTo(25);
8280
assertThat(context.measure(key, CoreMetrics.NCLOC).value()).isEqualTo(22);
8381
assertThat(context.measure(key, CoreMetrics.STATEMENTS).value()).isEqualTo(20);
8482
assertThat(context.measure(key, CoreMetrics.FUNCTIONS).value()).isEqualTo(4);

0 commit comments

Comments
 (0)