diff --git a/src/EventHandler/Fun/Pipe/PipeArgumentsProvider.php b/src/EventHandler/Fun/Pipe/PipeArgumentsProvider.php index 810a52f..af858fb 100644 --- a/src/EventHandler/Fun/Pipe/PipeArgumentsProvider.php +++ b/src/EventHandler/Fun/Pipe/PipeArgumentsProvider.php @@ -2,7 +2,7 @@ declare(strict_types=1); -namespace Psalm\Tests\Config\Plugin\Hook; +namespace Psl\Psalm\EventHandler\Fun\Pipe; use Psalm\Plugin\DynamicFunctionStorage; use Psalm\Plugin\DynamicTemplateProvider; @@ -16,7 +16,7 @@ use function count; use function range; -final class PipeFunctionPlugin implements DynamicFunctionStorageProviderInterface +final class PipeArgumentsProvider implements DynamicFunctionStorageProviderInterface { /** * @return array @@ -37,7 +37,7 @@ public static function getFunctionStorage(DynamicFunctionStorageProviderEvent $e // All expected callables for pipe $pipe_callables = array_map( - fn($callable_offset) => self::createABCallable($callable_offset, $template_provider), + static fn ($callable_offset) => self::createABCallable($callable_offset, $template_provider), range(1, $callable_args_count) ); diff --git a/src/EventHandler/Iter/First/FunctionReturnTypeProvider.php b/src/EventHandler/Iter/First/FunctionReturnTypeProvider.php index 7168824..dfd0a8a 100644 --- a/src/EventHandler/Iter/First/FunctionReturnTypeProvider.php +++ b/src/EventHandler/Iter/First/FunctionReturnTypeProvider.php @@ -34,20 +34,20 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev } if ($array_argument_type instanceof Type\Atomic\TNonEmptyArray) { - return clone $array_argument_type->type_params[1]; + return $array_argument_type->type_params[1]; } if ($array_argument_type instanceof Type\Atomic\TNonEmptyList) { - return clone $array_argument_type->type_param; + return $array_argument_type->type_param; } if ($array_argument_type instanceof Type\Atomic\TKeyedArray) { // TODO(azjezz): add support for this once psalm starts enforcing the shape order ( if ever ). // // foreach ($properties as $property) { - // return clone $property; + // return $property; // } - return clone $array_argument_type->getGenericValueType(); + return $array_argument_type->getGenericValueType(); } return null; diff --git a/src/EventHandler/Iter/FirstKey/FunctionReturnTypeProvider.php b/src/EventHandler/Iter/FirstKey/FunctionReturnTypeProvider.php index f95ebfd..d276046 100644 --- a/src/EventHandler/Iter/FirstKey/FunctionReturnTypeProvider.php +++ b/src/EventHandler/Iter/FirstKey/FunctionReturnTypeProvider.php @@ -34,7 +34,7 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev } if ($array_argument_type instanceof Type\Atomic\TNonEmptyArray) { - return clone $array_argument_type->type_params[0]; + return $array_argument_type->type_params[0]; } if ($array_argument_type instanceof Type\Atomic\TNonEmptyList) { @@ -45,9 +45,9 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev // TODO(azjezz): add support for this once psalm starts enforcing the shape order ( if ever ). // // foreach ($properties as $property) { - // return clone $property; + // return $property; // } - return clone $array_argument_type->getGenericKeyType(); + return $array_argument_type->getGenericKeyType(); } return null; diff --git a/src/EventHandler/Iter/Last/FunctionReturnTypeProvider.php b/src/EventHandler/Iter/Last/FunctionReturnTypeProvider.php index 6a7a8c8..5f79bb7 100644 --- a/src/EventHandler/Iter/Last/FunctionReturnTypeProvider.php +++ b/src/EventHandler/Iter/Last/FunctionReturnTypeProvider.php @@ -34,11 +34,11 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev } if ($array_argument_type instanceof Type\Atomic\TNonEmptyArray) { - return clone $array_argument_type->type_params[1]; + return $array_argument_type->type_params[1]; } if ($array_argument_type instanceof Type\Atomic\TNonEmptyList) { - return clone $array_argument_type->type_param; + return $array_argument_type->type_param; } if ($array_argument_type instanceof Type\Atomic\TKeyedArray) { @@ -50,8 +50,8 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev // $last_property = $property; // } // - // return clone $last_property; - return clone $array_argument_type->getGenericValueType(); + // return $last_property; + return $array_argument_type->getGenericValueType(); } return null; diff --git a/src/EventHandler/Iter/LastKey/FunctionReturnTypeProvider.php b/src/EventHandler/Iter/LastKey/FunctionReturnTypeProvider.php index 7e98609..19abf16 100644 --- a/src/EventHandler/Iter/LastKey/FunctionReturnTypeProvider.php +++ b/src/EventHandler/Iter/LastKey/FunctionReturnTypeProvider.php @@ -34,7 +34,7 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev } if ($array_argument_type instanceof Type\Atomic\TNonEmptyArray) { - return clone $array_argument_type->type_params[0]; + return $array_argument_type->type_params[0]; } if ($array_argument_type instanceof Type\Atomic\TNonEmptyList) { @@ -50,8 +50,8 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev // $last_property = $property; // } // - // return clone $last_property; - return clone $array_argument_type->getGenericKeyType(); + // return $last_property; + return $array_argument_type->getGenericKeyType(); } return null; diff --git a/src/EventHandler/Type/Optional/FunctionReturnTypeProvider.php b/src/EventHandler/Type/Optional/FunctionReturnTypeProvider.php index 2c0fbb3..896f434 100644 --- a/src/EventHandler/Type/Optional/FunctionReturnTypeProvider.php +++ b/src/EventHandler/Type/Optional/FunctionReturnTypeProvider.php @@ -28,9 +28,6 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev return null; } - $clone = clone $argument_type; - $clone->possibly_undefined = true; - - return $clone; + return $argument_type->setPossiblyUndefined(true); } } diff --git a/src/EventHandler/Type/Shape/FunctionReturnTypeProvider.php b/src/EventHandler/Type/Shape/FunctionReturnTypeProvider.php index 3650a1a..ea45db6 100644 --- a/src/EventHandler/Type/Shape/FunctionReturnTypeProvider.php +++ b/src/EventHandler/Type/Shape/FunctionReturnTypeProvider.php @@ -57,8 +57,8 @@ public static function getFunctionReturnType(FunctionReturnTypeProviderEvent $ev return null; } - $property_type = clone $type->type_params[0]; - $property_type->possibly_undefined = $value->possibly_undefined; + $property_type = $type->type_params[0]; + $property_type = $property_type->setPossiblyUndefined($value->possibly_undefined); $properties[$name] = $property_type; }