From: Julien HENRY Date: Fri, 17 Apr 2015 13:32:52 +0000 (+0200) Subject: Speed up highlighting on batch side X-Git-Tag: 5.2-RC1~2152 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=c8d6f37f0f6ff1bc7c6107350e4954bda086a14d;p=sonarqube.git Speed up highlighting on batch side --- diff --git a/sonar-batch/src/main/java/org/sonar/batch/sensor/DefaultSensorStorage.java b/sonar-batch/src/main/java/org/sonar/batch/sensor/DefaultSensorStorage.java index f73c35c0679..63109a53d85 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/sensor/DefaultSensorStorage.java +++ b/sonar-batch/src/main/java/org/sonar/batch/sensor/DefaultSensorStorage.java @@ -231,8 +231,6 @@ public class DefaultSensorStorage implements SensorStorage { @Override public BatchReport.SyntaxHighlighting apply(SyntaxHighlightingRule input) { - builder.clear(); - rangeBuilder.clear(); builder.setRange(rangeBuilder.setStartLine(input.range().start().line()) .setStartOffset(input.range().start().lineOffset()) .setEndLine(input.range().end().line()) diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultInputFile.java b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultInputFile.java index 5190bb1a0f1..62f96db4ff9 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultInputFile.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/DefaultInputFile.java @@ -227,6 +227,10 @@ public class DefaultInputFile implements InputFile { public TextRange newRange(TextPointer start, TextPointer end) { checkValid(start, "start pointer"); checkValid(end, "end pointer"); + return newRangeValidPointers(start, end); + } + + private TextRange newRangeValidPointers(TextPointer start, TextPointer end) { Preconditions.checkArgument(start.compareTo(end) < 0, "Start pointer %s should be before end pointer %s", start, end); return new DefaultTextRange(start, end); } @@ -235,7 +239,7 @@ public class DefaultInputFile implements InputFile { * Create Range from global offsets. Used for backward compatibility with older API. */ public TextRange newRange(int startOffset, int endOffset) { - return newRange(newPointer(startOffset), newPointer(endOffset)); + return newRangeValidPointers(newPointer(startOffset), newPointer(endOffset)); } public TextPointer newPointer(int globalOffset) {