Code Duplication    Length = 13-13 lines in 2 locations

src/Spec.php 2 locations

@@ 125-137 (lines=13) @@
122
    /**
123
     * @return AndX
124
     */
125
    public static function andX()
126
    {
127
        // NEXT_MAJOR: use variable-length argument lists (...$specs)
128
        $spec = (new \ReflectionClass(AndX::class))->newInstanceArgs(func_get_args());
129
130
        // hook for PHPStan
131
        if (!($spec instanceof AndX)) {
132
            throw new \RuntimeException(
133
                sprintf('The specification must be an instance of "%s", but got "%s".', AndX::class, get_class($spec))
134
            );
135
        }
136
137
        return $spec;
138
    }
139
140
    /**
@@ 143-155 (lines=13) @@
140
    /**
141
     * @return OrX
142
     */
143
    public static function orX()
144
    {
145
        // NEXT_MAJOR: use variable-length argument lists (...$specs)
146
        $spec = (new \ReflectionClass(OrX::class))->newInstanceArgs(func_get_args());
147
148
        // hook for PHPStan
149
        if (!($spec instanceof OrX)) {
150
            throw new \RuntimeException(
151
                sprintf('The specification must be an instance of "%s", but got "%s".', OrX::class, get_class($spec))
152
            );
153
        }
154
155
        return $spec;
156
    }
157
158
    /**