includes:
    - dev-tools/vendor/jangregor/phpstan-prophecy/extension.neon
    - dev-tools/vendor/phpstan/phpstan/conf/bleedingEdge.neon
    - dev-tools/vendor/phpstan/phpstan-phpunit/extension.neon

    # Baseline, should only shrink! To regenerate it, just execute:
    # dev-tools/vendor/bin/phpstan analyse --generate-baseline=dev-tools/phpstan/baseline.php
    - dev-tools/phpstan/baseline.php

parameters:
    level: 6
    paths:
        - src
        - tests
    excludePaths:
        - tests/Fixtures
    reportUnmatchedIgnoredErrors: true # Do not allow outdated errors in the baseline
    treatPhpDocTypesAsCertain: false
    ignoreErrors:
        - '/^Class [a-zA-Z\\]+ extends @final class PhpCsFixer\\(ConfigurationException\\InvalidConfigurationException|ConfigurationException\\InvalidFixerConfigurationException|Tokenizer\\Tokens)\.$/'
        - '/^\$this\(PhpCsFixer\\Tokenizer\\Tokens\) does not accept PhpCsFixer\\Tokenizer\\Token\|null\.$/'

        # ignore PHPUnit data providers return type as they are not checked against the test methods anyway
        - '#^Method PhpCsFixer\\Tests\\.+::provide.+Cases\(\) return type has no value type specified in iterable type (array|iterable)\.$#'

        -
            message: '#Call to static method .+ with .+ will always evaluate to true.$#'
            path: tests
            count: 18
    tipsOfTheDay: false
    tmpDir: dev-tools/phpstan/cache
