From c75a1143fe33201301a314a758cf7846dbf21fdc Mon Sep 17 00:00:00 2001 From: Akihito Koriyama Date: Thu, 21 Sep 2023 18:33:24 +0900 Subject: [PATCH] No root level sign "\" for self --- src/AopCodeGenMethodSignature.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/AopCodeGenMethodSignature.php b/src/AopCodeGenMethodSignature.php index f1285d7d..01aa6330 100644 --- a/src/AopCodeGenMethodSignature.php +++ b/src/AopCodeGenMethodSignature.php @@ -109,10 +109,12 @@ public function getTypeString(?ReflectionType $type): string $typeStr = ''; if ($type instanceof ReflectionNamedType) { - $typeStr = $type->isBuiltin() ? $type->getName() : '\\' . $type->getName(); + /** @psalm-suppress TypeDoesNotContainType */ + $typeStr = $type->isBuiltin() || $type->getName() === 'self' ? $type->getName() : '\\' . $type->getName(); } elseif (class_exists('ReflectionUnionType') && $type instanceof ReflectionUnionType) { $types = array_map(static function (ReflectionNamedType $t) { - return $t->isBuiltin() ? $t->getName() : '\\' . $t->getName(); + /** @psalm-suppress TypeDoesNotContainType */ + return $t->isBuiltin() || $t->getName() === 'self' ? $t->getName() : '\\' . $t->getName(); }, (array) $type->getTypes()); return implode('|', $types);