Code Duplication    Length = 13-14 lines in 2 locations

src/Bridge/Symfony/VarDumper/Caster/EnumCaster.php 1 location

@@ 27-39 (lines=13) @@
24
        $value = $enum->getValue();
25
        $r = new \ReflectionClass($enum);
26
27
        $constants = array_filter($r->getConstants(), static function (string $k) use ($r, $enum) {
28
            if (PHP_VERSION_ID >= 70100) {
29
                // ReflectionClass::getReflectionConstant() is only available since PHP 7.1
30
                $rConstant = $r->getReflectionConstant($k);
31
                $public = $rConstant->isPublic();
32
                $value = $rConstant->getValue();
33
            } else {
34
                $public = true;
35
                $value = \constant("{$r->getName()}::$k");
36
            }
37
            // Only keep public constants, for which value matches enumerable values set:
38
            return $public && $enum::accepts($value);
39
        }, ARRAY_FILTER_USE_KEY);
40
41
        $rConstants = array_flip($constants);
42

src/JsDumper/JsDumper.php 1 location

@@ 271-284 (lines=14) @@
268
        $r = new \ReflectionClass($enumFqcn);
269
        $constants = array_filter(
270
            $r->getConstants(),
271
            static function (string $k) use ($r, $enumFqcn) {
272
                if (PHP_VERSION_ID >= 70100) {
273
                    // ReflectionClass::getReflectionConstant() is only available since PHP 7.1
274
                    $rConstant = $r->getReflectionConstant($k);
275
                    $public = $rConstant->isPublic();
276
                    $value = $rConstant->getValue();
277
                } else {
278
                    $public = true;
279
                    $value = \constant("{$r->getName()}::$k");
280
                }
281
282
                // Only keep public constants, for which value matches enumerable values set:
283
                return $public && $enumFqcn::accepts($value);
284
            },
285
            ARRAY_FILTER_USE_KEY
286
        );
287