private Stream descriptors()

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);
    }