From 79be178146aaff0a53de602e450c993fcc12846e Mon Sep 17 00:00:00 2001 From: Matthew Brown Date: Mon, 30 Dec 2019 17:01:10 -0500 Subject: [PATCH] Add associative-array as an alias of array --- src/Psalm/Type.php | 6 ++++-- src/Psalm/Type/Atomic.php | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Psalm/Type.php b/src/Psalm/Type.php index 994e0ec3cbc..9a02db49d53 100644 --- a/src/Psalm/Type.php +++ b/src/Psalm/Type.php @@ -262,7 +262,9 @@ public static function getTypeFromTree( $generic_type_value = self::fixScalarTerms($generic_type); - if (($generic_type_value === 'array' || $generic_type_value === 'non-empty-array') + if (($generic_type_value === 'array' + || $generic_type_value === 'non-empty-array' + || $generic_type_value === 'associative-array') && count($generic_params) === 1 ) { array_unshift($generic_params, new Union([new TArrayKey])); @@ -284,7 +286,7 @@ public static function getTypeFromTree( throw new TypeParseTreeException('No generic params provided for type'); } - if ($generic_type_value === 'array') { + if ($generic_type_value === 'array' || $generic_type_value === 'associative-array') { return new TArray($generic_params); } diff --git a/src/Psalm/Type/Atomic.php b/src/Psalm/Type/Atomic.php index 43550065581..3676ccbd213 100644 --- a/src/Psalm/Type/Atomic.php +++ b/src/Psalm/Type/Atomic.php @@ -159,6 +159,7 @@ public static function create( return new TCallable(); case 'array': + case 'associative-array': return new TArray([new Union([new TArrayKey]), new Union([new TMixed])]); case 'non-empty-array':