parameters:

    level: 5

    paths:
        - src
    #    - tests

    excludePaths:
            - src/DataTables/Adapter/*
            - src/Configuration/*
            - src/Doctrine/Purger/*
            - src/DataTables/Adapters/TwoStepORMAdapter.php



    inferPrivatePropertyTypeFromConstructor: true
    treatPhpDocTypesAsCertain: false

    symfony:
        container_xml_path: '%rootDir%/../../../var/cache/dev/App_KernelDevDebugContainer.xml'

    doctrine:
    	objectManagerLoader: tests/object-manager.php
    	allowNullablePropertyForRequiredField: true

    checkUninitializedProperties: true

    checkFunctionNameCase: false

    checkAlwaysTrueInstanceof: false
    checkAlwaysTrueCheckTypeFunctionCall: false
    checkAlwaysTrueStrictComparison: false
    reportAlwaysTrueInLastCondition: false

    reportMaybesInPropertyPhpDocTypes: false
    reportMaybesInMethodSignatures: false

    strictRules:
    	disallowedLooseComparison: false
    	booleansInConditions: false
    	uselessCast: false
    	requireParentConstructorCall: true
    	disallowedConstructs: false
    	overwriteVariablesWithLoop: false
    	closureUsesThis: false
    	matchingInheritedMethodNames: true
    	numericOperandsInArithmeticOperators: true
    	strictCalls: true
    	switchConditionsMatchingType: false
    	noVariableVariables: false

    ignoreErrors:
        # Ignore errors caused by complex mapping with AbstractStructuralDBElement
        - '#AbstractStructuralDBElement does not have a field named \$parent#'
        #- '#AbstractStructuralDBElement does not have a field named \$name#'

        # Ignore errors related to the use of the ParametersTrait in Part entity
        - '#expects .*PartParameter, .*AbstractParameter given.#'
        - '#Part::getParameters\(\) should return .*AbstractParameter#'

        # Ignore doctrine type mapping mismatch
        - '#Property .* type mapping mismatch: property can contain .* but database expects .*#'