Code Duplication    Length = 13-13 lines in 2 locations

src/ReflectionEnum.php 2 locations

@@ 98-110 (lines=13) @@
95
     *
96
     * @return Enum[]
97
     */
98
    final public static function values()
99
    {
100
        $class = get_called_class();
101
102
        if (!isset(self::$values[$class])) {
103
            self::$values[$class] = [];
104
            foreach (self::constants() as $constant => $value) {
105
                self::$values[$class][$constant] = self::byValue($value);
106
            }
107
        }
108
109
        return self::$values[$class];
110
    }
111
112
    /**
113
     * @param Enum $enum
@@ 146-158 (lines=13) @@
143
     *
144
     * @return array
145
     */
146
    final public static function choices()
147
    {
148
        $class = get_called_class();
149
150
        if (!isset(self::$choices[$class])) {
151
            self::$choices[$class] = [];
152
            foreach (self::constants() as $value) {
153
                self::$choices[$class][$value] = (string) self::byValue($value);
154
            }
155
        }
156
157
        return self::$choices[$class];
158
    }
159
160
    /**
161
     * Return readable value.