Skip to content

Commit eb6dc13

Browse files
committed
Improve reflection reader
1 parent 304c90c commit eb6dc13

File tree

8 files changed

+385
-22
lines changed

8 files changed

+385
-22
lines changed

src/Mapping/Reader/ReflectionReader/TypePropertyReflectionLoader.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ private function createNamedTypeDefinition(\ReflectionNamedType $type): string
151151
{
152152
$result = $this->createNonNullNamedTypeDefinition($type);
153153

154-
if ($type->allowsNull() && $type->getName() !== 'null') {
154+
if ($type->allowsNull() && !\in_array($type->getName(), ['null', 'mixed'], true)) {
155155
return $result . '|null';
156156
}
157157

@@ -174,6 +174,7 @@ private function createNonNullNamedTypeDefinition(\ReflectionNamedType $type): s
174174
$name = new Name($type->getName());
175175

176176
if ($type->isBuiltin() || $name->isSpecial() || $name->isBuiltin()) {
177+
/** @var non-empty-string */
177178
return $literal;
178179
}
179180

tests/Mapping/Reader/Config/JsonConfigReaderTestAll/TypeLang.Mapper.Tests.Mapping.Reader.Stub.SampleClass.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,4 @@
2020
}
2121
}
2222

23+

tests/Mapping/Reader/Config/NeonConfigReaderTest/TypeLang.Mapper.Tests.Mapping.Reader.Stub.SampleClass.neon

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ properties:
22
name:
33
type: string
44

5+

tests/Mapping/Reader/Config/NeonConfigReaderTestAll/TypeLang.Mapper.Tests.Mapping.Reader.Stub.SampleClass.neon

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ properties:
1717
- 'this.flag == false'
1818
age: int
1919

20+

tests/Mapping/Reader/Config/YamlConfigReaderTest/TypeLang.Mapper.Tests.Mapping.Reader.Stub.SampleClass.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ properties:
22
name:
33
type: string
44

5+

tests/Mapping/Reader/Config/YamlConfigReaderTestAll/TypeLang.Mapper.Tests.Mapping.Reader.Stub.SampleClass.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@ properties:
1717
- 'this.flag == false'
1818
age: int
1919

20+

0 commit comments

Comments
 (0)