From c43c6d7c15406c4e78481bdb644886abdec9714b Mon Sep 17 00:00:00 2001 From: a-nakano Date: Tue, 18 May 2021 11:26:43 +0900 Subject: [PATCH] Added support for null. --- src/PhpDocTypeReader.php | 3 +++ tests/PhpDocTypeReaderTest.php | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/src/PhpDocTypeReader.php b/src/PhpDocTypeReader.php index 2825058..7887178 100644 --- a/src/PhpDocTypeReader.php +++ b/src/PhpDocTypeReader.php @@ -20,6 +20,7 @@ use PhpDocTypeReader\Type\FloatType; use PhpDocTypeReader\Type\GenericType; use PhpDocTypeReader\Type\IntType; +use PhpDocTypeReader\Type\NullType; use PhpDocTypeReader\Type\ObjectType; use PhpDocTypeReader\Type\StringType; use PhpDocTypeReader\Type\Type; @@ -109,6 +110,8 @@ private function getTypeFromNodeType(TypeNode $type_node, IdentifierContext $ide return new FloatType(); case 'bool': return new BoolType(); + case 'null': + return new NullType(); default: return new ObjectType( $this->tryGetClassNameFromIdentifier($type_node, $identifier_context) diff --git a/tests/PhpDocTypeReaderTest.php b/tests/PhpDocTypeReaderTest.php index 885e1fb..5ee1090 100644 --- a/tests/PhpDocTypeReaderTest.php +++ b/tests/PhpDocTypeReaderTest.php @@ -22,6 +22,7 @@ use PhpDocTypeReader\Type\FloatType; use PhpDocTypeReader\Type\GenericType; use PhpDocTypeReader\Type\IntType; +use PhpDocTypeReader\Type\NullType; use PhpDocTypeReader\Type\ObjectType; use PhpDocTypeReader\Type\StringType; use PhpDocTypeReader\Type\UnionType; @@ -220,6 +221,13 @@ public function paramProvider() '/** @param int|string $union_var */', $default_identifier_context, ], + [ + [ + 'nullable_var' => new UnionType([new IntType(), new NullType()]), + ], + '/** @param int|null $nullable_var */', + $default_identifier_context, + ], ]; } }