Skip to content

Commit 784c241

Browse files
authored
Merge pull request #2145 from guwirth/fix-2139-2
fix-2139
2 parents b6530f7 + aced92b commit 784c241

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

sonar-cxx-plugin/src/main/java/org/sonar/plugins/cxx/CxxSquidSensor.java

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -464,13 +464,23 @@ private void saveFileLinesContext(InputFile inputFile, SourceFile sourceFile) {
464464
// measures for the lines of file
465465
FileLinesContext fileLinesContext = fileLinesContextFactory.createFor(inputFile);
466466
List<Integer> linesOfCode = (List<Integer>) sourceFile.getData(CxxMetric.NCLOC_DATA);
467-
linesOfCode.stream().sequential().distinct().forEach(
468-
line -> fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, line, 1)
469-
);
467+
linesOfCode.stream().sequential().distinct().forEach((line) -> {
468+
try {
469+
fileLinesContext.setIntValue(CoreMetrics.NCLOC_DATA_KEY, line, 1);
470+
} catch (IllegalArgumentException | IllegalStateException e) {
471+
// ignore errors: parsing errors could lead to wrong location data
472+
LOG.debug("NCLOC error in file '{}' at line:{}", inputFile.filename(), line);
473+
}
474+
});
470475
List<Integer> executableLines = (List<Integer>) sourceFile.getData(CxxMetric.EXECUTABLE_LINES_DATA);
471-
executableLines.stream().sequential().distinct().forEach(
472-
line -> fileLinesContext.setIntValue(CoreMetrics.EXECUTABLE_LINES_DATA_KEY, line, 1)
473-
);
476+
executableLines.stream().sequential().distinct().forEach((line) -> {
477+
try {
478+
fileLinesContext.setIntValue(CoreMetrics.EXECUTABLE_LINES_DATA_KEY, line, 1);
479+
} catch (IllegalArgumentException | IllegalStateException e) {
480+
// ignore errors: parsing errors could lead to wrong location data
481+
LOG.debug("EXECUTABLE LINES error in file '{}' at line:{}", inputFile.filename(), line);
482+
}
483+
});
474484
fileLinesContext.save();
475485
}
476486

0 commit comments

Comments
 (0)