1<?xml version="1.0"?>
2<ruleset>
3    <arg name="basepath" value="."/>
4    <arg name="extensions" value="php"/>
5    <arg name="parallel" value="80"/>
6    <arg name="cache" value=".phpcs-cache"/>
7    <arg name="colors"/>
8
9    <!-- Ignore warnings, show progress of the run and show sniff names -->
10    <arg value="nps"/>
11
12    <file>src</file>
13    <file>tests</file>
14
15    <rule ref="Doctrine">
16        <exclude name="SlevomatCodingStandard.TypeHints.DeclareStrictTypes"/>
17        <exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint"/>
18        <exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingReturnTypeHint"/>
19        <exclude name="SlevomatCodingStandard.Exceptions.ReferenceThrowableOnly.ReferencedGeneralException"/>
20    </rule>
21
22    <!-- Disable the rules that will require PHP 7.4 -->
23    <rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint">
24        <properties>
25            <property name="enableNativeTypeHint" value="false"/>
26        </properties>
27    </rule>
28
29    <rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHint.MissingNativeTypeHint">
30        <exclude-pattern>*/src/*</exclude-pattern>
31    </rule>
32
33    <rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingNativeTypeHint">
34        <exclude-pattern>*/src/*</exclude-pattern>
35    </rule>
36
37    <rule ref="SlevomatCodingStandard.Classes.SuperfluousAbstractClassNaming">
38        <exclude-pattern>tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php</exclude-pattern>
39    </rule>
40
41    <rule ref="SlevomatCodingStandard.Classes.SuperfluousExceptionNaming">
42        <exclude-pattern>src/Doctrine/Instantiator/Exception/UnexpectedValueException.php</exclude-pattern>
43        <exclude-pattern>src/Doctrine/Instantiator/Exception/InvalidArgumentException.php</exclude-pattern>
44    </rule>
45
46    <rule ref="SlevomatCodingStandard.Classes.SuperfluousInterfaceNaming">
47        <exclude-pattern>src/Doctrine/Instantiator/Exception/ExceptionInterface.php</exclude-pattern>
48        <exclude-pattern>src/Doctrine/Instantiator/InstantiatorInterface.php</exclude-pattern>
49    </rule>
50</ruleset>
51