includes:
	- phpstan-baseline-common.neon
	- phpstan-baseline-by-php-version.php

parameters:
    level: max

    checkFunctionNameCase: true
    checkInternalClassCaseSensitivity: true
    treatPhpDocTypesAsCertain: false

    paths:
        - application
        - library

    scanDirectories:
        - /icingaweb2
        - /usr/share/icingaweb2-modules/director
        - /usr/share/icinga-php/ipl
        - /usr/share/icinga-php/vendor

    ignoreErrors:
        -
            messages:
                - '#Unsafe usage of new static\(\)#'
                - '#. but return statement is missing#'
            reportUnmatched: false

        - '#Call to an undefined method React\\Promise#'

        - '#Call to an undefined method ipl\\Sql\\Connection::lastInsertId\(\)#'

        - '#Access to an undefined property React\\Socket\\ConnectionInterface::\$stream#'

        - '#Binary operation .* between GMP and .* results in an error#'

        - '#Access to an undefined property (Icinga\\Module\\X509\\Model\\.*|ipl\\Orm\\Query::.*)#'

    universalObjectCratesClasses:
        - ipl\Orm\Model
        - Icinga\Web\View
        - Icinga\Data\ConfigObject
