]> source.dussan.org Git - sonarqube.git/commitdiff
Add more details when there is a failure to store highlighting
authorJulien HENRY <julien.henry@sonarsource.com>
Fri, 3 Apr 2015 07:07:46 +0000 (09:07 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Fri, 3 Apr 2015 07:08:23 +0000 (09:08 +0200)
sonar-plugin-api/src/main/java/org/sonar/api/batch/sensor/highlighting/internal/DefaultHighlighting.java

index ee42c236353343e7038ed3091d627656074a1c23..1712f50be88f563abfe72b6e424d9f7a728bd40b 100644 (file)
@@ -21,6 +21,7 @@ package org.sonar.api.batch.sensor.highlighting.internal;
 
 import com.google.common.base.Preconditions;
 import org.sonar.api.batch.fs.InputFile;
+import org.sonar.api.batch.fs.TextRange;
 import org.sonar.api.batch.fs.internal.DefaultInputFile;
 import org.sonar.api.batch.sensor.highlighting.NewHighlighting;
 import org.sonar.api.batch.sensor.highlighting.TypeOfText;
@@ -79,7 +80,13 @@ public class DefaultHighlighting extends DefaultStorable implements NewHighlight
   @Override
   public DefaultHighlighting highlight(int startOffset, int endOffset, TypeOfText typeOfText) {
     Preconditions.checkState(inputFile != null, "Call onFile() first");
-    SyntaxHighlightingRule syntaxHighlightingRule = SyntaxHighlightingRule.create(inputFile.newRange(startOffset, endOffset), typeOfText);
+    TextRange newRange;
+    try {
+      newRange = inputFile.newRange(startOffset, endOffset);
+    } catch (Exception e) {
+      throw new IllegalArgumentException("Unable to highlight file " + inputFile + " from offset " + startOffset + " to offset " + endOffset, e);
+    }
+    SyntaxHighlightingRule syntaxHighlightingRule = SyntaxHighlightingRule.create(newRange, typeOfText);
     this.syntaxHighlightingRules.add(syntaxHighlightingRule);
     return this;
   }