From 912db4a8446dd4220bc89e76ec1e5a17c0e2de3f Mon Sep 17 00:00:00 2001 From: David Grudl Date: Tue, 10 Jan 2023 21:46:09 +0100 Subject: [PATCH] Types::isSingle() -> isSimple() --- src/Utils/Type.php | 31 +++++++++++++++++++------------ tests/Utils/Type.fromString.phpt | 20 ++++++++++---------- 2 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/Utils/Type.php b/src/Utils/Type.php index f37f1b1e1..ba8d073f5 100644 --- a/src/Utils/Type.php +++ b/src/Utils/Type.php @@ -21,7 +21,7 @@ final class Type private $types; /** @var bool */ - private $single; + private $simple; /** @var string |, & */ private $kind; @@ -117,14 +117,14 @@ private function __construct(array $types, string $kind = '|') } $this->types = $types; - $this->single = ($types[1] ?? 'null') === 'null'; + $this->simple = ($types[1] ?? 'null') === 'null'; $this->kind = count($types) > 1 ? $kind : ''; } public function __toString(): string { - return $this->single + return $this->simple ? (count($this->types) > 1 ? '?' : '') . $this->types[0] : implode($this->kind, $this->types); } @@ -151,11 +151,11 @@ public function getTypes(): array /** - * Returns the type name for single types, otherwise null. + * Returns the type name for simple types, otherwise null. */ public function getSingleName(): ?string { - return $this->single + return $this->simple ? $this->types[0] : null; } @@ -180,29 +180,36 @@ public function isIntersection(): bool /** - * Returns true whether it is a single type. Simple nullable types are also considered to be single types. + * Returns true whether it is a simple type. Single nullable types are also considered to be simple types. */ + public function isSimple(): bool + { + return $this->simple; + } + + + /** @deprecated use isSimple() */ public function isSingle(): bool { - return $this->single; + return $this->simple; } /** - * Returns true whether the type is both a single and a PHP built-in type. + * Returns true whether the type is both a simple and a PHP built-in type. */ public function isBuiltin(): bool { - return $this->single && Validators::isBuiltinType($this->types[0]); + return $this->simple && Validators::isBuiltinType($this->types[0]); } /** - * Returns true whether the type is both a single and a class name. + * Returns true whether the type is both a simple and a class name. */ public function isClass(): bool { - return $this->single && !Validators::isBuiltinType($this->types[0]); + return $this->simple && !Validators::isBuiltinType($this->types[0]); } @@ -211,7 +218,7 @@ public function isClass(): bool */ public function isClassKeyword(): bool { - return $this->single && Validators::isClassKeyword($this->types[0]); + return $this->simple && Validators::isClassKeyword($this->types[0]); } diff --git a/tests/Utils/Type.fromString.phpt b/tests/Utils/Type.fromString.phpt index 99c79ec68..d1844d0de 100644 --- a/tests/Utils/Type.fromString.phpt +++ b/tests/Utils/Type.fromString.phpt @@ -21,7 +21,7 @@ Assert::same('string', $type->getSingleName()); Assert::false($type->isClass()); Assert::false($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::true($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -35,7 +35,7 @@ Assert::same('string', $type->getSingleName()); Assert::false($type->isClass()); Assert::true($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::true($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -49,7 +49,7 @@ Assert::same('string', $type->getSingleName()); Assert::false($type->isClass()); Assert::true($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::true($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -63,7 +63,7 @@ Assert::same('string', $type->getSingleName()); Assert::false($type->isClass()); Assert::true($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::true($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -77,7 +77,7 @@ Assert::same('NS\Foo', $type->getSingleName()); Assert::true($type->isClass()); Assert::false($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::false($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -91,7 +91,7 @@ Assert::null($type->getSingleName()); Assert::false($type->isClass()); Assert::true($type->isUnion()); Assert::false($type->isIntersection()); -Assert::false($type->isSingle()); +Assert::false($type->isSimple()); Assert::false($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -119,7 +119,7 @@ Assert::same('mixed', $type->getSingleName()); Assert::false($type->isClass()); Assert::false($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::true($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -133,7 +133,7 @@ Assert::same('null', $type->getSingleName()); Assert::false($type->isClass()); Assert::false($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::true($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -147,7 +147,7 @@ Assert::null($type->getSingleName()); Assert::false($type->isClass()); Assert::false($type->isUnion()); Assert::true($type->isIntersection()); -Assert::false($type->isSingle()); +Assert::false($type->isSimple()); Assert::false($type->isBuiltin()); Assert::false($type->isClassKeyword()); @@ -161,6 +161,6 @@ Assert::same('self', $type->getSingleName()); Assert::true($type->isClass()); Assert::false($type->isUnion()); Assert::false($type->isIntersection()); -Assert::true($type->isSingle()); +Assert::true($type->isSimple()); Assert::false($type->isBuiltin()); Assert::true($type->isClassKeyword());