diff --git a/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/complex_array.php.inc b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/complex_array.php.inc new file mode 100644 index 00000000000..8bb555a1f1d --- /dev/null +++ b/rules-tests/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector/Fixture/complex_array.php.inc @@ -0,0 +1,54 @@ + new \stdClass(), + 'context' => [ + 'id' => 1, + 'data' => [ + 'foo' => 'bar', + 'baz' => 'qux', + ], + ], + 'values' => [ + 'name' => '111', + ], + ]; + } +} + +?> +----- + + */ + public function run(): array + { + return [ + 'id' => new \stdClass(), + 'context' => [ + 'id' => 1, + 'data' => [ + 'foo' => 'bar', + 'baz' => 'qux', + ], + ], + 'values' => [ + 'name' => '111', + ], + ]; + } +} + +?> \ No newline at end of file diff --git a/rules/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector.php b/rules/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector.php index 937599308d6..f621c68b5c4 100644 --- a/rules/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector.php +++ b/rules/TypeDeclarationDocblocks/Rector/ClassMethod/DocblockReturnArrayFromDirectArrayInstanceRector.php @@ -128,19 +128,19 @@ public function refactor(Node $node): ?Node */ private function constantToGenericType(Type $type): Type { - if ($type instanceof StringType) { + if ($type->isString()->yes()) { return new StringType(); } - if ($type instanceof IntegerType) { + if ($type->isInteger()->yes()) { return new IntegerType(); } - if ($type instanceof BooleanType) { + if ($type->isBoolean()->yes()) { return new BooleanType(); } - if ($type instanceof FloatType) { + if ($type->isFloat()->yes()) { return new FloatType(); }