private NewIssueLocation newLocation(InputFile inputFile, NewIssue issue, IssueLocation location) { TextRange range = inputFile.newRange( location.startLine(), location.startLineOffset(), location.endLine(), location.endLineOffset()); NewIssueLocation newLocation = issue.newLocation() .on(inputFile) .at(range); if (location.message() != null) { newLocation.message(location.message()); } return newLocation; }
public PreciseIssue secondary(Tree tree, String message) { secondaryLocations.add(new IssueLocation(primaryLocation.file(), tree, message)); return this; }
private static void verifyIssue(TestIssue expected, Issue actual, File file) { if (line(actual) > expected.line()) { fail("Missing issue at line " + expected.line() + " in file " + file.getAbsolutePath()); } if (line(actual) < expected.line()) { fail("Unexpected issue at line " + line(actual) + ": \"" + message(actual) + "\"" + " in file " + file.getAbsolutePath()); } if (expected.message() != null) { assertThat(message(actual)).as("Bad message at line " + expected.line()).isEqualTo(expected.message()); } if (expected.effortToFix() != null) { assertThat(actual.cost()).as("Bad effortToFix at line " + expected.line()).isEqualTo(expected.effortToFix()); } if (expected.startColumn() != null) { assertThat(((PreciseIssue) actual).primaryLocation().startLineOffset() + 1).as("Bad start column at line " + expected.line()).isEqualTo(expected.startColumn()); } if (expected.endColumn() != null) { assertThat(((PreciseIssue) actual).primaryLocation().endLineOffset() + 1).as("Bad end column at line " + expected.line()).isEqualTo(expected.endColumn()); } if (expected.endLine() != null) { assertThat(((PreciseIssue) actual).primaryLocation().endLine()).as("Bad end line at line " + expected.line()).isEqualTo(expected.endLine()); } if (expected.secondaryLines() != null) { assertThat(secondary(actual)).as("Bad secondary locations at line " + expected.line()).isEqualTo(expected.secondaryLines()); } }
private static Collection<CheckMessage> getCheckMessages(List<Issue> issues) { List<CheckMessage> checkMessages = new ArrayList<>(); for (Issue issue : issues) { CheckMessage checkMessage; if (issue instanceof FileIssue) { FileIssue fileIssue = (FileIssue) issue; checkMessage = new CheckMessage(fileIssue.check(), fileIssue.message()); } else if (issue instanceof LineIssue) { LineIssue lineIssue = (LineIssue) issue; checkMessage = new CheckMessage(lineIssue.check(), lineIssue.message()); checkMessage.setLine(lineIssue.line()); } else { PreciseIssue preciseIssue = (PreciseIssue) issue; checkMessage = new CheckMessage(preciseIssue.check(), preciseIssue.primaryLocation().message()); checkMessage.setLine(preciseIssue.primaryLocation().startLine()); } if (issue.cost() != null) { checkMessage.setCost(issue.cost()); } checkMessages.add(checkMessage); } return checkMessages; }
public FileIssue secondary(Tree tree, String message) { secondaryLocations.add(new IssueLocation(file, tree, message)); return this; }
private static int line(Issue issue) { if (issue instanceof PreciseIssue) { return ((PreciseIssue) issue).primaryLocation().startLine(); } else if (issue instanceof FileIssue) { return 0; } else if (issue instanceof LineIssue) { return ((LineIssue) issue).line(); } else { throw new IllegalStateException("Unknown type of issue."); } }
private static String message(Issue issue) { if (issue instanceof PreciseIssue) { return ((PreciseIssue) issue).primaryLocation().message(); } else if (issue instanceof FileIssue) { return ((FileIssue) issue).message(); } else if (issue instanceof LineIssue) { return ((LineIssue) issue).message(); } else { throw new IllegalStateException("Unknown type of issue."); } }
private void savePreciseIssue(PreciseIssue issue) { NewIssue newIssue = sensorContext.newIssue(); InputFile primaryFile = Preconditions.checkNotNull(fileSystem.inputFile(fileSystem.predicates().is(issue.primaryLocation().file()))); newIssue .forRule(ruleKey(issue.check())) .at(newLocation(primaryFile, newIssue, issue.primaryLocation())); if (issue.cost() != null) { newIssue.gap(issue.cost()); } InputFile secondaryFile; for (IssueLocation secondary : issue.secondaryLocations()) { secondaryFile = fileSystem.inputFile(fileSystem.predicates().is(secondary.file())); if (secondaryFile == null) { secondaryFile = primaryFile; } newIssue.addLocation(newLocation(secondaryFile, newIssue, secondary)); } newIssue.save(); }
private static void verifyIssue(TestIssue expected, Issue actual, File file) { if (line(actual) > expected.line()) { fail("Missing issue at line " + expected.line() + " in file " + file.getAbsolutePath()); } if (line(actual) < expected.line()) { fail("Unexpected issue at line " + line(actual) + ": \"" + message(actual) + "\"" + " in file " + file.getAbsolutePath()); } if (expected.message() != null) { assertThat(message(actual)).as("Bad message at line " + expected.line()).isEqualTo(expected.message()); } if (expected.effortToFix() != null) { assertThat(actual.cost()).as("Bad effortToFix at line " + expected.line()).isEqualTo(expected.effortToFix()); } if (expected.startColumn() != null) { assertThat(((PreciseIssue) actual).primaryLocation().startLineOffset() + 1).as("Bad start column at line " + expected.line()).isEqualTo(expected.startColumn()); } if (expected.endColumn() != null) { assertThat(((PreciseIssue) actual).primaryLocation().endLineOffset() + 1).as("Bad end column at line " + expected.line()).isEqualTo(expected.endColumn()); } if (expected.endLine() != null) { assertThat(((PreciseIssue) actual).primaryLocation().endLine()).as("Bad end line at line " + expected.line()).isEqualTo(expected.endLine()); } if (expected.secondaryLines() != null) { assertThat(secondary(actual)).as("Bad secondary locations at line " + expected.line()).isEqualTo(expected.secondaryLines()); } }
private static Collection<CheckMessage> getCheckMessages(List<Issue> issues) { List<CheckMessage> checkMessages = new ArrayList<>(); for (Issue issue : issues) { CheckMessage checkMessage; if (issue instanceof FileIssue) { FileIssue fileIssue = (FileIssue) issue; checkMessage = new CheckMessage(fileIssue.check(), fileIssue.message()); } else if (issue instanceof LineIssue) { LineIssue lineIssue = (LineIssue) issue; checkMessage = new CheckMessage(lineIssue.check(), lineIssue.message()); checkMessage.setLine(lineIssue.line()); } else { PreciseIssue preciseIssue = (PreciseIssue) issue; checkMessage = new CheckMessage(preciseIssue.check(), preciseIssue.primaryLocation().message()); checkMessage.setLine(preciseIssue.primaryLocation().startLine()); } if (issue.cost() != null) { checkMessage.setCost(issue.cost()); } checkMessages.add(checkMessage); } return checkMessages; }
public FileIssue secondary(File file, Tree tree, String message) { secondaryLocations.add(new IssueLocation(file, tree, message)); return this; }
private static int line(Issue issue) { if (issue instanceof PreciseIssue) { return ((PreciseIssue) issue).primaryLocation().startLine(); } else if (issue instanceof FileIssue) { return 0; } else if (issue instanceof LineIssue) { return ((LineIssue) issue).line(); } else { throw new IllegalStateException("Unknown type of issue."); } }
private static String message(Issue issue) { if (issue instanceof PreciseIssue) { return ((PreciseIssue) issue).primaryLocation().message(); } else if (issue instanceof FileIssue) { return ((FileIssue) issue).message(); } else if (issue instanceof LineIssue) { return ((LineIssue) issue).message(); } else { throw new IllegalStateException("Unknown type of issue."); } }
private void saveFileIssue(FileIssue issue) { NewIssue newIssue = sensorContext.newIssue(); InputFile primaryFile = Preconditions.checkNotNull(fileSystem.inputFile(fileSystem.predicates().is(issue.file()))); NewIssueLocation primaryLocation = newIssue.newLocation() .message(issue.message()) .on(primaryFile); newIssue .forRule(ruleKey(issue.check())) .at(primaryLocation); if (issue.cost() != null) { newIssue.gap(issue.cost()); } InputFile secondaryFile; for (IssueLocation secondary : issue.secondaryLocations()) { secondaryFile = fileSystem.inputFile(fileSystem.predicates().is(secondary.file())); if (secondaryFile == null) { secondaryFile = primaryFile; } newIssue.addLocation(newLocation(secondaryFile, newIssue, secondary)); } newIssue.save(); }
public PreciseIssue secondary(Tree tree, String message) { secondaryLocations.add(new IssueLocation(primaryLocation.file(), tree, message)); return this; }
public PreciseIssue secondary(File file, Tree tree, String message) { secondaryLocations.add(new IssueLocation(file, tree, message)); return this; }
public FileIssue secondary(File file, Tree tree, String message) { secondaryLocations.add(new IssueLocation(file, tree, message)); return this; }
public FileIssue secondary(Tree tree, String message) { secondaryLocations.add(new IssueLocation(file, tree, message)); return this; }
public PreciseIssue secondary(File file, Tree tree, String message) { secondaryLocations.add(new IssueLocation(file, tree, message)); return this; }
public PreciseIssue addPreciseIssue(File file, Tree tree, String message) { PreciseIssue issue = new PreciseIssue(check, new IssueLocation(file, tree, message)); issueList.add(issue); return issue; }