Code Duplication    Length = 9-9 lines in 2 locations

src/Psalm/Internal/Type/TypeParser.php 2 locations

@@ 205-213 (lines=9) @@
202
            if ($generic_type_value === 'class-string') {
203
                $class_name = (string) $generic_params[0];
204
205
                if (isset($template_type_map[$class_name])) {
206
                    $first_class = array_keys($template_type_map[$class_name])[0];
207
208
                    return self::getGenericParamClass(
209
                        $class_name,
210
                        $template_type_map[$class_name][$first_class][0],
211
                        $first_class
212
                    );
213
                }
214
215
                $param_union_types = array_values($generic_params[0]->getAtomicTypes());
216
@@ 851-859 (lines=9) @@
848
        if (strpos($parse_tree->value, '::')) {
849
            list($fq_classlike_name, $const_name) = explode('::', $parse_tree->value);
850
851
            if (isset($template_type_map[$fq_classlike_name]) && $const_name === 'class') {
852
                $first_class = array_keys($template_type_map[$fq_classlike_name])[0];
853
854
                return self::getGenericParamClass(
855
                    $fq_classlike_name,
856
                    $template_type_map[$fq_classlike_name][$first_class][0],
857
                    $first_class
858
                );
859
            }
860
861
            if ($const_name === 'class') {
862
                return new Atomic\TLiteralClassString($fq_classlike_name);