in sarif/src/main/java/com/jetbrains/qodana/sarif/baseline/DescriptorLookup.java [30:49]
private Stream<DescriptorWithLocation> descriptors(Run run) {
Stream<DescriptorWithLocation> driverRules = Optional.ofNullable(run.getTool())
.map(Tool::getDriver)
.map(driver -> {
Stream<ReportingDescriptor> s = driver.getRules() == null ? Stream.empty() : driver.getRules().stream();
return s.map(r -> new DescriptorWithLocation(r, driver));
})
.orElseGet(Stream::empty);
Stream<DescriptorWithLocation> extRules = Optional.ofNullable(run.getTool())
.map(Tool::getExtensions)
.orElseGet(HashSet::new)
.stream()
.flatMap(extension -> {
Stream<ReportingDescriptor> s = extension.getRules() == null ? Stream.empty() : extension.getRules().stream();
return s.map(r -> new DescriptorWithLocation(r, extension));
});
return Stream.concat(driverRules, extRules);
}