summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMáté Kocsis <kocsismate@woohoolabs.com>2020-05-25 19:28:15 +0200
committerMáté Kocsis <kocsismate@woohoolabs.com>2020-05-26 19:06:19 +0200
commitfbe30592d6bec94463c68b27eabffca3a50c474e (patch)
tree5f7e2ca5bb754504eb0e4f7a49609088832172aa
parent38c85efe83004d98b7cce89689b40de32f8b8add (diff)
downloadphp-git-fbe30592d6bec94463c68b27eabffca3a50c474e.tar.gz
Improve type error messages when an object is given
From now on, we always display the given object's type instead of just reporting "object". Additionally, make the format of return type errors match the format of argument errors. Closes GH-5625
-rw-r--r--Zend/tests/add_002.phpt4
-rw-r--r--Zend/tests/add_003.phpt4
-rw-r--r--Zend/tests/bug26166.phpt2
-rw-r--r--Zend/tests/bug54305.phpt2
-rw-r--r--Zend/tests/decrement_001.phpt2
-rw-r--r--Zend/tests/decrement_001_64bit.phpt2
-rw-r--r--Zend/tests/exception_018.phpt2
-rw-r--r--Zend/tests/exception_019.phpt2
-rw-r--r--Zend/tests/exception_020.phpt2
-rw-r--r--Zend/tests/exception_021.phpt2
-rw-r--r--Zend/tests/exception_022.phpt2
-rw-r--r--Zend/tests/generators/throw_not_an_exception.phpt2
-rw-r--r--Zend/tests/increment_001.phpt2
-rw-r--r--Zend/tests/ns_071.phpt2
-rw-r--r--Zend/tests/object_types/return_type_in_class.phpt2
-rw-r--r--Zend/tests/object_types/return_type_in_function.phpt2
-rw-r--r--Zend/tests/object_types/return_type_inheritance_in_class.phpt2
-rw-r--r--Zend/tests/object_types/return_type_inheritance_in_interface.phpt2
-rw-r--r--Zend/tests/operator_unsupported_types.phpt842
-rw-r--r--Zend/tests/return_types/001.phpt2
-rw-r--r--Zend/tests/return_types/002.phpt2
-rw-r--r--Zend/tests/return_types/003.phpt2
-rw-r--r--Zend/tests/return_types/004.phpt2
-rw-r--r--Zend/tests/return_types/005.phpt2
-rw-r--r--Zend/tests/return_types/010.phpt2
-rw-r--r--Zend/tests/return_types/013.phpt2
-rw-r--r--Zend/tests/return_types/028.phpt2
-rw-r--r--Zend/tests/return_types/029.phpt2
-rw-r--r--Zend/tests/return_types/030.phpt2
-rw-r--r--Zend/tests/return_types/bug70557.phpt2
-rw-r--r--Zend/tests/return_types/bug71092.phpt2
-rw-r--r--Zend/tests/return_types/internal_functions001.phpt4
-rw-r--r--Zend/tests/return_types/rfc001.phpt2
-rw-r--r--Zend/tests/return_types/rfc003.phpt2
-rw-r--r--Zend/tests/throw/001.phpt2
-rw-r--r--Zend/tests/trait_type_errors.phpt2
-rw-r--r--Zend/tests/type_declarations/iterable_003.phpt2
-rw-r--r--Zend/tests/type_declarations/mixed/validation/mixed_return_strict_error.phpt5
-rw-r--r--Zend/tests/type_declarations/mixed/validation/mixed_return_weak_error.phpt2
-rw-r--r--Zend/tests/type_declarations/scalar_basic.phpt14
-rw-r--r--Zend/tests/type_declarations/scalar_return_basic.phpt48
-rw-r--r--Zend/tests/type_declarations/scalar_return_basic_64bit.phpt48
-rw-r--r--Zend/tests/type_declarations/scalar_strict.phpt16
-rw-r--r--Zend/tests/type_declarations/scalar_strict_64bit.phpt16
-rw-r--r--Zend/tests/type_declarations/scalar_strict_basic.phpt8
-rw-r--r--Zend/tests/type_declarations/static_type_return.phpt6
-rw-r--r--Zend/tests/type_declarations/static_type_trait.phpt2
-rw-r--r--Zend/tests/type_declarations/union_types/type_checking_strict.phpt36
-rw-r--r--Zend/tests/type_declarations/union_types/type_checking_weak.phpt30
-rw-r--r--Zend/tests/typehints/or_null.phpt32
-rw-r--r--Zend/zend_API.c10
-rw-r--r--Zend/zend_execute.c20
-rw-r--r--ext/date/tests/014.phpt2
-rw-r--r--ext/date/tests/DateTimeImmutable_createFromMutable.phpt2
-rw-r--r--ext/date/tests/DateTime_createFromImmutable.phpt2
-rw-r--r--ext/date/tests/bug70245.phpt2
-rw-r--r--ext/date/tests/microtime_error.phpt2
-rw-r--r--ext/date/tests/timezone_offset_get_error.phpt4
-rw-r--r--ext/intl/tests/bug48227.phpt2
-rw-r--r--ext/intl/tests/calendar_equals_error.phpt2
-rw-r--r--ext/libxml/tests/004.phpt2
-rw-r--r--ext/mbstring/tests/mb_substitute_character_variation_strict_types.phpt4
-rw-r--r--ext/mbstring/tests/mb_substitute_character_variation_weak_types.phpt2
-rw-r--r--ext/mysqli/tests/mysqli_fetch_object_oo.phpt2
-rw-r--r--ext/opcache/tests/iterable_type_optimization.phpt2
-rw-r--r--ext/opcache/tests/ssa_bug_003.phpt8
-rw-r--r--ext/pcre/tests/preg_grep_error1.phpt2
-rw-r--r--ext/pcre/tests/preg_match_all_error1.phpt2
-rw-r--r--ext/pcre/tests/preg_match_error1.phpt2
-rw-r--r--ext/pcre/tests/preg_match_error2.phpt2
-rw-r--r--ext/pcre/tests/preg_split_error1.phpt2
-rw-r--r--ext/reflection/tests/ReflectionClass_getMethod_002.phpt2
-rw-r--r--ext/reflection/tests/ReflectionClass_getProperty_002.phpt2
-rw-r--r--ext/reflection/tests/ReflectionReference_errors.phpt2
-rw-r--r--ext/session/tests/session_set_save_handler_iface_002.phpt2
-rw-r--r--ext/spl/tests/SplFixedArray_construct_param_SplFixedArray.phpt2
-rw-r--r--ext/spl/tests/fixedarray_005.phpt2
-rw-r--r--ext/spl/tests/iterator_044.phpt8
-rw-r--r--ext/spl/tests/recursive_tree_iterator_003.phpt2
-rw-r--r--ext/standard/tests/array/array_diff_assoc_variation1.phpt2
-rw-r--r--ext/standard/tests/array/array_diff_assoc_variation2.phpt2
-rw-r--r--ext/standard/tests/array/array_diff_key_variation1.phpt8
-rw-r--r--ext/standard/tests/array/array_diff_key_variation2.phpt8
-rw-r--r--ext/standard/tests/array/array_diff_uassoc_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_diff_uassoc_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_diff_ukey_variation1.phpt8
-rw-r--r--ext/standard/tests/array/array_diff_ukey_variation2.phpt8
-rw-r--r--ext/standard/tests/array/array_diff_variation1.phpt2
-rw-r--r--ext/standard/tests/array/array_diff_variation2.phpt2
-rw-r--r--ext/standard/tests/array/array_intersect_assoc_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_intersect_assoc_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_intersect_key_variation1.phpt8
-rw-r--r--ext/standard/tests/array/array_intersect_key_variation2.phpt8
-rw-r--r--ext/standard/tests/array/array_intersect_uassoc_variation1.phpt8
-rw-r--r--ext/standard/tests/array/array_intersect_uassoc_variation2.phpt8
-rw-r--r--ext/standard/tests/array/array_intersect_ukey_variation1.phpt8
-rw-r--r--ext/standard/tests/array/array_intersect_ukey_variation2.phpt8
-rw-r--r--ext/standard/tests/array/array_intersect_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_intersect_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_key_exists.phpt2
-rw-r--r--ext/standard/tests/array/array_merge_recursive_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_merge_recursive_variation2.phpt2
-rw-r--r--ext/standard/tests/array/array_merge_variation2.phpt2
-rw-r--r--ext/standard/tests/array/array_search_variation3.phpt4
-rw-r--r--ext/standard/tests/array/array_udiff_assoc_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_udiff_assoc_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_udiff_uassoc_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_udiff_uassoc_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_udiff_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_udiff_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_uintersect_assoc_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_uintersect_assoc_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_uintersect_uassoc_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_uintersect_uassoc_variation2.phpt4
-rw-r--r--ext/standard/tests/array/array_uintersect_variation1.phpt4
-rw-r--r--ext/standard/tests/array/array_uintersect_variation2.phpt4
-rw-r--r--ext/standard/tests/array/bug40191.phpt2
-rw-r--r--ext/standard/tests/array/in_array_variation3.phpt4
-rw-r--r--ext/standard/tests/array/max.phpt2
-rw-r--r--ext/standard/tests/array/min.phpt2
-rw-r--r--ext/standard/tests/math/abs_variation.phpt2
-rw-r--r--ext/standard/tests/math/ceil_variation1.phpt2
-rw-r--r--ext/standard/tests/math/floor_variation1.phpt2
-rw-r--r--ext/standard/tests/math/pow_variation1.phpt2
-rw-r--r--ext/standard/tests/math/pow_variation1_64bit.phpt2
-rw-r--r--ext/standard/tests/math/pow_variation2.phpt2
-rw-r--r--ext/standard/tests/math/round_variation1.phpt2
-rw-r--r--ext/standard/tests/network/bug73594.phpt2
-rw-r--r--ext/standard/tests/password/password_hash_error.phpt2
-rw-r--r--ext/standard/tests/strings/join_variation2.phpt2
-rw-r--r--ext/standard/tests/strings/vprintf_variation2.phpt2
-rw-r--r--sapi/phpdbg/phpdbg_info.c4
-rw-r--r--tests/classes/tostring_001.phpt2
-rw-r--r--tests/classes/tostring_004.phpt6
134 files changed, 751 insertions, 750 deletions
diff --git a/Zend/tests/add_002.phpt b/Zend/tests/add_002.phpt
index 131569d856..9077ece085 100644
--- a/Zend/tests/add_002.phpt
+++ b/Zend/tests/add_002.phpt
@@ -20,9 +20,9 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
-Exception: Unsupported operand types: array + object
+Exception: Unsupported operand types: array + stdClass
-Fatal error: Uncaught TypeError: Unsupported operand types: array + object in %s:%d
+Fatal error: Uncaught TypeError: Unsupported operand types: array + stdClass in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
diff --git a/Zend/tests/add_003.phpt b/Zend/tests/add_003.phpt
index 69edb7cb1e..6d27863e89 100644
--- a/Zend/tests/add_003.phpt
+++ b/Zend/tests/add_003.phpt
@@ -20,9 +20,9 @@ var_dump($c);
echo "Done\n";
?>
--EXPECTF--
-Exception: Unsupported operand types: object + array
+Exception: Unsupported operand types: stdClass + array
-Fatal error: Uncaught TypeError: Unsupported operand types: object + array in %s:%d
+Fatal error: Uncaught TypeError: Unsupported operand types: stdClass + array in %s:%d
Stack trace:
#0 {main}
thrown in %s on line %d
diff --git a/Zend/tests/bug26166.phpt b/Zend/tests/bug26166.phpt
index 4a5a30f5b2..3e5c6daa21 100644
--- a/Zend/tests/bug26166.phpt
+++ b/Zend/tests/bug26166.phpt
@@ -64,6 +64,6 @@ try {
--EXPECT--
Hello World!
===NONE===
-Return value of NoneTest::__toString() must be of type string, none returned
+NoneTest::__toString(): Return value must be of type string, none returned
===THROW===
This is an error!
diff --git a/Zend/tests/bug54305.phpt b/Zend/tests/bug54305.phpt
index a443d480ec..61e351306f 100644
--- a/Zend/tests/bug54305.phpt
+++ b/Zend/tests/bug54305.phpt
@@ -16,4 +16,4 @@ try {
}
?>
--EXPECT--
-Cannot increment object
+Cannot increment ReflectionMethod
diff --git a/Zend/tests/decrement_001.phpt b/Zend/tests/decrement_001.phpt
index 5983c4eaa1..6382491799 100644
--- a/Zend/tests/decrement_001.phpt
+++ b/Zend/tests/decrement_001.phpt
@@ -56,7 +56,7 @@ float(1.5)
NULL
bool(true)
bool(false)
-Cannot decrement object
+Cannot decrement stdClass
object(stdClass)#%d (0) {
}
Cannot decrement array
diff --git a/Zend/tests/decrement_001_64bit.phpt b/Zend/tests/decrement_001_64bit.phpt
index a96d8cbd07..b776bc5dd3 100644
--- a/Zend/tests/decrement_001_64bit.phpt
+++ b/Zend/tests/decrement_001_64bit.phpt
@@ -56,7 +56,7 @@ float(1.5)
NULL
bool(true)
bool(false)
-Cannot decrement object
+Cannot decrement stdClass
object(stdClass)#1 (0) {
}
Cannot decrement array
diff --git a/Zend/tests/exception_018.phpt b/Zend/tests/exception_018.phpt
index 6789cfe981..b61a788288 100644
--- a/Zend/tests/exception_018.phpt
+++ b/Zend/tests/exception_018.phpt
@@ -8,7 +8,7 @@ throw new Hello(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_018.php(%d): Exception->__construct(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/exception_019.phpt b/Zend/tests/exception_019.phpt
index 7aa20c2bc7..45b87956c9 100644
--- a/Zend/tests/exception_019.phpt
+++ b/Zend/tests/exception_019.phpt
@@ -7,7 +7,7 @@ throw new Exception(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Exception::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_019.php(%d): Exception->__construct(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/exception_020.phpt b/Zend/tests/exception_020.phpt
index 3135ef3633..680a1a0d1a 100644
--- a/Zend/tests/exception_020.phpt
+++ b/Zend/tests/exception_020.phpt
@@ -8,7 +8,7 @@ throw new MyErrorException(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: ErrorException::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: ErrorException::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_020.php(%d): ErrorException->__construct(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/exception_021.phpt b/Zend/tests/exception_021.phpt
index 70ca3caa57..6fa7e49d80 100644
--- a/Zend/tests/exception_021.phpt
+++ b/Zend/tests/exception_021.phpt
@@ -8,7 +8,7 @@ throw new Hello(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_021.php(%d): Error->__construct(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/exception_022.phpt b/Zend/tests/exception_022.phpt
index e9b9da87e9..604d3314c2 100644
--- a/Zend/tests/exception_022.phpt
+++ b/Zend/tests/exception_022.phpt
@@ -7,7 +7,7 @@ throw new Error(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, object given in %s:%d
+Fatal error: Uncaught TypeError: Error::__construct(): Argument #1 ($message) must be of type string, stdClass given in %s:%d
Stack trace:
#0 %sexception_022.php(%d): Error->__construct(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/generators/throw_not_an_exception.phpt b/Zend/tests/generators/throw_not_an_exception.phpt
index d1ff81882f..3b5a590096 100644
--- a/Zend/tests/generators/throw_not_an_exception.phpt
+++ b/Zend/tests/generators/throw_not_an_exception.phpt
@@ -12,7 +12,7 @@ $gen->throw(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Generator::throw(): Argument #1 ($exception) must be of type Throwable, object given in %s:%d
+Fatal error: Uncaught TypeError: Generator::throw(): Argument #1 ($exception) must be of type Throwable, stdClass given in %s:%d
Stack trace:
#0 %s(%d): Generator->throw(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/increment_001.phpt b/Zend/tests/increment_001.phpt
index a834c5c51d..f343771926 100644
--- a/Zend/tests/increment_001.phpt
+++ b/Zend/tests/increment_001.phpt
@@ -56,7 +56,7 @@ float(3.5)
int(1)
bool(true)
bool(false)
-Cannot increment object
+Cannot increment stdClass
object(stdClass)#%d (0) {
}
Cannot increment array
diff --git a/Zend/tests/ns_071.phpt b/Zend/tests/ns_071.phpt
index b0126e399f..18e5a745d5 100644
--- a/Zend/tests/ns_071.phpt
+++ b/Zend/tests/ns_071.phpt
@@ -18,7 +18,7 @@ new bar(new \stdclass);
--EXPECTF--
NULL
-Fatal error: Uncaught TypeError: foo\bar::__construct(): Argument #1 ($x) must be of type ?array, object given, called in %s:%d
+Fatal error: Uncaught TypeError: foo\bar::__construct(): Argument #1 ($x) must be of type ?array, stdClass given, called in %s:%d
Stack trace:
#0 %s(%d): foo\bar->__construct(Object(stdClass))
#1 {main}
diff --git a/Zend/tests/object_types/return_type_in_class.phpt b/Zend/tests/object_types/return_type_in_class.phpt
index 44e3fbf871..f2a6288298 100644
--- a/Zend/tests/object_types/return_type_in_class.phpt
+++ b/Zend/tests/object_types/return_type_in_class.phpt
@@ -18,7 +18,7 @@ $three = new class extends Two {
};
$three->a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of Two@anonymous::a() must be of type object, int returned in %s:%d
+Fatal error: Uncaught TypeError: Two@anonymous::a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(%d): Two@anonymous->a()
#1 {main}
diff --git a/Zend/tests/object_types/return_type_in_function.phpt b/Zend/tests/object_types/return_type_in_function.phpt
index 1c60759bb3..b94541c8d7 100644
--- a/Zend/tests/object_types/return_type_in_function.phpt
+++ b/Zend/tests/object_types/return_type_in_function.phpt
@@ -8,7 +8,7 @@ function a() : object {
}
a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of a() must be of type object, int returned in %s:4
+Fatal error: Uncaught TypeError: a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(6): a()
#1 {main}
diff --git a/Zend/tests/object_types/return_type_inheritance_in_class.phpt b/Zend/tests/object_types/return_type_inheritance_in_class.phpt
index 21dec61e30..564a9d311d 100644
--- a/Zend/tests/object_types/return_type_inheritance_in_class.phpt
+++ b/Zend/tests/object_types/return_type_inheritance_in_class.phpt
@@ -18,7 +18,7 @@ $three = new class extends Two {
};
$three->a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of Two@anonymous::a() must be of type object, int returned in %s:%d
+Fatal error: Uncaught TypeError: Two@anonymous::a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(%d): Two@anonymous->a()
#1 {main}
diff --git a/Zend/tests/object_types/return_type_inheritance_in_interface.phpt b/Zend/tests/object_types/return_type_inheritance_in_interface.phpt
index b1af678911..2e112c4cb6 100644
--- a/Zend/tests/object_types/return_type_inheritance_in_interface.phpt
+++ b/Zend/tests/object_types/return_type_inheritance_in_interface.phpt
@@ -18,7 +18,7 @@ $three = new class implements Two {
};
$three->a();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of Two@anonymous::a() must be of type object, int returned in %s:%d
+Fatal error: Uncaught TypeError: Two@anonymous::a(): Return value must be of type object, int returned in %s:%d
Stack trace:
#0 %s(%d): Two@anonymous->a()
#1 {main}
diff --git a/Zend/tests/operator_unsupported_types.phpt b/Zend/tests/operator_unsupported_types.phpt
index 9004897d71..e266affcea 100644
--- a/Zend/tests/operator_unsupported_types.phpt
+++ b/Zend/tests/operator_unsupported_types.phpt
@@ -126,13 +126,13 @@ foreach ($illegalValues as $illegalValue) {
--EXPECT--
BINARY OP:
No error for [] + []
-Unsupported operand types: array + object
+Unsupported operand types: array + stdClass
Unsupported operand types: array + resource
-Unsupported operand types: object + array
-Unsupported operand types: object + object
-Unsupported operand types: object + resource
+Unsupported operand types: stdClass + array
+Unsupported operand types: stdClass + stdClass
+Unsupported operand types: stdClass + resource
Unsupported operand types: resource + array
-Unsupported operand types: resource + object
+Unsupported operand types: resource + stdClass
Unsupported operand types: resource + resource
Unsupported operand types: array + null
Unsupported operand types: null + array
@@ -149,21 +149,21 @@ Unsupported operand types: string + array
Unsupported operand types: array + string
Warning: A non-numeric value encountered
Unsupported operand types: string + array
-Unsupported operand types: object + null
-Unsupported operand types: null + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + int
-Unsupported operand types: int + object
-Unsupported operand types: object + float
-Unsupported operand types: float + object
-Unsupported operand types: object + string
-Unsupported operand types: string + object
-Unsupported operand types: object + string
+Unsupported operand types: stdClass + null
+Unsupported operand types: null + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + int
+Unsupported operand types: int + stdClass
+Unsupported operand types: stdClass + float
+Unsupported operand types: float + stdClass
+Unsupported operand types: stdClass + string
+Unsupported operand types: string + stdClass
+Unsupported operand types: stdClass + string
Warning: A non-numeric value encountered
-Unsupported operand types: string + object
+Unsupported operand types: string + stdClass
Unsupported operand types: resource + null
Unsupported operand types: null + resource
Unsupported operand types: resource + bool
@@ -180,13 +180,13 @@ Unsupported operand types: resource + string
Warning: A non-numeric value encountered
Unsupported operand types: string + resource
Unsupported operand types: array - array
-Unsupported operand types: array - object
+Unsupported operand types: array - stdClass
Unsupported operand types: array - resource
-Unsupported operand types: object - array
-Unsupported operand types: object - object
-Unsupported operand types: object - resource
+Unsupported operand types: stdClass - array
+Unsupported operand types: stdClass - stdClass
+Unsupported operand types: stdClass - resource
Unsupported operand types: resource - array
-Unsupported operand types: resource - object
+Unsupported operand types: resource - stdClass
Unsupported operand types: resource - resource
Unsupported operand types: array - null
Unsupported operand types: null - array
@@ -203,21 +203,21 @@ Unsupported operand types: string - array
Unsupported operand types: array - string
Warning: A non-numeric value encountered
Unsupported operand types: string - array
-Unsupported operand types: object - null
-Unsupported operand types: null - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - int
-Unsupported operand types: int - object
-Unsupported operand types: object - float
-Unsupported operand types: float - object
-Unsupported operand types: object - string
-Unsupported operand types: string - object
-Unsupported operand types: object - string
+Unsupported operand types: stdClass - null
+Unsupported operand types: null - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - int
+Unsupported operand types: int - stdClass
+Unsupported operand types: stdClass - float
+Unsupported operand types: float - stdClass
+Unsupported operand types: stdClass - string
+Unsupported operand types: string - stdClass
+Unsupported operand types: stdClass - string
Warning: A non-numeric value encountered
-Unsupported operand types: string - object
+Unsupported operand types: string - stdClass
Unsupported operand types: resource - null
Unsupported operand types: null - resource
Unsupported operand types: resource - bool
@@ -234,13 +234,13 @@ Unsupported operand types: resource - string
Warning: A non-numeric value encountered
Unsupported operand types: string - resource
Unsupported operand types: array * array
-Unsupported operand types: object * array
+Unsupported operand types: stdClass * array
Unsupported operand types: resource * array
-Unsupported operand types: object * array
-Unsupported operand types: object * object
-Unsupported operand types: object * resource
+Unsupported operand types: stdClass * array
+Unsupported operand types: stdClass * stdClass
+Unsupported operand types: stdClass * resource
Unsupported operand types: resource * array
-Unsupported operand types: object * resource
+Unsupported operand types: stdClass * resource
Unsupported operand types: resource * resource
Unsupported operand types: array * null
Unsupported operand types: null * array
@@ -257,20 +257,20 @@ Unsupported operand types: string * array
Unsupported operand types: array * string
Warning: A non-numeric value encountered
Unsupported operand types: string * array
-Unsupported operand types: object * null
-Unsupported operand types: object * null
-Unsupported operand types: object * bool
-Unsupported operand types: object * bool
-Unsupported operand types: object * bool
-Unsupported operand types: object * bool
-Unsupported operand types: object * int
-Unsupported operand types: object * int
-Unsupported operand types: object * float
-Unsupported operand types: object * float
-Unsupported operand types: object * string
-Unsupported operand types: object * string
-Unsupported operand types: object * string
-Unsupported operand types: object * string
+Unsupported operand types: stdClass * null
+Unsupported operand types: stdClass * null
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * bool
+Unsupported operand types: stdClass * int
+Unsupported operand types: stdClass * int
+Unsupported operand types: stdClass * float
+Unsupported operand types: stdClass * float
+Unsupported operand types: stdClass * string
+Unsupported operand types: stdClass * string
+Unsupported operand types: stdClass * string
+Unsupported operand types: stdClass * string
Unsupported operand types: resource * null
Unsupported operand types: resource * null
Unsupported operand types: resource * bool
@@ -286,13 +286,13 @@ Unsupported operand types: resource * string
Unsupported operand types: resource * string
Unsupported operand types: resource * string
Unsupported operand types: array / array
-Unsupported operand types: array / object
+Unsupported operand types: array / stdClass
Unsupported operand types: array / resource
-Unsupported operand types: object / array
-Unsupported operand types: object / object
-Unsupported operand types: object / resource
+Unsupported operand types: stdClass / array
+Unsupported operand types: stdClass / stdClass
+Unsupported operand types: stdClass / resource
Unsupported operand types: resource / array
-Unsupported operand types: resource / object
+Unsupported operand types: resource / stdClass
Unsupported operand types: resource / resource
Unsupported operand types: array / null
Unsupported operand types: null / array
@@ -309,21 +309,21 @@ Unsupported operand types: string / array
Unsupported operand types: array / string
Warning: A non-numeric value encountered
Unsupported operand types: string / array
-Unsupported operand types: object / null
-Unsupported operand types: null / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / int
-Unsupported operand types: int / object
-Unsupported operand types: object / float
-Unsupported operand types: float / object
-Unsupported operand types: object / string
-Unsupported operand types: string / object
-Unsupported operand types: object / string
+Unsupported operand types: stdClass / null
+Unsupported operand types: null / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / int
+Unsupported operand types: int / stdClass
+Unsupported operand types: stdClass / float
+Unsupported operand types: float / stdClass
+Unsupported operand types: stdClass / string
+Unsupported operand types: string / stdClass
+Unsupported operand types: stdClass / string
Warning: A non-numeric value encountered
-Unsupported operand types: string / object
+Unsupported operand types: string / stdClass
Unsupported operand types: resource / null
Unsupported operand types: null / resource
Unsupported operand types: resource / bool
@@ -340,13 +340,13 @@ Unsupported operand types: resource / string
Warning: A non-numeric value encountered
Unsupported operand types: string / resource
Unsupported operand types: array % array
-Unsupported operand types: array % object
+Unsupported operand types: array % stdClass
Unsupported operand types: array % resource
-Unsupported operand types: object % array
-Unsupported operand types: object % object
-Unsupported operand types: object % resource
+Unsupported operand types: stdClass % array
+Unsupported operand types: stdClass % stdClass
+Unsupported operand types: stdClass % resource
Unsupported operand types: resource % array
-Unsupported operand types: resource % object
+Unsupported operand types: resource % stdClass
Unsupported operand types: resource % resource
Unsupported operand types: array % null
Unsupported operand types: null % array
@@ -363,21 +363,21 @@ Unsupported operand types: string % array
Unsupported operand types: array % string
Warning: A non-numeric value encountered
Unsupported operand types: string % array
-Unsupported operand types: object % null
-Unsupported operand types: null % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % int
-Unsupported operand types: int % object
-Unsupported operand types: object % float
-Unsupported operand types: float % object
-Unsupported operand types: object % string
-Unsupported operand types: string % object
-Unsupported operand types: object % string
+Unsupported operand types: stdClass % null
+Unsupported operand types: null % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % int
+Unsupported operand types: int % stdClass
+Unsupported operand types: stdClass % float
+Unsupported operand types: float % stdClass
+Unsupported operand types: stdClass % string
+Unsupported operand types: string % stdClass
+Unsupported operand types: stdClass % string
Warning: A non-numeric value encountered
-Unsupported operand types: string % object
+Unsupported operand types: string % stdClass
Unsupported operand types: resource % null
Unsupported operand types: null % resource
Unsupported operand types: resource % bool
@@ -394,13 +394,13 @@ Unsupported operand types: resource % string
Warning: A non-numeric value encountered
Unsupported operand types: string % resource
Unsupported operand types: array ** array
-Unsupported operand types: array ** object
+Unsupported operand types: array ** stdClass
Unsupported operand types: array ** resource
-Unsupported operand types: object ** array
-Unsupported operand types: object ** object
-Unsupported operand types: object ** resource
+Unsupported operand types: stdClass ** array
+Unsupported operand types: stdClass ** stdClass
+Unsupported operand types: stdClass ** resource
Unsupported operand types: resource ** array
-Unsupported operand types: resource ** object
+Unsupported operand types: resource ** stdClass
Unsupported operand types: resource ** resource
Unsupported operand types: array ** null
Unsupported operand types: null ** array
@@ -417,21 +417,21 @@ Unsupported operand types: string ** array
Unsupported operand types: array ** string
Warning: A non-numeric value encountered
Unsupported operand types: string ** array
-Unsupported operand types: object ** null
-Unsupported operand types: null ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** int
-Unsupported operand types: int ** object
-Unsupported operand types: object ** float
-Unsupported operand types: float ** object
-Unsupported operand types: object ** string
-Unsupported operand types: string ** object
-Unsupported operand types: object ** string
+Unsupported operand types: stdClass ** null
+Unsupported operand types: null ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** int
+Unsupported operand types: int ** stdClass
+Unsupported operand types: stdClass ** float
+Unsupported operand types: float ** stdClass
+Unsupported operand types: stdClass ** string
+Unsupported operand types: string ** stdClass
+Unsupported operand types: stdClass ** string
Warning: A non-numeric value encountered
-Unsupported operand types: string ** object
+Unsupported operand types: string ** stdClass
Unsupported operand types: resource ** null
Unsupported operand types: null ** resource
Unsupported operand types: resource ** bool
@@ -448,13 +448,13 @@ Unsupported operand types: resource ** string
Warning: A non-numeric value encountered
Unsupported operand types: string ** resource
Unsupported operand types: array << array
-Unsupported operand types: array << object
+Unsupported operand types: array << stdClass
Unsupported operand types: array << resource
-Unsupported operand types: object << array
-Unsupported operand types: object << object
-Unsupported operand types: object << resource
+Unsupported operand types: stdClass << array
+Unsupported operand types: stdClass << stdClass
+Unsupported operand types: stdClass << resource
Unsupported operand types: resource << array
-Unsupported operand types: resource << object
+Unsupported operand types: resource << stdClass
Unsupported operand types: resource << resource
Unsupported operand types: array << null
Unsupported operand types: null << array
@@ -471,21 +471,21 @@ Unsupported operand types: string << array
Unsupported operand types: array << string
Warning: A non-numeric value encountered
Unsupported operand types: string << array
-Unsupported operand types: object << null
-Unsupported operand types: null << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << int
-Unsupported operand types: int << object
-Unsupported operand types: object << float
-Unsupported operand types: float << object
-Unsupported operand types: object << string
-Unsupported operand types: string << object
-Unsupported operand types: object << string
+Unsupported operand types: stdClass << null
+Unsupported operand types: null << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << int
+Unsupported operand types: int << stdClass
+Unsupported operand types: stdClass << float
+Unsupported operand types: float << stdClass
+Unsupported operand types: stdClass << string
+Unsupported operand types: string << stdClass
+Unsupported operand types: stdClass << string
Warning: A non-numeric value encountered
-Unsupported operand types: string << object
+Unsupported operand types: string << stdClass
Unsupported operand types: resource << null
Unsupported operand types: null << resource
Unsupported operand types: resource << bool
@@ -502,13 +502,13 @@ Unsupported operand types: resource << string
Warning: A non-numeric value encountered
Unsupported operand types: string << resource
Unsupported operand types: array >> array
-Unsupported operand types: array >> object
+Unsupported operand types: array >> stdClass
Unsupported operand types: array >> resource
-Unsupported operand types: object >> array
-Unsupported operand types: object >> object
-Unsupported operand types: object >> resource
+Unsupported operand types: stdClass >> array
+Unsupported operand types: stdClass >> stdClass
+Unsupported operand types: stdClass >> resource
Unsupported operand types: resource >> array
-Unsupported operand types: resource >> object
+Unsupported operand types: resource >> stdClass
Unsupported operand types: resource >> resource
Unsupported operand types: array >> null
Unsupported operand types: null >> array
@@ -525,21 +525,21 @@ Unsupported operand types: string >> array
Unsupported operand types: array >> string
Warning: A non-numeric value encountered
Unsupported operand types: string >> array
-Unsupported operand types: object >> null
-Unsupported operand types: null >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> int
-Unsupported operand types: int >> object
-Unsupported operand types: object >> float
-Unsupported operand types: float >> object
-Unsupported operand types: object >> string
-Unsupported operand types: string >> object
-Unsupported operand types: object >> string
+Unsupported operand types: stdClass >> null
+Unsupported operand types: null >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> int
+Unsupported operand types: int >> stdClass
+Unsupported operand types: stdClass >> float
+Unsupported operand types: float >> stdClass
+Unsupported operand types: stdClass >> string
+Unsupported operand types: string >> stdClass
+Unsupported operand types: stdClass >> string
Warning: A non-numeric value encountered
-Unsupported operand types: string >> object
+Unsupported operand types: string >> stdClass
Unsupported operand types: resource >> null
Unsupported operand types: null >> resource
Unsupported operand types: resource >> bool
@@ -556,13 +556,13 @@ Unsupported operand types: resource >> string
Warning: A non-numeric value encountered
Unsupported operand types: string >> resource
Unsupported operand types: array & array
-Unsupported operand types: object & array
+Unsupported operand types: stdClass & array
Unsupported operand types: resource & array
-Unsupported operand types: object & array
-Unsupported operand types: object & object
-Unsupported operand types: object & resource
+Unsupported operand types: stdClass & array
+Unsupported operand types: stdClass & stdClass
+Unsupported operand types: stdClass & resource
Unsupported operand types: resource & array
-Unsupported operand types: object & resource
+Unsupported operand types: stdClass & resource
Unsupported operand types: resource & resource
Unsupported operand types: array & null
Unsupported operand types: null & array
@@ -579,20 +579,20 @@ Unsupported operand types: string & array
Unsupported operand types: array & string
Warning: A non-numeric value encountered
Unsupported operand types: string & array
-Unsupported operand types: object & null
-Unsupported operand types: object & null
-Unsupported operand types: object & bool
-Unsupported operand types: object & bool
-Unsupported operand types: object & bool
-Unsupported operand types: object & bool
-Unsupported operand types: object & int
-Unsupported operand types: object & int
-Unsupported operand types: object & float
-Unsupported operand types: object & float
-Unsupported operand types: object & string
-Unsupported operand types: object & string
-Unsupported operand types: object & string
-Unsupported operand types: object & string
+Unsupported operand types: stdClass & null
+Unsupported operand types: stdClass & null
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & bool
+Unsupported operand types: stdClass & int
+Unsupported operand types: stdClass & int
+Unsupported operand types: stdClass & float
+Unsupported operand types: stdClass & float
+Unsupported operand types: stdClass & string
+Unsupported operand types: stdClass & string
+Unsupported operand types: stdClass & string
+Unsupported operand types: stdClass & string
Unsupported operand types: resource & null
Unsupported operand types: resource & null
Unsupported operand types: resource & bool
@@ -608,13 +608,13 @@ Unsupported operand types: resource & string
Unsupported operand types: resource & string
Unsupported operand types: resource & string
Unsupported operand types: array | array
-Unsupported operand types: object | array
+Unsupported operand types: stdClass | array
Unsupported operand types: resource | array
-Unsupported operand types: object | array
-Unsupported operand types: object | object
-Unsupported operand types: object | resource
+Unsupported operand types: stdClass | array
+Unsupported operand types: stdClass | stdClass
+Unsupported operand types: stdClass | resource
Unsupported operand types: resource | array
-Unsupported operand types: object | resource
+Unsupported operand types: stdClass | resource
Unsupported operand types: resource | resource
Unsupported operand types: array | null
Unsupported operand types: null | array
@@ -631,20 +631,20 @@ Unsupported operand types: string | array
Unsupported operand types: array | string
Warning: A non-numeric value encountered
Unsupported operand types: string | array
-Unsupported operand types: object | null
-Unsupported operand types: object | null
-Unsupported operand types: object | bool
-Unsupported operand types: object | bool
-Unsupported operand types: object | bool
-Unsupported operand types: object | bool
-Unsupported operand types: object | int
-Unsupported operand types: object | int
-Unsupported operand types: object | float
-Unsupported operand types: object | float
-Unsupported operand types: object | string
-Unsupported operand types: object | string
-Unsupported operand types: object | string
-Unsupported operand types: object | string
+Unsupported operand types: stdClass | null
+Unsupported operand types: stdClass | null
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | bool
+Unsupported operand types: stdClass | int
+Unsupported operand types: stdClass | int
+Unsupported operand types: stdClass | float
+Unsupported operand types: stdClass | float
+Unsupported operand types: stdClass | string
+Unsupported operand types: stdClass | string
+Unsupported operand types: stdClass | string
+Unsupported operand types: stdClass | string
Unsupported operand types: resource | null
Unsupported operand types: resource | null
Unsupported operand types: resource | bool
@@ -660,13 +660,13 @@ Unsupported operand types: resource | string
Unsupported operand types: resource | string
Unsupported operand types: resource | string
Unsupported operand types: array ^ array
-Unsupported operand types: object ^ array
+Unsupported operand types: stdClass ^ array
Unsupported operand types: resource ^ array
-Unsupported operand types: object ^ array
-Unsupported operand types: object ^ object
-Unsupported operand types: object ^ resource
+Unsupported operand types: stdClass ^ array
+Unsupported operand types: stdClass ^ stdClass
+Unsupported operand types: stdClass ^ resource
Unsupported operand types: resource ^ array
-Unsupported operand types: object ^ resource
+Unsupported operand types: stdClass ^ resource
Unsupported operand types: resource ^ resource
Unsupported operand types: array ^ null
Unsupported operand types: null ^ array
@@ -683,20 +683,20 @@ Unsupported operand types: string ^ array
Unsupported operand types: array ^ string
Warning: A non-numeric value encountered
Unsupported operand types: string ^ array
-Unsupported operand types: object ^ null
-Unsupported operand types: object ^ null
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ bool
-Unsupported operand types: object ^ int
-Unsupported operand types: object ^ int
-Unsupported operand types: object ^ float
-Unsupported operand types: object ^ float
-Unsupported operand types: object ^ string
-Unsupported operand types: object ^ string
-Unsupported operand types: object ^ string
-Unsupported operand types: object ^ string
+Unsupported operand types: stdClass ^ null
+Unsupported operand types: stdClass ^ null
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: stdClass ^ int
+Unsupported operand types: stdClass ^ int
+Unsupported operand types: stdClass ^ float
+Unsupported operand types: stdClass ^ float
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: stdClass ^ string
Unsupported operand types: resource ^ null
Unsupported operand types: resource ^ null
Unsupported operand types: resource ^ bool
@@ -837,13 +837,13 @@ No error for "foo" . STDOUT
ASSIGN OP:
No error for [] += []
-Unsupported operand types: array + object
+Unsupported operand types: array + stdClass
Unsupported operand types: array + resource
-Unsupported operand types: object + array
-Unsupported operand types: object + object
-Unsupported operand types: object + resource
+Unsupported operand types: stdClass + array
+Unsupported operand types: stdClass + stdClass
+Unsupported operand types: stdClass + resource
Unsupported operand types: resource + array
-Unsupported operand types: resource + object
+Unsupported operand types: resource + stdClass
Unsupported operand types: resource + resource
Unsupported operand types: array + null
Unsupported operand types: null + array
@@ -860,21 +860,21 @@ Unsupported operand types: string + array
Unsupported operand types: array + string
Warning: A non-numeric value encountered
Unsupported operand types: string + array
-Unsupported operand types: object + null
-Unsupported operand types: null + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + bool
-Unsupported operand types: bool + object
-Unsupported operand types: object + int
-Unsupported operand types: int + object
-Unsupported operand types: object + float
-Unsupported operand types: float + object
-Unsupported operand types: object + string
-Unsupported operand types: string + object
-Unsupported operand types: object + string
+Unsupported operand types: stdClass + null
+Unsupported operand types: null + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + bool
+Unsupported operand types: bool + stdClass
+Unsupported operand types: stdClass + int
+Unsupported operand types: int + stdClass
+Unsupported operand types: stdClass + float
+Unsupported operand types: float + stdClass
+Unsupported operand types: stdClass + string
+Unsupported operand types: string + stdClass
+Unsupported operand types: stdClass + string
Warning: A non-numeric value encountered
-Unsupported operand types: string + object
+Unsupported operand types: string + stdClass
Unsupported operand types: resource + null
Unsupported operand types: null + resource
Unsupported operand types: resource + bool
@@ -891,13 +891,13 @@ Unsupported operand types: resource + string
Warning: A non-numeric value encountered
Unsupported operand types: string + resource
Unsupported operand types: array - array
-Unsupported operand types: array - object
+Unsupported operand types: array - stdClass
Unsupported operand types: array - resource
-Unsupported operand types: object - array
-Unsupported operand types: object - object
-Unsupported operand types: object - resource
+Unsupported operand types: stdClass - array
+Unsupported operand types: stdClass - stdClass
+Unsupported operand types: stdClass - resource
Unsupported operand types: resource - array
-Unsupported operand types: resource - object
+Unsupported operand types: resource - stdClass
Unsupported operand types: resource - resource
Unsupported operand types: array - null
Unsupported operand types: null - array
@@ -914,21 +914,21 @@ Unsupported operand types: string - array
Unsupported operand types: array - string
Warning: A non-numeric value encountered
Unsupported operand types: string - array
-Unsupported operand types: object - null
-Unsupported operand types: null - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - bool
-Unsupported operand types: bool - object
-Unsupported operand types: object - int
-Unsupported operand types: int - object
-Unsupported operand types: object - float
-Unsupported operand types: float - object
-Unsupported operand types: object - string
-Unsupported operand types: string - object
-Unsupported operand types: object - string
+Unsupported operand types: stdClass - null
+Unsupported operand types: null - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - bool
+Unsupported operand types: bool - stdClass
+Unsupported operand types: stdClass - int
+Unsupported operand types: int - stdClass
+Unsupported operand types: stdClass - float
+Unsupported operand types: float - stdClass
+Unsupported operand types: stdClass - string
+Unsupported operand types: string - stdClass
+Unsupported operand types: stdClass - string
Warning: A non-numeric value encountered
-Unsupported operand types: string - object
+Unsupported operand types: string - stdClass
Unsupported operand types: resource - null
Unsupported operand types: null - resource
Unsupported operand types: resource - bool
@@ -945,13 +945,13 @@ Unsupported operand types: resource - string
Warning: A non-numeric value encountered
Unsupported operand types: string - resource
Unsupported operand types: array * array
-Unsupported operand types: array * object
+Unsupported operand types: array * stdClass
Unsupported operand types: array * resource
-Unsupported operand types: object * array
-Unsupported operand types: object * object
-Unsupported operand types: object * resource
+Unsupported operand types: stdClass * array
+Unsupported operand types: stdClass * stdClass
+Unsupported operand types: stdClass * resource
Unsupported operand types: resource * array
-Unsupported operand types: resource * object
+Unsupported operand types: resource * stdClass
Unsupported operand types: resource * resource
Unsupported operand types: array * null
Unsupported operand types: null * array
@@ -968,21 +968,21 @@ Unsupported operand types: string * array
Unsupported operand types: array * string
Warning: A non-numeric value encountered
Unsupported operand types: string * array
-Unsupported operand types: object * null
-Unsupported operand types: null * object
-Unsupported operand types: object * bool
-Unsupported operand types: bool * object
-Unsupported operand types: object * bool
-Unsupported operand types: bool * object
-Unsupported operand types: object * int
-Unsupported operand types: int * object
-Unsupported operand types: object * float
-Unsupported operand types: float * object
-Unsupported operand types: object * string
-Unsupported operand types: string * object
-Unsupported operand types: object * string
+Unsupported operand types: stdClass * null
+Unsupported operand types: null * stdClass
+Unsupported operand types: stdClass * bool
+Unsupported operand types: bool * stdClass
+Unsupported operand types: stdClass * bool
+Unsupported operand types: bool * stdClass
+Unsupported operand types: stdClass * int
+Unsupported operand types: int * stdClass
+Unsupported operand types: stdClass * float
+Unsupported operand types: float * stdClass
+Unsupported operand types: stdClass * string
+Unsupported operand types: string * stdClass
+Unsupported operand types: stdClass * string
Warning: A non-numeric value encountered
-Unsupported operand types: string * object
+Unsupported operand types: string * stdClass
Unsupported operand types: resource * null
Unsupported operand types: null * resource
Unsupported operand types: resource * bool
@@ -999,13 +999,13 @@ Unsupported operand types: resource * string
Warning: A non-numeric value encountered
Unsupported operand types: string * resource
Unsupported operand types: array / array
-Unsupported operand types: array / object
+Unsupported operand types: array / stdClass
Unsupported operand types: array / resource
-Unsupported operand types: object / array
-Unsupported operand types: object / object
-Unsupported operand types: object / resource
+Unsupported operand types: stdClass / array
+Unsupported operand types: stdClass / stdClass
+Unsupported operand types: stdClass / resource
Unsupported operand types: resource / array
-Unsupported operand types: resource / object
+Unsupported operand types: resource / stdClass
Unsupported operand types: resource / resource
Unsupported operand types: array / null
Unsupported operand types: null / array
@@ -1022,21 +1022,21 @@ Unsupported operand types: string / array
Unsupported operand types: array / string
Warning: A non-numeric value encountered
Unsupported operand types: string / array
-Unsupported operand types: object / null
-Unsupported operand types: null / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / bool
-Unsupported operand types: bool / object
-Unsupported operand types: object / int
-Unsupported operand types: int / object
-Unsupported operand types: object / float
-Unsupported operand types: float / object
-Unsupported operand types: object / string
-Unsupported operand types: string / object
-Unsupported operand types: object / string
+Unsupported operand types: stdClass / null
+Unsupported operand types: null / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / bool
+Unsupported operand types: bool / stdClass
+Unsupported operand types: stdClass / int
+Unsupported operand types: int / stdClass
+Unsupported operand types: stdClass / float
+Unsupported operand types: float / stdClass
+Unsupported operand types: stdClass / string
+Unsupported operand types: string / stdClass
+Unsupported operand types: stdClass / string
Warning: A non-numeric value encountered
-Unsupported operand types: string / object
+Unsupported operand types: string / stdClass
Unsupported operand types: resource / null
Unsupported operand types: null / resource
Unsupported operand types: resource / bool
@@ -1053,13 +1053,13 @@ Unsupported operand types: resource / string
Warning: A non-numeric value encountered
Unsupported operand types: string / resource
Unsupported operand types: array % array
-Unsupported operand types: array % object
+Unsupported operand types: array % stdClass
Unsupported operand types: array % resource
-Unsupported operand types: object % array
-Unsupported operand types: object % object
-Unsupported operand types: object % resource
+Unsupported operand types: stdClass % array
+Unsupported operand types: stdClass % stdClass
+Unsupported operand types: stdClass % resource
Unsupported operand types: resource % array
-Unsupported operand types: resource % object
+Unsupported operand types: resource % stdClass
Unsupported operand types: resource % resource
Unsupported operand types: array % null
Unsupported operand types: null % array
@@ -1076,21 +1076,21 @@ Unsupported operand types: string % array
Unsupported operand types: array % string
Warning: A non-numeric value encountered
Unsupported operand types: string % array
-Unsupported operand types: object % null
-Unsupported operand types: null % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % bool
-Unsupported operand types: bool % object
-Unsupported operand types: object % int
-Unsupported operand types: int % object
-Unsupported operand types: object % float
-Unsupported operand types: float % object
-Unsupported operand types: object % string
-Unsupported operand types: string % object
-Unsupported operand types: object % string
+Unsupported operand types: stdClass % null
+Unsupported operand types: null % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % bool
+Unsupported operand types: bool % stdClass
+Unsupported operand types: stdClass % int
+Unsupported operand types: int % stdClass
+Unsupported operand types: stdClass % float
+Unsupported operand types: float % stdClass
+Unsupported operand types: stdClass % string
+Unsupported operand types: string % stdClass
+Unsupported operand types: stdClass % string
Warning: A non-numeric value encountered
-Unsupported operand types: string % object
+Unsupported operand types: string % stdClass
Unsupported operand types: resource % null
Unsupported operand types: null % resource
Unsupported operand types: resource % bool
@@ -1107,13 +1107,13 @@ Unsupported operand types: resource % string
Warning: A non-numeric value encountered
Unsupported operand types: string % resource
Unsupported operand types: array ** array
-Unsupported operand types: array ** object
+Unsupported operand types: array ** stdClass
Unsupported operand types: array ** resource
-Unsupported operand types: object ** array
-Unsupported operand types: object ** object
-Unsupported operand types: object ** resource
+Unsupported operand types: stdClass ** array
+Unsupported operand types: stdClass ** stdClass
+Unsupported operand types: stdClass ** resource
Unsupported operand types: resource ** array
-Unsupported operand types: resource ** object
+Unsupported operand types: resource ** stdClass
Unsupported operand types: resource ** resource
Unsupported operand types: array ** null
Unsupported operand types: null ** array
@@ -1130,21 +1130,21 @@ Unsupported operand types: string ** array
Unsupported operand types: array ** string
Warning: A non-numeric value encountered
Unsupported operand types: string ** array
-Unsupported operand types: object ** null
-Unsupported operand types: null ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** bool
-Unsupported operand types: bool ** object
-Unsupported operand types: object ** int
-Unsupported operand types: int ** object
-Unsupported operand types: object ** float
-Unsupported operand types: float ** object
-Unsupported operand types: object ** string
-Unsupported operand types: string ** object
-Unsupported operand types: object ** string
+Unsupported operand types: stdClass ** null
+Unsupported operand types: null ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** bool
+Unsupported operand types: bool ** stdClass
+Unsupported operand types: stdClass ** int
+Unsupported operand types: int ** stdClass
+Unsupported operand types: stdClass ** float
+Unsupported operand types: float ** stdClass
+Unsupported operand types: stdClass ** string
+Unsupported operand types: string ** stdClass
+Unsupported operand types: stdClass ** string
Warning: A non-numeric value encountered
-Unsupported operand types: string ** object
+Unsupported operand types: string ** stdClass
Unsupported operand types: resource ** null
Unsupported operand types: null ** resource
Unsupported operand types: resource ** bool
@@ -1161,13 +1161,13 @@ Unsupported operand types: resource ** string
Warning: A non-numeric value encountered
Unsupported operand types: string ** resource
Unsupported operand types: array << array
-Unsupported operand types: array << object
+Unsupported operand types: array << stdClass
Unsupported operand types: array << resource
-Unsupported operand types: object << array
-Unsupported operand types: object << object
-Unsupported operand types: object << resource
+Unsupported operand types: stdClass << array
+Unsupported operand types: stdClass << stdClass
+Unsupported operand types: stdClass << resource
Unsupported operand types: resource << array
-Unsupported operand types: resource << object
+Unsupported operand types: resource << stdClass
Unsupported operand types: resource << resource
Unsupported operand types: array << null
Unsupported operand types: null << array
@@ -1184,21 +1184,21 @@ Unsupported operand types: string << array
Unsupported operand types: array << string
Warning: A non-numeric value encountered
Unsupported operand types: string << array
-Unsupported operand types: object << null
-Unsupported operand types: null << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << bool
-Unsupported operand types: bool << object
-Unsupported operand types: object << int
-Unsupported operand types: int << object
-Unsupported operand types: object << float
-Unsupported operand types: float << object
-Unsupported operand types: object << string
-Unsupported operand types: string << object
-Unsupported operand types: object << string
+Unsupported operand types: stdClass << null
+Unsupported operand types: null << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << bool
+Unsupported operand types: bool << stdClass
+Unsupported operand types: stdClass << int
+Unsupported operand types: int << stdClass
+Unsupported operand types: stdClass << float
+Unsupported operand types: float << stdClass
+Unsupported operand types: stdClass << string
+Unsupported operand types: string << stdClass
+Unsupported operand types: stdClass << string
Warning: A non-numeric value encountered
-Unsupported operand types: string << object
+Unsupported operand types: string << stdClass
Unsupported operand types: resource << null
Unsupported operand types: null << resource
Unsupported operand types: resource << bool
@@ -1215,13 +1215,13 @@ Unsupported operand types: resource << string
Warning: A non-numeric value encountered
Unsupported operand types: string << resource
Unsupported operand types: array >> array
-Unsupported operand types: array >> object
+Unsupported operand types: array >> stdClass
Unsupported operand types: array >> resource
-Unsupported operand types: object >> array
-Unsupported operand types: object >> object
-Unsupported operand types: object >> resource
+Unsupported operand types: stdClass >> array
+Unsupported operand types: stdClass >> stdClass
+Unsupported operand types: stdClass >> resource
Unsupported operand types: resource >> array
-Unsupported operand types: resource >> object
+Unsupported operand types: resource >> stdClass
Unsupported operand types: resource >> resource
Unsupported operand types: array >> null
Unsupported operand types: null >> array
@@ -1238,21 +1238,21 @@ Unsupported operand types: string >> array
Unsupported operand types: array >> string
Warning: A non-numeric value encountered
Unsupported operand types: string >> array
-Unsupported operand types: object >> null
-Unsupported operand types: null >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> bool
-Unsupported operand types: bool >> object
-Unsupported operand types: object >> int
-Unsupported operand types: int >> object
-Unsupported operand types: object >> float
-Unsupported operand types: float >> object
-Unsupported operand types: object >> string
-Unsupported operand types: string >> object
-Unsupported operand types: object >> string
+Unsupported operand types: stdClass >> null
+Unsupported operand types: null >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> bool
+Unsupported operand types: bool >> stdClass
+Unsupported operand types: stdClass >> int
+Unsupported operand types: int >> stdClass
+Unsupported operand types: stdClass >> float
+Unsupported operand types: float >> stdClass
+Unsupported operand types: stdClass >> string
+Unsupported operand types: string >> stdClass
+Unsupported operand types: stdClass >> string
Warning: A non-numeric value encountered
-Unsupported operand types: string >> object
+Unsupported operand types: string >> stdClass
Unsupported operand types: resource >> null
Unsupported operand types: null >> resource
Unsupported operand types: resource >> bool
@@ -1269,13 +1269,13 @@ Unsupported operand types: resource >> string
Warning: A non-numeric value encountered
Unsupported operand types: string >> resource
Unsupported operand types: array & array
-Unsupported operand types: array & object
+Unsupported operand types: array & stdClass
Unsupported operand types: array & resource
-Unsupported operand types: object & array
-Unsupported operand types: object & object
-Unsupported operand types: object & resource
+Unsupported operand types: stdClass & array
+Unsupported operand types: stdClass & stdClass
+Unsupported operand types: stdClass & resource
Unsupported operand types: resource & array
-Unsupported operand types: resource & object
+Unsupported operand types: resource & stdClass
Unsupported operand types: resource & resource
Unsupported operand types: array & null
Unsupported operand types: null & array
@@ -1292,21 +1292,21 @@ Unsupported operand types: string & array
Unsupported operand types: array & string
Warning: A non-numeric value encountered
Unsupported operand types: string & array
-Unsupported operand types: object & null
-Unsupported operand types: null & object
-Unsupported operand types: object & bool
-Unsupported operand types: bool & object
-Unsupported operand types: object & bool
-Unsupported operand types: bool & object
-Unsupported operand types: object & int
-Unsupported operand types: int & object
-Unsupported operand types: object & float
-Unsupported operand types: float & object
-Unsupported operand types: object & string
-Unsupported operand types: string & object
-Unsupported operand types: object & string
+Unsupported operand types: stdClass & null
+Unsupported operand types: null & stdClass
+Unsupported operand types: stdClass & bool
+Unsupported operand types: bool & stdClass
+Unsupported operand types: stdClass & bool
+Unsupported operand types: bool & stdClass
+Unsupported operand types: stdClass & int
+Unsupported operand types: int & stdClass
+Unsupported operand types: stdClass & float
+Unsupported operand types: float & stdClass
+Unsupported operand types: stdClass & string
+Unsupported operand types: string & stdClass
+Unsupported operand types: stdClass & string
Warning: A non-numeric value encountered
-Unsupported operand types: string & object
+Unsupported operand types: string & stdClass
Unsupported operand types: resource & null
Unsupported operand types: null & resource
Unsupported operand types: resource & bool
@@ -1323,13 +1323,13 @@ Unsupported operand types: resource & string
Warning: A non-numeric value encountered
Unsupported operand types: string & resource
Unsupported operand types: array | array
-Unsupported operand types: array | object
+Unsupported operand types: array | stdClass
Unsupported operand types: array | resource
-Unsupported operand types: object | array
-Unsupported operand types: object | object
-Unsupported operand types: object | resource
+Unsupported operand types: stdClass | array
+Unsupported operand types: stdClass | stdClass
+Unsupported operand types: stdClass | resource
Unsupported operand types: resource | array
-Unsupported operand types: resource | object
+Unsupported operand types: resource | stdClass
Unsupported operand types: resource | resource
Unsupported operand types: array | null
Unsupported operand types: null | array
@@ -1346,21 +1346,21 @@ Unsupported operand types: string | array
Unsupported operand types: array | string
Warning: A non-numeric value encountered
Unsupported operand types: string | array
-Unsupported operand types: object | null
-Unsupported operand types: null | object
-Unsupported operand types: object | bool
-Unsupported operand types: bool | object
-Unsupported operand types: object | bool
-Unsupported operand types: bool | object
-Unsupported operand types: object | int
-Unsupported operand types: int | object
-Unsupported operand types: object | float
-Unsupported operand types: float | object
-Unsupported operand types: object | string
-Unsupported operand types: string | object
-Unsupported operand types: object | string
+Unsupported operand types: stdClass | null
+Unsupported operand types: null | stdClass
+Unsupported operand types: stdClass | bool
+Unsupported operand types: bool | stdClass
+Unsupported operand types: stdClass | bool
+Unsupported operand types: bool | stdClass
+Unsupported operand types: stdClass | int
+Unsupported operand types: int | stdClass
+Unsupported operand types: stdClass | float
+Unsupported operand types: float | stdClass
+Unsupported operand types: stdClass | string
+Unsupported operand types: string | stdClass
+Unsupported operand types: stdClass | string
Warning: A non-numeric value encountered
-Unsupported operand types: string | object
+Unsupported operand types: string | stdClass
Unsupported operand types: resource | null
Unsupported operand types: null | resource
Unsupported operand types: resource | bool
@@ -1377,13 +1377,13 @@ Unsupported operand types: resource | string
Warning: A non-numeric value encountered
Unsupported operand types: string | resource
Unsupported operand types: array ^ array
-Unsupported operand types: array ^ object
+Unsupported operand types: array ^ stdClass
Unsupported operand types: array ^ resource
-Unsupported operand types: object ^ array
-Unsupported operand types: object ^ object
-Unsupported operand types: object ^ resource
+Unsupported operand types: stdClass ^ array
+Unsupported operand types: stdClass ^ stdClass
+Unsupported operand types: stdClass ^ resource
Unsupported operand types: resource ^ array
-Unsupported operand types: resource ^ object
+Unsupported operand types: resource ^ stdClass
Unsupported operand types: resource ^ resource
Unsupported operand types: array ^ null
Unsupported operand types: null ^ array
@@ -1400,21 +1400,21 @@ Unsupported operand types: string ^ array
Unsupported operand types: array ^ string
Warning: A non-numeric value encountered
Unsupported operand types: string ^ array
-Unsupported operand types: object ^ null
-Unsupported operand types: null ^ object
-Unsupported operand types: object ^ bool
-Unsupported operand types: bool ^ object
-Unsupported operand types: object ^ bool
-Unsupported operand types: bool ^ object
-Unsupported operand types: object ^ int
-Unsupported operand types: int ^ object
-Unsupported operand types: object ^ float
-Unsupported operand types: float ^ object
-Unsupported operand types: object ^ string
-Unsupported operand types: string ^ object
-Unsupported operand types: object ^ string
+Unsupported operand types: stdClass ^ null
+Unsupported operand types: null ^ stdClass
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: bool ^ stdClass
+Unsupported operand types: stdClass ^ bool
+Unsupported operand types: bool ^ stdClass
+Unsupported operand types: stdClass ^ int
+Unsupported operand types: int ^ stdClass
+Unsupported operand types: stdClass ^ float
+Unsupported operand types: float ^ stdClass
+Unsupported operand types: stdClass ^ string
+Unsupported operand types: string ^ stdClass
+Unsupported operand types: stdClass ^ string
Warning: A non-numeric value encountered
-Unsupported operand types: string ^ object
+Unsupported operand types: string ^ stdClass
Unsupported operand types: resource ^ null
Unsupported operand types: null ^ resource
Unsupported operand types: resource ^ bool
@@ -1504,14 +1504,14 @@ No error for "foo" .= STDOUT
UNARY OP:
Cannot perform bitwise not on array
-Cannot perform bitwise not on object
+Cannot perform bitwise not on stdClass
Cannot perform bitwise not on resource
INCDEC:
Cannot increment array
Cannot decrement array
-Cannot increment object
-Cannot decrement object
+Cannot increment stdClass
+Cannot decrement stdClass
Cannot increment resource
Cannot decrement resource
diff --git a/Zend/tests/return_types/001.phpt b/Zend/tests/return_types/001.phpt
index fc2bc326a9..f726f0cd7e 100644
--- a/Zend/tests/return_types/001.phpt
+++ b/Zend/tests/return_types/001.phpt
@@ -7,7 +7,7 @@ function test1() : array {
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, none returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, none returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
diff --git a/Zend/tests/return_types/002.phpt b/Zend/tests/return_types/002.phpt
index 07101ca760..ad88cf1256 100644
--- a/Zend/tests/return_types/002.phpt
+++ b/Zend/tests/return_types/002.phpt
@@ -8,7 +8,7 @@ function test1() : array {
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, null returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
diff --git a/Zend/tests/return_types/003.phpt b/Zend/tests/return_types/003.phpt
index 5d60da25ed..c2f466cd01 100644
--- a/Zend/tests/return_types/003.phpt
+++ b/Zend/tests/return_types/003.phpt
@@ -7,7 +7,7 @@ function test1() : array {
}
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, int returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, int returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
diff --git a/Zend/tests/return_types/004.phpt b/Zend/tests/return_types/004.phpt
index eae7018ded..3d2fdda0d9 100644
--- a/Zend/tests/return_types/004.phpt
+++ b/Zend/tests/return_types/004.phpt
@@ -8,7 +8,7 @@ function test1() : array {
test1();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test1() must be of type array, string returned in %s:%d
+Fatal error: Uncaught TypeError: test1(): Return value must be of type array, string returned in %s:%d
Stack trace:
#0 %s(%d): test1()
#1 {main}
diff --git a/Zend/tests/return_types/005.phpt b/Zend/tests/return_types/005.phpt
index 6313ae69ce..31d5ca8b9a 100644
--- a/Zend/tests/return_types/005.phpt
+++ b/Zend/tests/return_types/005.phpt
@@ -13,7 +13,7 @@ class qux {
$qux = new qux();
$qux->foo();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of qux::foo() must be of type foo, qux returned in %s:%d
+Fatal error: Uncaught TypeError: qux::foo(): Return value must be of type foo, qux returned in %s:%d
Stack trace:
#0 %s(%d): qux->foo()
#1 {main}
diff --git a/Zend/tests/return_types/010.phpt b/Zend/tests/return_types/010.phpt
index 6ff9d7f25c..763c8664ee 100644
--- a/Zend/tests/return_types/010.phpt
+++ b/Zend/tests/return_types/010.phpt
@@ -9,7 +9,7 @@ function &foo(array &$in) : array {
$array = [1, 2, 3];
var_dump(foo($array));
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of foo() must be of type array, null returned in %s:%d
+Fatal error: Uncaught TypeError: foo(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): foo(Array)
#1 {main}
diff --git a/Zend/tests/return_types/013.phpt b/Zend/tests/return_types/013.phpt
index 1cbdd6184f..e7cea22acc 100644
--- a/Zend/tests/return_types/013.phpt
+++ b/Zend/tests/return_types/013.phpt
@@ -14,7 +14,7 @@ class foo {
$baz = new foo();
var_dump($func=$baz->bar(), $func());
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of foo::{closure}() must be of type array, null returned in %s:%d
+Fatal error: Uncaught TypeError: foo::{closure}(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): foo->{closure}()
#1 {main}
diff --git a/Zend/tests/return_types/028.phpt b/Zend/tests/return_types/028.phpt
index d50b09c3f6..802dd7708d 100644
--- a/Zend/tests/return_types/028.phpt
+++ b/Zend/tests/return_types/028.phpt
@@ -17,4 +17,4 @@ try {
?>
--EXPECTF--
-Return value of foo() must be of type stdClass, array returned in %s on line %d
+foo(): Return value must be of type stdClass, array returned in %s on line %d
diff --git a/Zend/tests/return_types/029.phpt b/Zend/tests/return_types/029.phpt
index 0e25dea559..1d17b5d770 100644
--- a/Zend/tests/return_types/029.phpt
+++ b/Zend/tests/return_types/029.phpt
@@ -21,7 +21,7 @@ Stack trace:
#0 %s(%d): foo()
#1 {main}
-Next TypeError: Return value of foo() must be of type array, null returned in %s29.php:%d
+Next TypeError: foo(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): foo()
#1 {main}
diff --git a/Zend/tests/return_types/030.phpt b/Zend/tests/return_types/030.phpt
index 907d47d66a..2f4cb696d5 100644
--- a/Zend/tests/return_types/030.phpt
+++ b/Zend/tests/return_types/030.phpt
@@ -16,7 +16,7 @@ foo(0);
ok
ok
-Fatal error: Uncaught TypeError: Return value of foo() must be of type ?array, int returned in %s030.php:3
+Fatal error: Uncaught TypeError: foo(): Return value must be of type ?array, int returned in %s:%d
Stack trace:
#0 %s030.php(10): foo(0)
#1 {main}
diff --git a/Zend/tests/return_types/bug70557.phpt b/Zend/tests/return_types/bug70557.phpt
index af8b92fb62..60da2d5263 100644
--- a/Zend/tests/return_types/bug70557.phpt
+++ b/Zend/tests/return_types/bug70557.phpt
@@ -16,4 +16,4 @@ try {
}
?>
--EXPECT--
-string(64) "Return value of getNumber() must be of type int, string returned"
+string(62) "getNumber(): Return value must be of type int, string returned"
diff --git a/Zend/tests/return_types/bug71092.phpt b/Zend/tests/return_types/bug71092.phpt
index ed9a082349..e7ca36f475 100644
--- a/Zend/tests/return_types/bug71092.phpt
+++ b/Zend/tests/return_types/bug71092.phpt
@@ -16,7 +16,7 @@ function boom(): array {
boom();
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of boom() must be of type array, null returned in %sbug71092.php:%d
+Fatal error: Uncaught TypeError: boom(): Return value must be of type array, null returned in %s:%d
Stack trace:
#0 %s(%d): boom()
#1 {main}
diff --git a/Zend/tests/return_types/internal_functions001.phpt b/Zend/tests/return_types/internal_functions001.phpt
index 14a60c83b4..ebed8515e5 100644
--- a/Zend/tests/return_types/internal_functions001.phpt
+++ b/Zend/tests/return_types/internal_functions001.phpt
@@ -10,5 +10,5 @@ if (!PHP_DEBUG) die('skip requires debug build');
<?php
zend_test_array_return();
?>
---EXPECTF--
-Fatal error: Return value of zend_test_array_return() must be of type array, null returned in %s on line %d
+--EXPECT--
+Fatal error: zend_test_array_return(): Return value must be of type array, null returned in Unknown on line 0
diff --git a/Zend/tests/return_types/rfc001.phpt b/Zend/tests/return_types/rfc001.phpt
index cbe2335afb..f9cdbec2b7 100644
--- a/Zend/tests/return_types/rfc001.phpt
+++ b/Zend/tests/return_types/rfc001.phpt
@@ -9,7 +9,7 @@ function get_config(): array {
get_config();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of get_config() must be of type array, int returned in %s:%d
+Fatal error: Uncaught TypeError: get_config(): Return value must be of type array, int returned in %s:%d
Stack trace:
#0 %s(%d): get_config()
#1 {main}
diff --git a/Zend/tests/return_types/rfc003.phpt b/Zend/tests/return_types/rfc003.phpt
index 76a77c07c4..461d80b7fe 100644
--- a/Zend/tests/return_types/rfc003.phpt
+++ b/Zend/tests/return_types/rfc003.phpt
@@ -8,7 +8,7 @@ function foo(): DateTime {
foo();
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of foo() must be of type DateTime, null returned in %s:%d
+Fatal error: Uncaught TypeError: foo(): Return value must be of type DateTime, null returned in %s:%d
Stack trace:
#0 %s(%d): foo()
#1 {main}
diff --git a/Zend/tests/throw/001.phpt b/Zend/tests/throw/001.phpt
index deb8743ab5..ba2406c6d3 100644
--- a/Zend/tests/throw/001.phpt
+++ b/Zend/tests/throw/001.phpt
@@ -167,7 +167,7 @@ string(3) "bar"
string(11) "exception 1"
bool(true)
string(20) "false ? true : throw"
-string(39) "Unsupported operand types: object + int"
+string(42) "Unsupported operand types: Exception + int"
string(35) "throw $exception = new Exception();"
string(37) "throw $exception ??= new Exception();"
string(30) "throw null ?? new Exception();"
diff --git a/Zend/tests/trait_type_errors.phpt b/Zend/tests/trait_type_errors.phpt
index 2f5069a433..d3c7c0582f 100644
--- a/Zend/tests/trait_type_errors.phpt
+++ b/Zend/tests/trait_type_errors.phpt
@@ -38,6 +38,6 @@ try {
?>
--EXPECTF--
-Return value of C::test1() must be of type int, string returned
+C::test1(): Return value must be of type int, string returned
C::test2(): Argument #1 ($arg) must be of type int, string given, called in %s on line %d
C::test3(): Argument #1 ($arg) must be of type int, string given, called in %s on line %d
diff --git a/Zend/tests/type_declarations/iterable_003.phpt b/Zend/tests/type_declarations/iterable_003.phpt
index eda77d490b..d2a3bcb368 100644
--- a/Zend/tests/type_declarations/iterable_003.phpt
+++ b/Zend/tests/type_declarations/iterable_003.phpt
@@ -29,4 +29,4 @@ array(0) {
}
object(Generator)#2 (0) {
}
-Return value of baz() must be of type iterable, int returned
+baz(): Return value must be of type iterable, int returned
diff --git a/Zend/tests/type_declarations/mixed/validation/mixed_return_strict_error.phpt b/Zend/tests/type_declarations/mixed/validation/mixed_return_strict_error.phpt
index ded74b0467..2bd775af0a 100644
--- a/Zend/tests/type_declarations/mixed/validation/mixed_return_strict_error.phpt
+++ b/Zend/tests/type_declarations/mixed/validation/mixed_return_strict_error.phpt
@@ -15,6 +15,5 @@ try {
}
?>
---EXPECTF--
-Return value of foo() must be of type mixed, none returned
-
+--EXPECT--
+foo(): Return value must be of type mixed, none returned
diff --git a/Zend/tests/type_declarations/mixed/validation/mixed_return_weak_error.phpt b/Zend/tests/type_declarations/mixed/validation/mixed_return_weak_error.phpt
index 316f465877..52bd99beb6 100644
--- a/Zend/tests/type_declarations/mixed/validation/mixed_return_weak_error.phpt
+++ b/Zend/tests/type_declarations/mixed/validation/mixed_return_weak_error.phpt
@@ -15,4 +15,4 @@ try {
?>
--EXPECT--
-Return value of foo() must be of type mixed, none returned
+foo(): Return value must be of type mixed, none returned
diff --git a/Zend/tests/type_declarations/scalar_basic.phpt b/Zend/tests/type_declarations/scalar_basic.phpt
index c3f06c5bbd..002cab6042 100644
--- a/Zend/tests/type_declarations/scalar_basic.phpt
+++ b/Zend/tests/type_declarations/scalar_basic.phpt
@@ -104,11 +104,11 @@ int(0)
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, StringCapable given, called in %s on line %d
*** Trying resource(%d) of type (stream)
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
@@ -158,11 +158,11 @@ float(0)
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, StringCapable given, called in %s on line %d
*** Trying resource(%d) of type (stream)
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
@@ -211,7 +211,7 @@ string(0) ""
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
@@ -264,11 +264,11 @@ bool(false)
*** Trying object(stdClass)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#%s (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, StringCapable given, called in %s on line %d
*** Trying resource(%d) of type (stream)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
diff --git a/Zend/tests/type_declarations/scalar_return_basic.phpt b/Zend/tests/type_declarations/scalar_return_basic.phpt
index c0b0df6829..5ecd533840 100644
--- a/Zend/tests/type_declarations/scalar_return_basic.phpt
+++ b/Zend/tests/type_declarations/scalar_return_basic.phpt
@@ -75,30 +75,30 @@ int(1)
E_NOTICE: A non well formed numeric value encountered on line %d
int(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying int(2147483647)
int(2147483647)
*** Trying float(NAN)
-*** Caught Return value of {closure}() must be of type int, float returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, float returned in %s on line %d
*** Trying bool(true)
int(1)
*** Trying bool(false)
int(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type int, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type int, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type int, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, resource returned in %s on line %d
Testing 'float' type:
*** Trying int(1)
@@ -113,9 +113,9 @@ float(1.5)
E_NOTICE: A non well formed numeric value encountered on line %d
float(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying int(2147483647)
float(2147483647)
*** Trying float(NAN)
@@ -125,18 +125,18 @@ float(1)
*** Trying bool(false)
float(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type float, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type float, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type float, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, resource returned in %s on line %d
Testing 'string' type:
*** Trying int(1)
@@ -162,18 +162,18 @@ string(1) "1"
*** Trying bool(false)
string(0) ""
*** Trying NULL
-*** Caught Return value of {closure}() must be of type string, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type string, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type string, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
string(6) "foobar"
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type string, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, resource returned in %s on line %d
Testing 'bool' type:
*** Trying int(1)
@@ -199,17 +199,17 @@ bool(true)
*** Trying bool(false)
bool(false)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type bool, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type bool, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type bool, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, resource returned in %s on line %d
Done
diff --git a/Zend/tests/type_declarations/scalar_return_basic_64bit.phpt b/Zend/tests/type_declarations/scalar_return_basic_64bit.phpt
index 5e387c45c8..0fbccb1b69 100644
--- a/Zend/tests/type_declarations/scalar_return_basic_64bit.phpt
+++ b/Zend/tests/type_declarations/scalar_return_basic_64bit.phpt
@@ -75,30 +75,30 @@ int(1)
E_NOTICE: A non well formed numeric value encountered on line %d
int(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type int, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, string returned in %s on line %d
*** Trying int(9223372036854775807)
int(9223372036854775807)
*** Trying float(NAN)
-*** Caught Return value of {closure}() must be of type int, float returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, float returned in %s on line %d
*** Trying bool(true)
int(1)
*** Trying bool(false)
int(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type int, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type int, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type int, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type int, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type int, resource returned in %s on line %d
Testing 'float' type:
*** Trying int(1)
@@ -113,9 +113,9 @@ float(1.5)
E_NOTICE: A non well formed numeric value encountered on line %d
float(1)
*** Trying string(1) "a"
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying string(0) ""
-*** Caught Return value of {closure}() must be of type float, string returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, string returned in %s on line %d
*** Trying int(9223372036854775807)
float(9.223372036854776E+18)
*** Trying float(NAN)
@@ -125,18 +125,18 @@ float(1)
*** Trying bool(false)
float(0)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type float, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type float, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type float, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type float, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type float, resource returned in %s on line %d
Testing 'string' type:
*** Trying int(1)
@@ -162,18 +162,18 @@ string(1) "1"
*** Trying bool(false)
string(0) ""
*** Trying NULL
-*** Caught Return value of {closure}() must be of type string, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type string, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type string, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
string(6) "foobar"
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type string, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type string, resource returned in %s on line %d
Testing 'bool' type:
*** Trying int(1)
@@ -199,17 +199,17 @@ bool(true)
*** Trying bool(false)
bool(false)
*** Trying NULL
-*** Caught Return value of {closure}() must be of type bool, null returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, null returned in %s on line %d
*** Trying array(0) {
}
-*** Caught Return value of {closure}() must be of type bool, array returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, array returned in %s on line %d
*** Trying object(stdClass)#6 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, stdClass returned in %s on line %d
*** Trying object(StringCapable)#7 (0) {
}
-*** Caught Return value of {closure}() must be of type bool, object returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, StringCapable returned in %s on line %d
*** Trying resource(5) of type (stream)
-*** Caught Return value of {closure}() must be of type bool, resource returned in %s on line %d
+*** Caught {closure}(): Return value must be of type bool, resource returned in %s on line %d
Done
diff --git a/Zend/tests/type_declarations/scalar_strict.phpt b/Zend/tests/type_declarations/scalar_strict.phpt
index 3c420ed455..6d838848e9 100644
--- a/Zend/tests/type_declarations/scalar_strict.phpt
+++ b/Zend/tests/type_declarations/scalar_strict.phpt
@@ -98,11 +98,11 @@ int(2147483647)
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
@@ -151,11 +151,11 @@ float(NAN)
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
@@ -204,11 +204,11 @@ string(0) ""
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
@@ -257,11 +257,11 @@ bool(false)
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
diff --git a/Zend/tests/type_declarations/scalar_strict_64bit.phpt b/Zend/tests/type_declarations/scalar_strict_64bit.phpt
index 6f8504c16c..4705fa81db 100644
--- a/Zend/tests/type_declarations/scalar_strict_64bit.phpt
+++ b/Zend/tests/type_declarations/scalar_strict_64bit.phpt
@@ -98,11 +98,11 @@ int(9223372036854775807)
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
@@ -151,11 +151,11 @@ float(NAN)
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
@@ -204,11 +204,11 @@ string(0) ""
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
@@ -257,11 +257,11 @@ bool(false)
*** Trying object(stdClass)#5 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying object(StringCapable)#6 (0) {
}
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, StringCapable given, called in %s on line %d
*** Trying resource(5) of type (stream)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
diff --git a/Zend/tests/type_declarations/scalar_strict_basic.phpt b/Zend/tests/type_declarations/scalar_strict_basic.phpt
index cb385422bd..f02649b8b5 100644
--- a/Zend/tests/type_declarations/scalar_strict_basic.phpt
+++ b/Zend/tests/type_declarations/scalar_strict_basic.phpt
@@ -75,7 +75,7 @@ int(1)
*** Caught {closure}(): Argument #1 ($i) must be of type int, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($i) must be of type int, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($i) must be of type int, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($i) must be of type int, resource given, called in %s on line %d
@@ -104,7 +104,7 @@ float(1)
*** Caught {closure}(): Argument #1 ($f) must be of type float, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($f) must be of type float, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($f) must be of type float, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($f) must be of type float, resource given, called in %s on line %d
@@ -133,7 +133,7 @@ string(1) "1"
*** Caught {closure}(): Argument #1 ($s) must be of type string, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($s) must be of type string, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($s) must be of type string, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($s) must be of type string, resource given, called in %s on line %d
@@ -162,7 +162,7 @@ bool(false)
*** Caught {closure}(): Argument #1 ($b) must be of type bool, array given, called in %s on line %d
*** Trying object value
-*** Caught {closure}(): Argument #1 ($b) must be of type bool, object given, called in %s on line %d
+*** Caught {closure}(): Argument #1 ($b) must be of type bool, stdClass given, called in %s on line %d
*** Trying resource value
*** Caught {closure}(): Argument #1 ($b) must be of type bool, resource given, called in %s on line %d
diff --git a/Zend/tests/type_declarations/static_type_return.phpt b/Zend/tests/type_declarations/static_type_return.phpt
index a5c8921e0a..820f4b0d6f 100644
--- a/Zend/tests/type_declarations/static_type_return.phpt
+++ b/Zend/tests/type_declarations/static_type_return.phpt
@@ -75,7 +75,7 @@ object(B)#3 (0) {
object(A)#3 (0) {
}
-Return value of A::test2() must be of type B, A returned
+A::test2(): Return value must be of type B, A returned
object(A)#3 (0) {
}
@@ -84,8 +84,8 @@ object(C)#3 (0) {
object(A)#3 (0) {
}
-Return value of A::test4() must be of type B|array, A returned
+A::test4(): Return value must be of type B|array, A returned
-Return value of {closure}() must be of type static, stdClass returned
+{closure}(): Return value must be of type static, stdClass returned
object(A)#1 (0) {
}
diff --git a/Zend/tests/type_declarations/static_type_trait.phpt b/Zend/tests/type_declarations/static_type_trait.phpt
index 41f861643b..25ebe4d236 100644
--- a/Zend/tests/type_declarations/static_type_trait.phpt
+++ b/Zend/tests/type_declarations/static_type_trait.phpt
@@ -31,7 +31,7 @@ object(P)#2 (0) {
object(P)#2 (0) {
}
-Fatal error: Uncaught TypeError: Return value of C::test() must be of type P, C returned in %s:%d
+Fatal error: Uncaught TypeError: C::test(): Return value must be of type P, C returned in %s:%d
Stack trace:
#0 %s(%d): C->test(Object(C))
#1 {main}
diff --git a/Zend/tests/type_declarations/union_types/type_checking_strict.phpt b/Zend/tests/type_declarations/union_types/type_checking_strict.phpt
index 4887b3b796..bfb02196f1 100644
--- a/Zend/tests/type_declarations/union_types/type_checking_strict.phpt
+++ b/Zend/tests/type_declarations/union_types/type_checking_strict.phpt
@@ -79,8 +79,8 @@ true => Argument ... must be of type int|float, bool given
false => Argument ... must be of type int|float, bool given
null => Argument ... must be of type int|float, null given
[] => Argument ... must be of type int|float, array given
-new stdClass => Argument ... must be of type int|float, object given
-new WithToString => Argument ... must be of type int|float, object given
+new stdClass => Argument ... must be of type int|float, stdClass given
+new WithToString => Argument ... must be of type int|float, WithToString given
Type int|float|false:
42 => 42
@@ -95,8 +95,8 @@ true => Argument ... must be of type int|float|false, bool given
false => false
null => Argument ... must be of type int|float|false, null given
[] => Argument ... must be of type int|float|false, array given
-new stdClass => Argument ... must be of type int|float|false, object given
-new WithToString => Argument ... must be of type int|float|false, object given
+new stdClass => Argument ... must be of type int|float|false, stdClass given
+new WithToString => Argument ... must be of type int|float|false, WithToString given
Type int|float|bool:
42 => 42
@@ -111,8 +111,8 @@ true => true
false => false
null => Argument ... must be of type int|float|bool, null given
[] => Argument ... must be of type int|float|bool, array given
-new stdClass => Argument ... must be of type int|float|bool, object given
-new WithToString => Argument ... must be of type int|float|bool, object given
+new stdClass => Argument ... must be of type int|float|bool, stdClass given
+new WithToString => Argument ... must be of type int|float|bool, WithToString given
Type int|bool:
42 => 42
@@ -127,8 +127,8 @@ true => true
false => false
null => Argument ... must be of type int|bool, null given
[] => Argument ... must be of type int|bool, array given
-new stdClass => Argument ... must be of type int|bool, object given
-new WithToString => Argument ... must be of type int|bool, object given
+new stdClass => Argument ... must be of type int|bool, stdClass given
+new WithToString => Argument ... must be of type int|bool, WithToString given
Type int|string|null:
42 => 42
@@ -143,8 +143,8 @@ true => Argument ... must be of type string|int|null, bool given
false => Argument ... must be of type string|int|null, bool given
null => null
[] => Argument ... must be of type string|int|null, array given
-new stdClass => Argument ... must be of type string|int|null, object given
-new WithToString => Argument ... must be of type string|int|null, object given
+new stdClass => Argument ... must be of type string|int|null, stdClass given
+new WithToString => Argument ... must be of type string|int|null, WithToString given
Type string|bool:
42 => Argument ... must be of type string|bool, int given
@@ -159,8 +159,8 @@ true => true
false => false
null => Argument ... must be of type string|bool, null given
[] => Argument ... must be of type string|bool, array given
-new stdClass => Argument ... must be of type string|bool, object given
-new WithToString => Argument ... must be of type string|bool, object given
+new stdClass => Argument ... must be of type string|bool, stdClass given
+new WithToString => Argument ... must be of type string|bool, WithToString given
Type float|array:
42 => 42.0
@@ -175,8 +175,8 @@ true => Argument ... must be of type array|float, bool given
false => Argument ... must be of type array|float, bool given
null => Argument ... must be of type array|float, null given
[] => []
-new stdClass => Argument ... must be of type array|float, object given
-new WithToString => Argument ... must be of type array|float, object given
+new stdClass => Argument ... must be of type array|float, stdClass given
+new WithToString => Argument ... must be of type array|float, WithToString given
Type string|array:
42 => Argument ... must be of type array|string, int given
@@ -191,8 +191,8 @@ true => Argument ... must be of type array|string, bool given
false => Argument ... must be of type array|string, bool given
null => Argument ... must be of type array|string, null given
[] => []
-new stdClass => Argument ... must be of type array|string, object given
-new WithToString => Argument ... must be of type array|string, object given
+new stdClass => Argument ... must be of type array|string, stdClass given
+new WithToString => Argument ... must be of type array|string, WithToString given
Type bool|array:
42 => Argument ... must be of type array|bool, int given
@@ -207,5 +207,5 @@ true => true
false => false
null => Argument ... must be of type array|bool, null given
[] => []
-new stdClass => Argument ... must be of type array|bool, object given
-new WithToString => Argument ... must be of type array|bool, object given
+new stdClass => Argument ... must be of type array|bool, stdClass given
+new WithToString => Argument ... must be of type array|bool, WithToString given
diff --git a/Zend/tests/type_declarations/union_types/type_checking_weak.phpt b/Zend/tests/type_declarations/union_types/type_checking_weak.phpt
index 1b9fa4b316..2b1e7397fb 100644
--- a/Zend/tests/type_declarations/union_types/type_checking_weak.phpt
+++ b/Zend/tests/type_declarations/union_types/type_checking_weak.phpt
@@ -77,8 +77,8 @@ true => 1
false => 0
null => Argument ... must be of type int|float, null given
[] => Argument ... must be of type int|float, array given
-new stdClass => Argument ... must be of type int|float, object given
-new WithToString => Argument ... must be of type int|float, object given
+new stdClass => Argument ... must be of type int|float, stdClass given
+new WithToString => Argument ... must be of type int|float, WithToString given
Type int|float|false:
42 => 42
@@ -93,8 +93,8 @@ true => 1
false => false
null => Argument ... must be of type int|float|false, null given
[] => Argument ... must be of type int|float|false, array given
-new stdClass => Argument ... must be of type int|float|false, object given
-new WithToString => Argument ... must be of type int|float|false, object given
+new stdClass => Argument ... must be of type int|float|false, stdClass given
+new WithToString => Argument ... must be of type int|float|false, WithToString given
Type int|float|bool:
42 => 42
@@ -109,8 +109,8 @@ true => true
false => false
null => Argument ... must be of type int|float|bool, null given
[] => Argument ... must be of type int|float|bool, array given
-new stdClass => Argument ... must be of type int|float|bool, object given
-new WithToString => Argument ... must be of type int|float|bool, object given
+new stdClass => Argument ... must be of type int|float|bool, stdClass given
+new WithToString => Argument ... must be of type int|float|bool, WithToString given
Type int|bool:
42 => 42
@@ -125,8 +125,8 @@ true => true
false => false
null => Argument ... must be of type int|bool, null given
[] => Argument ... must be of type int|bool, array given
-new stdClass => Argument ... must be of type int|bool, object given
-new WithToString => Argument ... must be of type int|bool, object given
+new stdClass => Argument ... must be of type int|bool, stdClass given
+new WithToString => Argument ... must be of type int|bool, WithToString given
Type int|string|null:
42 => 42
@@ -141,7 +141,7 @@ true => 1
false => 0
null => null
[] => Argument ... must be of type string|int|null, array given
-new stdClass => Argument ... must be of type string|int|null, object given
+new stdClass => Argument ... must be of type string|int|null, stdClass given
new WithToString => "__toString()"
Type string|bool:
@@ -157,7 +157,7 @@ true => true
false => false
null => Argument ... must be of type string|bool, null given
[] => Argument ... must be of type string|bool, array given
-new stdClass => Argument ... must be of type string|bool, object given
+new stdClass => Argument ... must be of type string|bool, stdClass given
new WithToString => "__toString()"
Type float|array:
@@ -173,8 +173,8 @@ true => 1.0
false => 0.0
null => Argument ... must be of type array|float, null given
[] => []
-new stdClass => Argument ... must be of type array|float, object given
-new WithToString => Argument ... must be of type array|float, object given
+new stdClass => Argument ... must be of type array|float, stdClass given
+new WithToString => Argument ... must be of type array|float, WithToString given
Type string|array:
42 => "42"
@@ -189,7 +189,7 @@ true => "1"
false => ""
null => Argument ... must be of type array|string, null given
[] => []
-new stdClass => Argument ... must be of type array|string, object given
+new stdClass => Argument ... must be of type array|string, stdClass given
new WithToString => "__toString()"
Type bool|array:
@@ -205,5 +205,5 @@ true => true
false => false
null => Argument ... must be of type array|bool, null given
[] => []
-new stdClass => Argument ... must be of type array|bool, object given
-new WithToString => Argument ... must be of type array|bool, object given
+new stdClass => Argument ... must be of type array|bool, stdClass given
+new WithToString => Argument ... must be of type array|bool, WithToString given
diff --git a/Zend/tests/typehints/or_null.phpt b/Zend/tests/typehints/or_null.phpt
index 2d0683edbb..d7a2e23002 100644
--- a/Zend/tests/typehints/or_null.phpt
+++ b/Zend/tests/typehints/or_null.phpt
@@ -251,67 +251,67 @@ TypeError: iterableF(): Argument #1 ($param) must be of type ?iterable, int give
Stack trace:
#0 %s(60): iterableF(1)
#1 {main}
-TypeError: intF(): Argument #1 ($param) must be of type ?int, object given, called in %s:%d
+TypeError: intF(): Argument #1 ($param) must be of type ?int, stdClass given, called in %s:%d
Stack trace:
#0 %s(68): intF(Object(stdClass))
#1 {main}
-TypeError: Return value of returnUnloadedClass() must be of type ?I\Dont\Exist, stdClass returned in %s:74
+TypeError: returnUnloadedClass(): Return value must be of type ?I\Dont\Exist, stdClass returned in %s:%d
Stack trace:
#0 %s(78): returnUnloadedClass()
#1 {main}
-TypeError: Return value of returnLoadedClass() must be of type ?RealClass, stdClass returned in %s:84
+TypeError: returnLoadedClass(): Return value must be of type ?RealClass, stdClass returned in %s:%d
Stack trace:
#0 %s(88): returnLoadedClass()
#1 {main}
-TypeError: Return value of returnLoadedInterface() must be of type ?RealInterface, stdClass returned in %s:94
+TypeError: returnLoadedInterface(): Return value must be of type ?RealInterface, stdClass returned in %s:%d
Stack trace:
#0 %s(98): returnLoadedInterface()
#1 {main}
-TypeError: Return value of returnUnloadedClassScalar() must be of type ?I\Dont\Exist, int returned in %s:104
+TypeError: returnUnloadedClassScalar(): Return value must be of type ?I\Dont\Exist, int returned in %s:%d
Stack trace:
#0 %s(108): returnUnloadedClassScalar()
#1 {main}
-TypeError: Return value of returnLoadedClassScalar() must be of type ?RealClass, int returned in %s:114
+TypeError: returnLoadedClassScalar(): Return value must be of type ?RealClass, int returned in %s:%d
Stack trace:
#0 %s(118): returnLoadedClassScalar()
#1 {main}
-TypeError: Return value of returnLoadedInterfaceScalar() must be of type ?RealInterface, int returned in %s:124
+TypeError: returnLoadedInterfaceScalar(): Return value must be of type ?RealInterface, int returned in %s:%d
Stack trace:
#0 %s(128): returnLoadedInterfaceScalar()
#1 {main}
-TypeError: Return value of returnCallable() must be of type ?callable, int returned in %s:134
+TypeError: returnCallable(): Return value must be of type ?callable, int returned in %s:%d
Stack trace:
#0 %s(138): returnCallable()
#1 {main}
-TypeError: Return value of returnIterable() must be of type ?iterable, int returned in %s:144
+TypeError: returnIterable(): Return value must be of type ?iterable, int returned in %s:%d
Stack trace:
#0 %s(148): returnIterable()
#1 {main}
-TypeError: Return value of returnInt() must be of type ?int, object returned in %s:154
+TypeError: returnInt(): Return value must be of type ?int, stdClass returned in %s:%d
Stack trace:
#0 %s(158): returnInt()
#1 {main}
-TypeError: Return value of returnMissingUnloadedClass() must be of type ?I\Dont\Exist, none returned in %s:164
+TypeError: returnMissingUnloadedClass(): Return value must be of type ?I\Dont\Exist, none returned in %s:%d
Stack trace:
#0 %s(167): returnMissingUnloadedClass()
#1 {main}
-TypeError: Return value of returnMissingLoadedClass() must be of type ?RealClass, none returned in %s:173
+TypeError: returnMissingLoadedClass(): Return value must be of type ?RealClass, none returned in %s:%d
Stack trace:
#0 %s(176): returnMissingLoadedClass()
#1 {main}
-TypeError: Return value of returnMissingLoadedInterface() must be of type ?RealInterface, none returned in %s:182
+TypeError: returnMissingLoadedInterface(): Return value must be of type ?RealInterface, none returned in %s:%d
Stack trace:
#0 %s(185): returnMissingLoadedInterface()
#1 {main}
-TypeError: Return value of returnMissingCallable() must be of type ?callable, none returned in %s:191
+TypeError: returnMissingCallable(): Return value must be of type ?callable, none returned in %s:%d
Stack trace:
#0 %s(194): returnMissingCallable()
#1 {main}
-TypeError: Return value of returnMissingIterable() must be of type ?iterable, none returned in %s:200
+TypeError: returnMissingIterable(): Return value must be of type ?iterable, none returned in %s:%d
Stack trace:
#0 %s(203): returnMissingIterable()
#1 {main}
-TypeError: Return value of returnMissingInt() must be of type ?int, none returned in %s:209
+TypeError: returnMissingInt(): Return value must be of type ?int, none returned in %s:%d
Stack trace:
#0 %s(212): returnMissingInt()
#1 {main}
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index cb8446d2ea..ba5cb9c747 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -136,7 +136,15 @@ ZEND_API const char *zend_zval_type_name(const zval *arg) /* {{{ */
{
ZVAL_DEREF(arg);
- return Z_ISUNDEF_P(arg) ? "null" : zend_get_type_by_const(Z_TYPE_P(arg));
+ if (Z_ISUNDEF_P(arg)) {
+ return "null";
+ }
+
+ if (Z_TYPE_P(arg) == IS_OBJECT) {
+ return ZSTR_VAL(Z_OBJCE_P(arg)->name);
+ }
+
+ return zend_get_type_by_const(Z_TYPE_P(arg));
}
/* }}} */
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 0a18ab62fa..224dfb71d0 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -663,13 +663,7 @@ static ZEND_COLD void zend_verify_type_error_common(
*need_msg = zend_type_to_string_resolved(arg_info->type, zf->common.scope);
if (value) {
- zend_bool has_class = ZEND_TYPE_HAS_CLASS(arg_info->type)
- || (ZEND_TYPE_FULL_MASK(arg_info->type) & MAY_BE_STATIC);
- if (has_class && Z_TYPE_P(value) == IS_OBJECT) {
- *given_kind = ZSTR_VAL(Z_OBJCE_P(value)->name);
- } else {
- *given_kind = zend_zval_type_name(value);
- }
+ *given_kind = zend_zval_type_name(value);
} else {
*given_kind = "none";
}
@@ -849,7 +843,7 @@ ZEND_COLD zend_never_inline void zend_verify_property_type_error(zend_property_i
type_str = zend_type_to_string(info->type);
zend_type_error("Cannot assign %s to property %s::$%s of type %s",
- Z_TYPE_P(property) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(property)->name) : zend_zval_type_name(property),
+ zend_zval_type_name(property),
ZSTR_VAL(info->ce->name),
zend_get_unmangled_property_name(info->name),
ZSTR_VAL(type_str));
@@ -1187,7 +1181,7 @@ ZEND_API ZEND_COLD void zend_verify_return_error(
zf, arg_info, cache_slot, value,
&fname, &fsep, &fclass, &need_msg, &given_msg);
- zend_type_error("Return value of %s%s%s() must be of type %s, %s returned",
+ zend_type_error("%s%s%s(): Return value must be of type %s, %s returned",
fclass, fsep, fname, ZSTR_VAL(need_msg), given_msg);
zend_string_release(need_msg);
@@ -1206,7 +1200,7 @@ static ZEND_COLD void zend_verify_internal_return_error(
zf, arg_info, cache_slot, value,
&fname, &fsep, &fclass, &need_msg, &given_msg);
- zend_error_noreturn(E_CORE_ERROR, "Return value of %s%s%s() must be of type %s, %s returned",
+ zend_error_noreturn(E_CORE_ERROR, "%s%s%s(): Return value must be of type %s, %s returned",
fclass, fsep, fname, ZSTR_VAL(need_msg), given_msg);
}
@@ -2952,7 +2946,7 @@ ZEND_API ZEND_COLD void zend_throw_ref_type_error_type(zend_property_info *prop1
zend_string *type1_str = zend_type_to_string(prop1->type);
zend_string *type2_str = zend_type_to_string(prop2->type);
zend_type_error("Reference with value of type %s held by property %s::$%s of type %s is not compatible with property %s::$%s of type %s",
- Z_TYPE_P(zv) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(zv)->name) : zend_zval_type_name(zv),
+ zend_zval_type_name(zv),
ZSTR_VAL(prop1->ce->name),
zend_get_unmangled_property_name(prop1->name),
ZSTR_VAL(type1_str),
@@ -2967,7 +2961,7 @@ ZEND_API ZEND_COLD void zend_throw_ref_type_error_type(zend_property_info *prop1
ZEND_API ZEND_COLD void zend_throw_ref_type_error_zval(zend_property_info *prop, zval *zv) {
zend_string *type_str = zend_type_to_string(prop->type);
zend_type_error("Cannot assign %s to reference held by property %s::$%s of type %s",
- Z_TYPE_P(zv) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(zv)->name) : zend_zval_type_name(zv),
+ zend_zval_type_name(zv),
ZSTR_VAL(prop->ce->name),
zend_get_unmangled_property_name(prop->name),
ZSTR_VAL(type_str)
@@ -2979,7 +2973,7 @@ ZEND_API ZEND_COLD void zend_throw_conflicting_coercion_error(zend_property_info
zend_string *type1_str = zend_type_to_string(prop1->type);
zend_string *type2_str = zend_type_to_string(prop2->type);
zend_type_error("Cannot assign %s to reference held by property %s::$%s of type %s and property %s::$%s of type %s, as this would result in an inconsistent type conversion",
- Z_TYPE_P(zv) == IS_OBJECT ? ZSTR_VAL(Z_OBJCE_P(zv)->name) : zend_zval_type_name(zv),
+ zend_zval_type_name(zv),
ZSTR_VAL(prop1->ce->name),
zend_get_unmangled_property_name(prop1->name),
ZSTR_VAL(type1_str),
diff --git a/ext/date/tests/014.phpt b/ext/date/tests/014.phpt
index a2f81090e7..acb641beb0 100644
--- a/ext/date/tests/014.phpt
+++ b/ext/date/tests/014.phpt
@@ -33,7 +33,7 @@ object(DateTimeZone)#%d (2) {
}
int(0)
-Fatal error: Uncaught TypeError: timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, object given in %s:%d
+Fatal error: Uncaught TypeError: timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, DateTime given in %s:%d
Stack trace:
#0 %s(%d): timezone_offset_get(Object(DateTime), Object(DateTimeZone))
#1 {main}
diff --git a/ext/date/tests/DateTimeImmutable_createFromMutable.phpt b/ext/date/tests/DateTimeImmutable_createFromMutable.phpt
index 3ac17de49f..4f542c82c8 100644
--- a/ext/date/tests/DateTimeImmutable_createFromMutable.phpt
+++ b/ext/date/tests/DateTimeImmutable_createFromMutable.phpt
@@ -24,4 +24,4 @@ object(DateTimeImmutable)#%d (3) {
["timezone"]=>
string(13) "Europe/London"
}
-DateTimeImmutable::createFromMutable(): Argument #1 ($object) must be of type DateTime, object given
+DateTimeImmutable::createFromMutable(): Argument #1 ($object) must be of type DateTime, DateTimeImmutable given
diff --git a/ext/date/tests/DateTime_createFromImmutable.phpt b/ext/date/tests/DateTime_createFromImmutable.phpt
index 6407333f06..59f6192214 100644
--- a/ext/date/tests/DateTime_createFromImmutable.phpt
+++ b/ext/date/tests/DateTime_createFromImmutable.phpt
@@ -30,4 +30,4 @@ object(DateTime)#%d (3) {
string(13) "Europe/London"
}
bool(true)
-DateTime::createFromImmutable(): Argument #1 ($object) must be of type DateTimeImmutable, object given
+DateTime::createFromImmutable(): Argument #1 ($object) must be of type DateTimeImmutable, DateTime given
diff --git a/ext/date/tests/bug70245.phpt b/ext/date/tests/bug70245.phpt
index b45e8be931..58e7f10e13 100644
--- a/ext/date/tests/bug70245.phpt
+++ b/ext/date/tests/bug70245.phpt
@@ -10,4 +10,4 @@ try {
}
?>
--EXPECT--
-strtotime(): Argument #2 ($now) must be of type ?int, object given
+strtotime(): Argument #2 ($now) must be of type ?int, DateTime given
diff --git a/ext/date/tests/microtime_error.phpt b/ext/date/tests/microtime_error.phpt
index 9ab11355e8..1b13e62b25 100644
--- a/ext/date/tests/microtime_error.phpt
+++ b/ext/date/tests/microtime_error.phpt
@@ -51,7 +51,7 @@ microtime(): Argument #1 ($get_as_float) must be of type bool, array given
--> bad arg: object(stdClass)#%d (0) {
}
-microtime(): Argument #1 ($get_as_float) must be of type bool, object given
+microtime(): Argument #1 ($get_as_float) must be of type bool, stdClass given
--> bad arg: int(1)
float(%s)
diff --git a/ext/date/tests/timezone_offset_get_error.phpt b/ext/date/tests/timezone_offset_get_error.phpt
index 864dc54c2a..2d2f032dfd 100644
--- a/ext/date/tests/timezone_offset_get_error.phpt
+++ b/ext/date/tests/timezone_offset_get_error.phpt
@@ -65,7 +65,7 @@ try {
*** Testing timezone_offset_get() : error conditions ***
-- Testing timezone_offset_get() function with an invalid values for $object argument --
-string(87) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, object given"
+string(89) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, stdClass given"
string(84) "timezone_offset_get(): Argument #1 ($object) must be of type DateTimeZone, int given"
@@ -73,7 +73,7 @@ string(85) "timezone_offset_get(): Argument #1 ($object) must be of type DateTim
-- Testing timezone_offset_get() function with an invalid values for $datetime argument --
-string(94) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, object given"
+string(96) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, stdClass given"
string(91) "timezone_offset_get(): Argument #2 ($datetime) must be of type DateTimeInterface, int given"
diff --git a/ext/intl/tests/bug48227.phpt b/ext/intl/tests/bug48227.phpt
index a1e66f99e9..d44b5fc282 100644
--- a/ext/intl/tests/bug48227.phpt
+++ b/ext/intl/tests/bug48227.phpt
@@ -19,4 +19,4 @@ foreach (['', 1, NULL, $x] as $value) {
NumberFormatter::format(): Argument #1 ($value) must be of type int|float, string given
string(1) "1"
string(1) "0"
-NumberFormatter::format(): Argument #1 ($value) must be of type int|float, object given
+NumberFormatter::format(): Argument #1 ($value) must be of type int|float, NumberFormatter given
diff --git a/ext/intl/tests/calendar_equals_error.phpt b/ext/intl/tests/calendar_equals_error.phpt
index 9da547fe5a..dbed334962 100644
--- a/ext/intl/tests/calendar_equals_error.phpt
+++ b/ext/intl/tests/calendar_equals_error.phpt
@@ -47,7 +47,7 @@ try {
--EXPECT--
error: 0, IntlCalendar::equals() expects exactly 1 parameter, 0 given
-error: 0, IntlCalendar::equals(): Argument #1 ($calendar) must be of type IntlCalendar, object given
+error: 0, IntlCalendar::equals(): Argument #1 ($calendar) must be of type IntlCalendar, stdClass given
error: 0, IntlCalendar::equals() expects exactly 1 parameter, 2 given
diff --git a/ext/libxml/tests/004.phpt b/ext/libxml/tests/004.phpt
index 93c3c497a2..e3cb4bb567 100644
--- a/ext/libxml/tests/004.phpt
+++ b/ext/libxml/tests/004.phpt
@@ -34,7 +34,7 @@ libxml_set_streams_context(): Argument #1 ($context) must be of type resource, s
bool(true)
libxml_set_streams_context(): Argument #1 ($context) must be of type resource, int given
bool(true)
-libxml_set_streams_context(): Argument #1 ($context) must be of type resource, object given
+libxml_set_streams_context(): Argument #1 ($context) must be of type resource, stdClass given
bool(true)
libxml_set_streams_context(): Argument #1 ($context) must be of type resource, array given
bool(true)
diff --git a/ext/mbstring/tests/mb_substitute_character_variation_strict_types.phpt b/ext/mbstring/tests/mb_substitute_character_variation_strict_types.phpt
index 3abb5c23ba..4a7455d2a1 100644
--- a/ext/mbstring/tests/mb_substitute_character_variation_strict_types.phpt
+++ b/ext/mbstring/tests/mb_substitute_character_variation_strict_types.phpt
@@ -166,9 +166,9 @@ ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must
--heredoc--
ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must be 'none', 'long', 'entity' or a valid codepoint
--instance of classWithToString--
-TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, object given
+TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, classWithToString given
--instance of classWithoutToString--
-TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, object given
+TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, classWithoutToString given
--undefined var--
int(12345)
--unset var--
diff --git a/ext/mbstring/tests/mb_substitute_character_variation_weak_types.phpt b/ext/mbstring/tests/mb_substitute_character_variation_weak_types.phpt
index f9bf85a371..99b4288192 100644
--- a/ext/mbstring/tests/mb_substitute_character_variation_weak_types.phpt
+++ b/ext/mbstring/tests/mb_substitute_character_variation_weak_types.phpt
@@ -167,7 +167,7 @@ ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must
--instance of classWithToString--
ValueError: mb_substitute_character(): Argument #1 ($substitute_character) must be 'none', 'long', 'entity' or a valid codepoint
--instance of classWithoutToString--
-TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, object given
+TypeError: mb_substitute_character(): Argument #1 ($substitute_character) must be of type string|int|null, classWithoutToString given
--undefined var--
int(0)
--unset var--
diff --git a/ext/mysqli/tests/mysqli_fetch_object_oo.phpt b/ext/mysqli/tests/mysqli_fetch_object_oo.phpt
index 341a08ef79..564751a25b 100644
--- a/ext/mysqli/tests/mysqli_fetch_object_oo.phpt
+++ b/ext/mysqli/tests/mysqli_fetch_object_oo.phpt
@@ -130,7 +130,7 @@ require_once('skipifconnectfailure.inc');
?>
--EXPECTF--
mysqli object is not fully initialized
-[0] mysqli_result::fetch_object(): Argument #1 ($class_name) must be of type string, object given in %s on line %d
+[0] mysqli_result::fetch_object(): Argument #1 ($class_name) must be of type string, mysqli given in %s on line %d
[0] mysqli_result::fetch_object() expects at most 2 parameters, 3 given in %s on line %d
[0] mysqli_result::fetch_object(): Argument #2 ($params) must be of type array, null given in %s on line %d
Exception: Too few arguments to function mysqli_fetch_object_construct::__construct(), 1 passed and exactly 2 expected
diff --git a/ext/opcache/tests/iterable_type_optimization.phpt b/ext/opcache/tests/iterable_type_optimization.phpt
index 26d9971d37..146e1544e6 100644
--- a/ext/opcache/tests/iterable_type_optimization.phpt
+++ b/ext/opcache/tests/iterable_type_optimization.phpt
@@ -10,7 +10,7 @@ test(new stdClass);
?>
--EXPECTF--
-Fatal error: Uncaught TypeError: Return value of test() must be of type iterable, object returned in %s:%d
+Fatal error: Uncaught TypeError: test(): Return value must be of type iterable, stdClass returned in %s:%d
Stack trace:
#0 %s(%d): test(Object(stdClass))
#1 {main}
diff --git a/ext/opcache/tests/ssa_bug_003.phpt b/ext/opcache/tests/ssa_bug_003.phpt
index b53d24d482..bcfdded45e 100644
--- a/ext/opcache/tests/ssa_bug_003.phpt
+++ b/ext/opcache/tests/ssa_bug_003.phpt
@@ -19,7 +19,7 @@ function test1($x) : callable {
try {
test1(1);
} catch (Error $e) {
- echo "Error: {$e->getMessage()}\n";
+ echo $e->getMessage() . "\n";
}
class Foo {}
@@ -31,10 +31,10 @@ function test2() : Foo {
try {
test2();
} catch (Error $e) {
- echo "Error: {$e->getMessage()}\n";
+ echo $e->getMessage() . "\n";
}
?>
--EXPECT--
-Error: Return value of test1() must be of type callable, string returned
-Error: Return value of test2() must be of type Foo, stdClass returned
+test1(): Return value must be of type callable, string returned
+test2(): Return value must be of type Foo, stdClass returned
diff --git a/ext/pcre/tests/preg_grep_error1.phpt b/ext/pcre/tests/preg_grep_error1.phpt
index b3450beff7..0d7b5e1b8b 100644
--- a/ext/pcre/tests/preg_grep_error1.phpt
+++ b/ext/pcre/tests/preg_grep_error1.phpt
@@ -66,5 +66,5 @@ array(2) {
[2]=>
string(4) "test"
}
-preg_grep(): Argument #1 ($regex) must be of type string, object given
+preg_grep(): Argument #1 ($regex) must be of type string, stdClass given
Done
diff --git a/ext/pcre/tests/preg_match_all_error1.phpt b/ext/pcre/tests/preg_match_all_error1.phpt
index e052327cea..055579cb68 100644
--- a/ext/pcre/tests/preg_match_all_error1.phpt
+++ b/ext/pcre/tests/preg_match_all_error1.phpt
@@ -80,5 +80,5 @@ array(1) {
string(1) "t"
}
}
-preg_match_all(): Argument #1 ($pattern) must be of type string, object given
+preg_match_all(): Argument #1 ($pattern) must be of type string, stdClass given
NULL
diff --git a/ext/pcre/tests/preg_match_error1.phpt b/ext/pcre/tests/preg_match_error1.phpt
index b4540bf5da..011ba6f97b 100644
--- a/ext/pcre/tests/preg_match_error1.phpt
+++ b/ext/pcre/tests/preg_match_error1.phpt
@@ -60,4 +60,4 @@ preg_match(): Argument #1 ($pattern) must be of type string, array given
Arg value is /[a-zA-Z]/
int(1)
-preg_match(): Argument #1 ($pattern) must be of type string, object given
+preg_match(): Argument #1 ($pattern) must be of type string, stdClass given
diff --git a/ext/pcre/tests/preg_match_error2.phpt b/ext/pcre/tests/preg_match_error2.phpt
index a03bcf4417..ebc91d97fd 100644
--- a/ext/pcre/tests/preg_match_error2.phpt
+++ b/ext/pcre/tests/preg_match_error2.phpt
@@ -36,5 +36,5 @@ int(1)
Arg value is: Array
preg_match(): Argument #2 ($subject) must be of type string, array given
-preg_match(): Argument #2 ($subject) must be of type string, object given
+preg_match(): Argument #2 ($subject) must be of type string, stdClass given
Done
diff --git a/ext/pcre/tests/preg_split_error1.phpt b/ext/pcre/tests/preg_split_error1.phpt
index daf7852767..552b668082 100644
--- a/ext/pcre/tests/preg_split_error1.phpt
+++ b/ext/pcre/tests/preg_split_error1.phpt
@@ -67,4 +67,4 @@ array(3) {
[2]=>
string(4) " 5 6"
}
-preg_split(): Argument #1 ($pattern) must be of type string, object given
+preg_split(): Argument #1 ($pattern) must be of type string, stdClass given
diff --git a/ext/reflection/tests/ReflectionClass_getMethod_002.phpt b/ext/reflection/tests/ReflectionClass_getMethod_002.phpt
index e48d43587e..e5dce75367 100644
--- a/ext/reflection/tests/ReflectionClass_getMethod_002.phpt
+++ b/ext/reflection/tests/ReflectionClass_getMethod_002.phpt
@@ -63,4 +63,4 @@ Method 1 does not exist
Method 1.5 does not exist
Method 1 does not exist
ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, array given
-ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, object given
+ReflectionClass::getMethod(): Argument #1 ($name) must be of type string, C given
diff --git a/ext/reflection/tests/ReflectionClass_getProperty_002.phpt b/ext/reflection/tests/ReflectionClass_getProperty_002.phpt
index 86060c8acf..61d29b89d7 100644
--- a/ext/reflection/tests/ReflectionClass_getProperty_002.phpt
+++ b/ext/reflection/tests/ReflectionClass_getProperty_002.phpt
@@ -61,4 +61,4 @@ Property 1 does not exist
Property 1.5 does not exist
Property 1 does not exist
ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, array given
-ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, object given
+ReflectionClass::getProperty(): Argument #1 ($name) must be of type string, C given
diff --git a/ext/reflection/tests/ReflectionReference_errors.phpt b/ext/reflection/tests/ReflectionReference_errors.phpt
index 88244b7940..0d1d63eb28 100644
--- a/ext/reflection/tests/ReflectionReference_errors.phpt
+++ b/ext/reflection/tests/ReflectionReference_errors.phpt
@@ -41,7 +41,7 @@ var_dump(unserialize('O:19:"ReflectionReference":0:{}'));
?>
--EXPECTF--
Call to private ReflectionReference::__construct() from invalid context
-ReflectionReference::fromArrayElement(): Argument #1 ($array) must be of type array, object given
+ReflectionReference::fromArrayElement(): Argument #1 ($array) must be of type array, stdClass given
ReflectionReference::fromArrayElement(): Argument #2 ($key) must be of type string|int, float given
Array key not found
Serialization of 'ReflectionReference' is not allowed
diff --git a/ext/session/tests/session_set_save_handler_iface_002.phpt b/ext/session/tests/session_set_save_handler_iface_002.phpt
index 6c11849956..bae8ecb625 100644
--- a/ext/session/tests/session_set_save_handler_iface_002.phpt
+++ b/ext/session/tests/session_set_save_handler_iface_002.phpt
@@ -86,5 +86,5 @@ session_start();
--EXPECT--
*** Testing session_set_save_handler() function: interface wrong ***
bool(true)
-session_set_save_handler(): Argument #1 ($open) must be of type SessionHandlerInterface, object given
+session_set_save_handler(): Argument #1 ($open) must be of type SessionHandlerInterface, MySession2 given
good handler writing
diff --git a/ext/spl/tests/SplFixedArray_construct_param_SplFixedArray.phpt b/ext/spl/tests/SplFixedArray_construct_param_SplFixedArray.phpt
index 12e632514e..ab9b430d2a 100644
--- a/ext/spl/tests/SplFixedArray_construct_param_SplFixedArray.phpt
+++ b/ext/spl/tests/SplFixedArray_construct_param_SplFixedArray.phpt
@@ -12,4 +12,4 @@ try {
?>
--EXPECT--
-Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, object given
+Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, SplFixedArray given
diff --git a/ext/spl/tests/fixedarray_005.phpt b/ext/spl/tests/fixedarray_005.phpt
index 573a995cb1..f726c9d956 100644
--- a/ext/spl/tests/fixedarray_005.phpt
+++ b/ext/spl/tests/fixedarray_005.phpt
@@ -23,6 +23,6 @@ try {
?>
--EXPECT--
-Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, object given
+Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, stdClass given
Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, string given
Ok - SplFixedArray::__construct(): Argument #1 ($size) must be of type int, string given
diff --git a/ext/spl/tests/iterator_044.phpt b/ext/spl/tests/iterator_044.phpt
index 21ab075cc9..38dfde3f03 100644
--- a/ext/spl/tests/iterator_044.phpt
+++ b/ext/spl/tests/iterator_044.phpt
@@ -83,8 +83,8 @@ NULL
===1===
object(stdClass)#%d (0) {
}
-CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, object given
-CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, object given
+CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, stdClass given
+CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, stdClass given
===2===
object(MyFoo)#%d (0) {
}
@@ -124,8 +124,8 @@ int(0)
===1===
object(stdClass)#1 (0) {
}
-CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, object given
-CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, object given
+CachingIterator::offsetExists(): Argument #1 ($index) must be of type string, stdClass given
+CachingIterator::offsetGet(): Argument #1 ($index) must be of type string, stdClass given
===2===
object(MyFoo)#2 (0) {
}
diff --git a/ext/spl/tests/recursive_tree_iterator_003.phpt b/ext/spl/tests/recursive_tree_iterator_003.phpt
index 39a94ba8d3..80225720f2 100644
--- a/ext/spl/tests/recursive_tree_iterator_003.phpt
+++ b/ext/spl/tests/recursive_tree_iterator_003.phpt
@@ -9,4 +9,4 @@ try {
}
?>
--EXPECT--
-RecursiveCachingIterator::__construct(): Argument #1 ($iterator) must be of type RecursiveIterator, object given
+RecursiveCachingIterator::__construct(): Argument #1 ($iterator) must be of type RecursiveIterator, ArrayIterator given
diff --git a/ext/standard/tests/array/array_diff_assoc_variation1.phpt b/ext/standard/tests/array/array_diff_assoc_variation1.phpt
index 8966c54691..95064b739a 100644
--- a/ext/standard/tests/array/array_diff_assoc_variation1.phpt
+++ b/ext/standard/tests/array/array_diff_assoc_variation1.phpt
@@ -172,7 +172,7 @@ array_diff_assoc(): Argument #1 ($arr1) must be of type array, string given
array_diff_assoc(): Argument #1 ($arr1) must be of type array, string given
-- Iteration 23 --
-array_diff_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_diff_assoc(): Argument #1 ($arr1) must be of type array, classA given
-- Iteration 24 --
array_diff_assoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_assoc_variation2.phpt b/ext/standard/tests/array/array_diff_assoc_variation2.phpt
index c5d5383e9d..b96db1326a 100644
--- a/ext/standard/tests/array/array_diff_assoc_variation2.phpt
+++ b/ext/standard/tests/array/array_diff_assoc_variation2.phpt
@@ -172,7 +172,7 @@ array_diff_assoc(): Argument #2 ($arr2) must be of type array, string given
array_diff_assoc(): Argument #2 ($arr2) must be of type array, string given
-- Iteration 23 --
-array_diff_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_diff_assoc(): Argument #2 ($arr2) must be of type array, classA given
-- Iteration 24 --
array_diff_assoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_key_variation1.phpt b/ext/standard/tests/array/array_diff_key_variation1.phpt
index af334626cb..192257ae35 100644
--- a/ext/standard/tests/array/array_diff_key_variation1.phpt
+++ b/ext/standard/tests/array/array_diff_key_variation1.phpt
@@ -192,12 +192,12 @@ array_diff_key(): Argument #1 ($arr1) must be of type array, string given
array_diff_key(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
-array_diff_key(): Argument #1 ($arr1) must be of type array, object given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_diff_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_diff_key(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_key_variation2.phpt b/ext/standard/tests/array/array_diff_key_variation2.phpt
index 2dd3c95907..ec7749ebba 100644
--- a/ext/standard/tests/array/array_diff_key_variation2.phpt
+++ b/ext/standard/tests/array/array_diff_key_variation2.phpt
@@ -193,12 +193,12 @@ array_diff_key(): Argument #2 ($arr2) must be of type array, string given
array_diff_key(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
-array_diff_key(): Argument #2 ($arr2) must be of type array, object given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_diff_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_diff_key(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_uassoc_variation1.phpt b/ext/standard/tests/array/array_diff_uassoc_variation1.phpt
index 368fce24db..f888f69b2b 100644
--- a/ext/standard/tests/array/array_diff_uassoc_variation1.phpt
+++ b/ext/standard/tests/array/array_diff_uassoc_variation1.phpt
@@ -179,10 +179,10 @@ array_diff_uassoc(): Argument #1 ($arr1) must be of type array, string given
array_diff_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_diff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_diff_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_diff_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_diff_uassoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_uassoc_variation2.phpt b/ext/standard/tests/array/array_diff_uassoc_variation2.phpt
index e906b450e5..5781f1e9bd 100644
--- a/ext/standard/tests/array/array_diff_uassoc_variation2.phpt
+++ b/ext/standard/tests/array/array_diff_uassoc_variation2.phpt
@@ -179,10 +179,10 @@ array_diff_uassoc(): Argument #2 ($arr2) must be of type array, string given
array_diff_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_diff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_diff_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_diff_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_diff_uassoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_ukey_variation1.phpt b/ext/standard/tests/array/array_diff_ukey_variation1.phpt
index 5aef21c0c3..dffb3be7c9 100644
--- a/ext/standard/tests/array/array_diff_ukey_variation1.phpt
+++ b/ext/standard/tests/array/array_diff_ukey_variation1.phpt
@@ -200,12 +200,12 @@ array_diff_ukey(): Argument #1 ($arr1) must be of type array, string given
array_diff_ukey(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_diff_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_diff_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_diff_ukey(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_ukey_variation2.phpt b/ext/standard/tests/array/array_diff_ukey_variation2.phpt
index 368e9873ca..1af7b5567d 100644
--- a/ext/standard/tests/array/array_diff_ukey_variation2.phpt
+++ b/ext/standard/tests/array/array_diff_ukey_variation2.phpt
@@ -204,12 +204,12 @@ array_diff_ukey(): Argument #2 ($arr2) must be of type array, string given
array_diff_ukey(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_diff_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_diff_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_diff_ukey(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_variation1.phpt b/ext/standard/tests/array/array_diff_variation1.phpt
index 94025ec654..44734ad856 100644
--- a/ext/standard/tests/array/array_diff_variation1.phpt
+++ b/ext/standard/tests/array/array_diff_variation1.phpt
@@ -150,7 +150,7 @@ echo "Done";
-- Iteration 22 --array_diff(): Argument #1 ($arr1) must be of type array, string given
--- Iteration 23 --array_diff(): Argument #1 ($arr1) must be of type array, object given
+-- Iteration 23 --array_diff(): Argument #1 ($arr1) must be of type array, classA given
-- Iteration 24 --array_diff(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_diff_variation2.phpt b/ext/standard/tests/array/array_diff_variation2.phpt
index f81f81388a..9dc1c737bd 100644
--- a/ext/standard/tests/array/array_diff_variation2.phpt
+++ b/ext/standard/tests/array/array_diff_variation2.phpt
@@ -149,7 +149,7 @@ echo "Done";
-- Iteration 22 --array_diff(): Argument #2 ($arr2) must be of type array, string given
--- Iteration 23 --array_diff(): Argument #2 ($arr2) must be of type array, object given
+-- Iteration 23 --array_diff(): Argument #2 ($arr2) must be of type array, classA given
-- Iteration 24 --array_diff(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_assoc_variation1.phpt b/ext/standard/tests/array/array_intersect_assoc_variation1.phpt
index fee88db0b0..4ef72323ca 100644
--- a/ext/standard/tests/array/array_intersect_assoc_variation1.phpt
+++ b/ext/standard/tests/array/array_intersect_assoc_variation1.phpt
@@ -179,8 +179,8 @@ array_intersect_assoc(): Argument #1 ($arr1) must be of type array, string given
-- Iteration 20 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, string given
array_intersect_assoc(): Argument #1 ($arr1) must be of type array, string given
--- Iteration 21 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_assoc(): Argument #1 ($arr1) must be of type array, object given
+-- Iteration 21 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, classA given
+array_intersect_assoc(): Argument #1 ($arr1) must be of type array, classA given
-- Iteration 22 --array_intersect_assoc(): Argument #1 ($arr1) must be of type array, null given
array_intersect_assoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_assoc_variation2.phpt b/ext/standard/tests/array/array_intersect_assoc_variation2.phpt
index e79d6c86df..453d5206a5 100644
--- a/ext/standard/tests/array/array_intersect_assoc_variation2.phpt
+++ b/ext/standard/tests/array/array_intersect_assoc_variation2.phpt
@@ -180,8 +180,8 @@ array_intersect_assoc(): Argument #2 ($arr2) must be of type array, string given
-- Iteration 20 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, string given
array_intersect_assoc(): Argument #2 ($arr2) must be of type array, string given
--- Iteration 21 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_assoc(): Argument #2 ($arr2) must be of type array, object given
+-- Iteration 21 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, classA given
+array_intersect_assoc(): Argument #2 ($arr2) must be of type array, classA given
-- Iteration 22 --array_intersect_assoc(): Argument #2 ($arr2) must be of type array, null given
array_intersect_assoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_key_variation1.phpt b/ext/standard/tests/array/array_intersect_key_variation1.phpt
index 821e5f5a1a..62ae4b9ea4 100644
--- a/ext/standard/tests/array/array_intersect_key_variation1.phpt
+++ b/ext/standard/tests/array/array_intersect_key_variation1.phpt
@@ -196,12 +196,12 @@ array_intersect_key(): Argument #1 ($arr1) must be of type array, string given
array_intersect_key(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_key(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_intersect_key(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_intersect_key(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_key_variation2.phpt b/ext/standard/tests/array/array_intersect_key_variation2.phpt
index b6c791ce57..a494f81fc6 100644
--- a/ext/standard/tests/array/array_intersect_key_variation2.phpt
+++ b/ext/standard/tests/array/array_intersect_key_variation2.phpt
@@ -197,12 +197,12 @@ array_intersect_key(): Argument #2 ($arr2) must be of type array, string given
array_intersect_key(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_key(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_intersect_key(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_intersect_key(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_uassoc_variation1.phpt b/ext/standard/tests/array/array_intersect_uassoc_variation1.phpt
index f687237732..872fe59536 100644
--- a/ext/standard/tests/array/array_intersect_uassoc_variation1.phpt
+++ b/ext/standard/tests/array/array_intersect_uassoc_variation1.phpt
@@ -204,12 +204,12 @@ array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, string give
array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_intersect_uassoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_uassoc_variation2.phpt b/ext/standard/tests/array/array_intersect_uassoc_variation2.phpt
index 32633b6a0f..3c3781ef27 100644
--- a/ext/standard/tests/array/array_intersect_uassoc_variation2.phpt
+++ b/ext/standard/tests/array/array_intersect_uassoc_variation2.phpt
@@ -204,12 +204,12 @@ array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, string give
array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_intersect_uassoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_ukey_variation1.phpt b/ext/standard/tests/array/array_intersect_ukey_variation1.phpt
index fd0b9f6038..7837bee8ec 100644
--- a/ext/standard/tests/array/array_intersect_ukey_variation1.phpt
+++ b/ext/standard/tests/array/array_intersect_ukey_variation1.phpt
@@ -202,12 +202,12 @@ array_intersect_ukey(): Argument #1 ($arr1) must be of type array, string given
array_intersect_ukey(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
-array_intersect_ukey(): Argument #1 ($arr1) must be of type array, object given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
+array_intersect_ukey(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_intersect_ukey(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_ukey_variation2.phpt b/ext/standard/tests/array/array_intersect_ukey_variation2.phpt
index dc272a7811..312066709f 100644
--- a/ext/standard/tests/array/array_intersect_ukey_variation2.phpt
+++ b/ext/standard/tests/array/array_intersect_ukey_variation2.phpt
@@ -202,12 +202,12 @@ array_intersect_ukey(): Argument #2 ($arr2) must be of type array, string given
array_intersect_ukey(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
-array_intersect_ukey(): Argument #2 ($arr2) must be of type array, object given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
+array_intersect_ukey(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_intersect_ukey(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_variation1.phpt b/ext/standard/tests/array/array_intersect_variation1.phpt
index 9fb64263ec..9b7f182494 100644
--- a/ext/standard/tests/array/array_intersect_variation1.phpt
+++ b/ext/standard/tests/array/array_intersect_variation1.phpt
@@ -178,8 +178,8 @@ array_intersect(): Argument #1 ($arr1) must be of type array, string given
-- Iterator 20 --array_intersect(): Argument #1 ($arr1) must be of type array, string given
array_intersect(): Argument #1 ($arr1) must be of type array, string given
--- Iterator 21 --array_intersect(): Argument #1 ($arr1) must be of type array, object given
-array_intersect(): Argument #1 ($arr1) must be of type array, object given
+-- Iterator 21 --array_intersect(): Argument #1 ($arr1) must be of type array, classA given
+array_intersect(): Argument #1 ($arr1) must be of type array, classA given
-- Iterator 22 --array_intersect(): Argument #1 ($arr1) must be of type array, null given
array_intersect(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_intersect_variation2.phpt b/ext/standard/tests/array/array_intersect_variation2.phpt
index e4986c103b..518cfeb7cc 100644
--- a/ext/standard/tests/array/array_intersect_variation2.phpt
+++ b/ext/standard/tests/array/array_intersect_variation2.phpt
@@ -179,8 +179,8 @@ array_intersect(): Argument #2 ($arr2) must be of type array, string given
-- Iterator 20 --array_intersect(): Argument #2 ($arr2) must be of type array, string given
array_intersect(): Argument #2 ($arr2) must be of type array, string given
--- Iterator 21 --array_intersect(): Argument #2 ($arr2) must be of type array, object given
-array_intersect(): Argument #2 ($arr2) must be of type array, object given
+-- Iterator 21 --array_intersect(): Argument #2 ($arr2) must be of type array, classA given
+array_intersect(): Argument #2 ($arr2) must be of type array, classA given
-- Iterator 22 --array_intersect(): Argument #2 ($arr2) must be of type array, null given
array_intersect(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_key_exists.phpt b/ext/standard/tests/array/array_key_exists.phpt
index 0024ae1867..cd68e33515 100644
--- a/ext/standard/tests/array/array_key_exists.phpt
+++ b/ext/standard/tests/array/array_key_exists.phpt
@@ -224,5 +224,5 @@ bool(true)
Illegal offset type
*** Testing operation on objects ***
-array_key_exists(): Argument #2 ($array) must be of type array, object given
+array_key_exists(): Argument #2 ($array) must be of type array, key_check given
Done
diff --git a/ext/standard/tests/array/array_merge_recursive_variation1.phpt b/ext/standard/tests/array/array_merge_recursive_variation1.phpt
index 55ed56cbcc..3e33cb1480 100644
--- a/ext/standard/tests/array/array_merge_recursive_variation1.phpt
+++ b/ext/standard/tests/array/array_merge_recursive_variation1.phpt
@@ -210,6 +210,6 @@ echo "Done";
-- With more arguments --array_merge_recursive(): Argument #1 must be of type array, resource given
-- Iteration 24 --
--- With default argument --array_merge_recursive(): Argument #1 must be of type array, object given
--- With more arguments --array_merge_recursive(): Argument #1 must be of type array, object given
+-- With default argument --array_merge_recursive(): Argument #1 must be of type array, A given
+-- With more arguments --array_merge_recursive(): Argument #1 must be of type array, A given
Done
diff --git a/ext/standard/tests/array/array_merge_recursive_variation2.phpt b/ext/standard/tests/array/array_merge_recursive_variation2.phpt
index ef1c52928f..da52edaf54 100644
--- a/ext/standard/tests/array/array_merge_recursive_variation2.phpt
+++ b/ext/standard/tests/array/array_merge_recursive_variation2.phpt
@@ -151,5 +151,5 @@ echo "Done";
-- Iteration 23 --array_merge_recursive(): Argument #2 must be of type array, resource given
--- Iteration 24 --array_merge_recursive(): Argument #2 must be of type array, object given
+-- Iteration 24 --array_merge_recursive(): Argument #2 must be of type array, A given
Done
diff --git a/ext/standard/tests/array/array_merge_variation2.phpt b/ext/standard/tests/array/array_merge_variation2.phpt
index 21148cdb91..6dbf3b1128 100644
--- a/ext/standard/tests/array/array_merge_variation2.phpt
+++ b/ext/standard/tests/array/array_merge_variation2.phpt
@@ -173,7 +173,7 @@ array_merge(): Argument #2 must be of type array, string given
array_merge(): Argument #2 must be of type array, string given
-- Iteration 22 --
-array_merge(): Argument #2 must be of type array, object given
+array_merge(): Argument #2 must be of type array, classA given
-- Iteration 23 --
array_merge(): Argument #2 must be of type array, null given
diff --git a/ext/standard/tests/array/array_search_variation3.phpt b/ext/standard/tests/array/array_search_variation3.phpt
index 4ff919d8a8..bdb2973c9f 100644
--- a/ext/standard/tests/array/array_search_variation3.phpt
+++ b/ext/standard/tests/array/array_search_variation3.phpt
@@ -56,7 +56,7 @@ string(5) "three"
int(5)
*** Testing objects with array_search() ***
-array_search(): Argument #2 ($haystack) must be of type array, object given
-array_search(): Argument #2 ($haystack) must be of type array, object given
+array_search(): Argument #2 ($haystack) must be of type array, array_search_check given
+array_search(): Argument #2 ($haystack) must be of type array, array_search_check given
int(1)
Done
diff --git a/ext/standard/tests/array/array_udiff_assoc_variation1.phpt b/ext/standard/tests/array/array_udiff_assoc_variation1.phpt
index dfb6ce0f64..20db93065b 100644
--- a/ext/standard/tests/array/array_udiff_assoc_variation1.phpt
+++ b/ext/standard/tests/array/array_udiff_assoc_variation1.phpt
@@ -167,10 +167,10 @@ array_udiff_assoc(): Argument #1 ($arr1) must be of type array, string given
array_udiff_assoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_udiff_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_assoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_assoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_udiff_assoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_udiff_assoc_variation2.phpt b/ext/standard/tests/array/array_udiff_assoc_variation2.phpt
index 3a4bbda98a..f6b4065b01 100644
--- a/ext/standard/tests/array/array_udiff_assoc_variation2.phpt
+++ b/ext/standard/tests/array/array_udiff_assoc_variation2.phpt
@@ -167,10 +167,10 @@ array_udiff_assoc(): Argument #2 ($arr2) must be of type array, string given
array_udiff_assoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_udiff_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_assoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_assoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_udiff_assoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_udiff_uassoc_variation1.phpt b/ext/standard/tests/array/array_udiff_uassoc_variation1.phpt
index 10180cbce1..c2a4e4fd16 100644
--- a/ext/standard/tests/array/array_udiff_uassoc_variation1.phpt
+++ b/ext/standard/tests/array/array_udiff_uassoc_variation1.phpt
@@ -168,10 +168,10 @@ array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, string given
array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_udiff_uassoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_udiff_uassoc_variation2.phpt b/ext/standard/tests/array/array_udiff_uassoc_variation2.phpt
index 8540bc3d3b..c17a016a1d 100644
--- a/ext/standard/tests/array/array_udiff_uassoc_variation2.phpt
+++ b/ext/standard/tests/array/array_udiff_uassoc_variation2.phpt
@@ -168,10 +168,10 @@ array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, string given
array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_udiff_uassoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_udiff_variation1.phpt b/ext/standard/tests/array/array_udiff_variation1.phpt
index 35ab7f5287..7d0830a5ad 100644
--- a/ext/standard/tests/array/array_udiff_variation1.phpt
+++ b/ext/standard/tests/array/array_udiff_variation1.phpt
@@ -167,10 +167,10 @@ array_udiff(): Argument #1 ($arr1) must be of type array, string given
array_udiff(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_udiff(): Argument #1 ($arr1) must be of type array, object given
+array_udiff(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff(): Argument #1 ($arr1) must be of type array, object given
+array_udiff(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_udiff(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_udiff_variation2.phpt b/ext/standard/tests/array/array_udiff_variation2.phpt
index a11bc787e4..17de2540c1 100644
--- a/ext/standard/tests/array/array_udiff_variation2.phpt
+++ b/ext/standard/tests/array/array_udiff_variation2.phpt
@@ -167,10 +167,10 @@ array_udiff(): Argument #2 ($arr2) must be of type array, string given
array_udiff(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_udiff(): Argument #2 ($arr2) must be of type array, object given
+array_udiff(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_udiff(): Argument #2 ($arr2) must be of type array, object given
+array_udiff(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_udiff(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_uintersect_assoc_variation1.phpt b/ext/standard/tests/array/array_uintersect_assoc_variation1.phpt
index 70d8ab88c7..0c51526e01 100644
--- a/ext/standard/tests/array/array_uintersect_assoc_variation1.phpt
+++ b/ext/standard/tests/array/array_uintersect_assoc_variation1.phpt
@@ -167,10 +167,10 @@ array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, string give
array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_assoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_uintersect_assoc_variation2.phpt b/ext/standard/tests/array/array_uintersect_assoc_variation2.phpt
index 6eb40634a8..01f4959145 100644
--- a/ext/standard/tests/array/array_uintersect_assoc_variation2.phpt
+++ b/ext/standard/tests/array/array_uintersect_assoc_variation2.phpt
@@ -167,10 +167,10 @@ array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, string give
array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_assoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_uintersect_uassoc_variation1.phpt b/ext/standard/tests/array/array_uintersect_uassoc_variation1.phpt
index 15ed8461d6..d61eccd05a 100644
--- a/ext/standard/tests/array/array_uintersect_uassoc_variation1.phpt
+++ b/ext/standard/tests/array/array_uintersect_uassoc_variation1.phpt
@@ -168,10 +168,10 @@ array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, string giv
array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_uassoc(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_uintersect_uassoc_variation2.phpt b/ext/standard/tests/array/array_uintersect_uassoc_variation2.phpt
index 0e7aff3d23..e6af0887da 100644
--- a/ext/standard/tests/array/array_uintersect_uassoc_variation2.phpt
+++ b/ext/standard/tests/array/array_uintersect_uassoc_variation2.phpt
@@ -168,10 +168,10 @@ array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, string giv
array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_uintersect_uassoc(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/array_uintersect_variation1.phpt b/ext/standard/tests/array/array_uintersect_variation1.phpt
index 4acf4b1d56..78b1f514ae 100644
--- a/ext/standard/tests/array/array_uintersect_variation1.phpt
+++ b/ext/standard/tests/array/array_uintersect_variation1.phpt
@@ -167,10 +167,10 @@ array_uintersect(): Argument #1 ($arr1) must be of type array, string given
array_uintersect(): Argument #1 ($arr1) must be of type array, string given
--instance of classWithToString--
-array_uintersect(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect(): Argument #1 ($arr1) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect(): Argument #1 ($arr1) must be of type array, object given
+array_uintersect(): Argument #1 ($arr1) must be of type array, classWithoutToString given
--undefined var--
array_uintersect(): Argument #1 ($arr1) must be of type array, null given
diff --git a/ext/standard/tests/array/array_uintersect_variation2.phpt b/ext/standard/tests/array/array_uintersect_variation2.phpt
index ce2d311702..d9b9260779 100644
--- a/ext/standard/tests/array/array_uintersect_variation2.phpt
+++ b/ext/standard/tests/array/array_uintersect_variation2.phpt
@@ -167,10 +167,10 @@ array_uintersect(): Argument #2 ($arr2) must be of type array, string given
array_uintersect(): Argument #2 ($arr2) must be of type array, string given
--instance of classWithToString--
-array_uintersect(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect(): Argument #2 ($arr2) must be of type array, classWithToString given
--instance of classWithoutToString--
-array_uintersect(): Argument #2 ($arr2) must be of type array, object given
+array_uintersect(): Argument #2 ($arr2) must be of type array, classWithoutToString given
--undefined var--
array_uintersect(): Argument #2 ($arr2) must be of type array, null given
diff --git a/ext/standard/tests/array/bug40191.phpt b/ext/standard/tests/array/bug40191.phpt
index 9ad8f7e280..2cfa6279cc 100644
--- a/ext/standard/tests/array/bug40191.phpt
+++ b/ext/standard/tests/array/bug40191.phpt
@@ -17,5 +17,5 @@ try {
echo "Done\n";
?>
--EXPECT--
-array_unique(): Argument #1 ($arg) must be of type array, object given
+array_unique(): Argument #1 ($arg) must be of type array, ArrayObject given
Done
diff --git a/ext/standard/tests/array/in_array_variation3.phpt b/ext/standard/tests/array/in_array_variation3.phpt
index 2e6bd0330e..e495b11b71 100644
--- a/ext/standard/tests/array/in_array_variation3.phpt
+++ b/ext/standard/tests/array/in_array_variation3.phpt
@@ -59,7 +59,7 @@ bool(true)
bool(true)
*** Testing objects with in_array() ***
-in_array(): Argument #2 ($haystack) must be of type array, object given
-in_array(): Argument #2 ($haystack) must be of type array, object given
+in_array(): Argument #2 ($haystack) must be of type array, in_array_check given
+in_array(): Argument #2 ($haystack) must be of type array, in_array_check given
bool(true)
Done
diff --git a/ext/standard/tests/array/max.phpt b/ext/standard/tests/array/max.phpt
index d1e6dc269a..4360b91525 100644
--- a/ext/standard/tests/array/max.phpt
+++ b/ext/standard/tests/array/max.phpt
@@ -35,7 +35,7 @@ var_dump(max(0, true, false, true));
--EXPECT--
max(): Argument #1 ($arg) must be of type array, int given
max(): Argument #1 ($arg) must contain at least one element
-max(): Argument #1 ($arg) must be of type array, object given
+max(): Argument #1 ($arg) must be of type array, stdClass given
int(2)
float(2.11)
string(1) "t"
diff --git a/ext/standard/tests/array/min.phpt b/ext/standard/tests/array/min.phpt
index eac37be7dd..ad32ae4226 100644
--- a/ext/standard/tests/array/min.phpt
+++ b/ext/standard/tests/array/min.phpt
@@ -35,7 +35,7 @@ var_dump(min(0, true, false, true));
--EXPECT--
min(): Argument #1 ($arg) must be of type array, int given
min(): Argument #1 ($arg) must contain at least one element
-min(): Argument #1 ($arg) must be of type array, object given
+min(): Argument #1 ($arg) must be of type array, stdClass given
int(1)
float(2.09)
string(0) ""
diff --git a/ext/standard/tests/math/abs_variation.phpt b/ext/standard/tests/math/abs_variation.phpt
index f6ebeba2ef..9541c08bc2 100644
--- a/ext/standard/tests/math/abs_variation.phpt
+++ b/ext/standard/tests/math/abs_variation.phpt
@@ -123,7 +123,7 @@ abs(): Argument #1 ($number) must be of type int|float, string given
abs(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 13 --
-abs(): Argument #1 ($number) must be of type int|float, object given
+abs(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 14 --
int(0)
diff --git a/ext/standard/tests/math/ceil_variation1.phpt b/ext/standard/tests/math/ceil_variation1.phpt
index 4140738e02..2a494ebcdf 100644
--- a/ext/standard/tests/math/ceil_variation1.phpt
+++ b/ext/standard/tests/math/ceil_variation1.phpt
@@ -116,7 +116,7 @@ ceil(): Argument #1 ($number) must be of type int|float, string given
ceil(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 13 --
-ceil(): Argument #1 ($number) must be of type int|float, object given
+ceil(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 14 --
float(0)
diff --git a/ext/standard/tests/math/floor_variation1.phpt b/ext/standard/tests/math/floor_variation1.phpt
index f5b3e98461..1679d23989 100644
--- a/ext/standard/tests/math/floor_variation1.phpt
+++ b/ext/standard/tests/math/floor_variation1.phpt
@@ -116,7 +116,7 @@ floor(): Argument #1 ($number) must be of type int|float, string given
floor(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 13 --
-floor(): Argument #1 ($number) must be of type int|float, object given
+floor(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 14 --
float(0)
diff --git a/ext/standard/tests/math/pow_variation1.phpt b/ext/standard/tests/math/pow_variation1.phpt
index f205c18a83..f7e5a5c9e2 100644
--- a/ext/standard/tests/math/pow_variation1.phpt
+++ b/ext/standard/tests/math/pow_variation1.phpt
@@ -174,7 +174,7 @@ Warning: A non-numeric value encountered in %s on line %d
int(0)
-- Iteration 23 --
-Unsupported operand types: object ** int
+Unsupported operand types: classA ** int
-- Iteration 24 --
int(0)
diff --git a/ext/standard/tests/math/pow_variation1_64bit.phpt b/ext/standard/tests/math/pow_variation1_64bit.phpt
index 05cb9151ae..1743cf206a 100644
--- a/ext/standard/tests/math/pow_variation1_64bit.phpt
+++ b/ext/standard/tests/math/pow_variation1_64bit.phpt
@@ -174,7 +174,7 @@ Warning: A non-numeric value encountered in %s on line %d
int(0)
-- Iteration 23 --
-Unsupported operand types: object ** int
+Unsupported operand types: classA ** int
-- Iteration 24 --
int(0)
diff --git a/ext/standard/tests/math/pow_variation2.phpt b/ext/standard/tests/math/pow_variation2.phpt
index 5d106ed9d2..e120abebe4 100644
--- a/ext/standard/tests/math/pow_variation2.phpt
+++ b/ext/standard/tests/math/pow_variation2.phpt
@@ -170,7 +170,7 @@ Warning: A non-numeric value encountered in %s on line %d
float(1)
-- Iteration 23 --
-Unsupported operand types: float ** object
+Unsupported operand types: float ** classA
-- Iteration 24 --
float(1)
diff --git a/ext/standard/tests/math/round_variation1.phpt b/ext/standard/tests/math/round_variation1.phpt
index 5371d0fb94..43ad4deae7 100644
--- a/ext/standard/tests/math/round_variation1.phpt
+++ b/ext/standard/tests/math/round_variation1.phpt
@@ -161,7 +161,7 @@ round(): Argument #1 ($number) must be of type int|float, string given
round(): Argument #1 ($number) must be of type int|float, string given
-- Iteration 23 --
-round(): Argument #1 ($number) must be of type int|float, object given
+round(): Argument #1 ($number) must be of type int|float, classA given
-- Iteration 24 --
float(0)
diff --git a/ext/standard/tests/network/bug73594.phpt b/ext/standard/tests/network/bug73594.phpt
index 370b6162fd..79607cacec 100644
--- a/ext/standard/tests/network/bug73594.phpt
+++ b/ext/standard/tests/network/bug73594.phpt
@@ -24,4 +24,4 @@ $res = dns_get_record('php.net', DNS_MX, $auth, $additional);
var_dump(!empty($res) && empty($additional));
?>
--EXPECT--
-bool(false)
+bool(true)
diff --git a/ext/standard/tests/password/password_hash_error.phpt b/ext/standard/tests/password/password_hash_error.phpt
index 3def367df0..0dc056ea34 100644
--- a/ext/standard/tests/password/password_hash_error.phpt
+++ b/ext/standard/tests/password/password_hash_error.phpt
@@ -40,6 +40,6 @@ password_hash() expects at least 2 parameters, 1 given
Warning: Array to string conversion in %s on line %d
password_hash(): Argument #2 ($algo) must be a valid password hashing algorithm
-password_hash(): Argument #3 ($options) must be of type array, object given
+password_hash(): Argument #3 ($options) must be of type array, stdClass given
password_hash(): Argument #3 ($options) must be of type array, string given
password_hash(): Argument #1 ($password) must be of type string, array given
diff --git a/ext/standard/tests/strings/join_variation2.phpt b/ext/standard/tests/strings/join_variation2.phpt
index 37d9b64e1d..169b912cd9 100644
--- a/ext/standard/tests/strings/join_variation2.phpt
+++ b/ext/standard/tests/strings/join_variation2.phpt
@@ -138,7 +138,7 @@ join(): Argument #2 ($pieces) must be of type array, string given
-- Iteration 15 --
join(): Argument #2 ($pieces) must be of type array, string given
-- Iteration 16 --
-join(): Argument #2 ($pieces) must be of type array, object given
+join(): Argument #2 ($pieces) must be of type array, test given
-- Iteration 17 --
join(): Argument #2 ($pieces) must be of type array, string given
-- Iteration 18 --
diff --git a/ext/standard/tests/strings/vprintf_variation2.phpt b/ext/standard/tests/strings/vprintf_variation2.phpt
index 30892395fe..40b526f1e3 100644
--- a/ext/standard/tests/strings/vprintf_variation2.phpt
+++ b/ext/standard/tests/strings/vprintf_variation2.phpt
@@ -161,7 +161,7 @@ vprintf(): Argument #2 ($args) must be of type array, string given
vprintf(): Argument #2 ($args) must be of type array, string given
-- Iteration 20 --
-vprintf(): Argument #2 ($args) must be of type array, object given
+vprintf(): Argument #2 ($args) must be of type array, sample given
-- Iteration 21 --
vprintf(): Argument #2 ($args) must be of type array, null given
diff --git a/sapi/phpdbg/phpdbg_info.c b/sapi/phpdbg/phpdbg_info.c
index b576187c7a..783681009e 100644
--- a/sapi/phpdbg/phpdbg_info.c
+++ b/sapi/phpdbg/phpdbg_info.c
@@ -123,7 +123,7 @@ PHPDBG_INFO(constants) /* {{{ */
"address=\"%p\" refcount=\"%d\" type=\"%s\" name=\"%.*s\" " attrs, \
"%-18p %-7d %-9s %.*s" msg, &data->value, \
Z_REFCOUNTED(data->value) ? Z_REFCOUNT(data->value) : 1, \
- zend_zval_type_name(&data->value), \
+ zend_get_type_by_const(Z_TYPE(data->value)), \
(int) ZSTR_LEN(data->name), ZSTR_VAL(data->name), ##__VA_ARGS__)
switch (Z_TYPE(data->value)) {
@@ -231,7 +231,7 @@ static int phpdbg_print_symbols(zend_bool show_globals) {
#define VARIABLEINFO(attrs, msg, ...) \
phpdbg_writeln("variable", \
"address=\"%p\" refcount=\"%d\" type=\"%s\" refstatus=\"%s\" name=\"%.*s\" " attrs, \
- "%-18p %-7d %-9s %s$%.*s" msg, data, Z_REFCOUNTED_P(data) ? Z_REFCOUNT_P(data) : 1, zend_zval_type_name(data), isref, (int) ZSTR_LEN(var), ZSTR_VAL(var), ##__VA_ARGS__)
+ "%-18p %-7d %-9s %s$%.*s" msg, data, Z_REFCOUNTED_P(data) ? Z_REFCOUNT_P(data) : 1, zend_get_type_by_const(Z_TYPE_P(data)), isref, (int) ZSTR_LEN(var), ZSTR_VAL(var), ##__VA_ARGS__)
retry_switch:
switch (Z_TYPE_P(data)) {
case IS_RESOURCE:
diff --git a/tests/classes/tostring_001.phpt b/tests/classes/tostring_001.phpt
index 62791bf84e..abf41f97cd 100644
--- a/tests/classes/tostring_001.phpt
+++ b/tests/classes/tostring_001.phpt
@@ -131,5 +131,5 @@ Converted
object(test3)#2 (0) {
}
test3::__toString()
-Return value of test3::__toString() must be of type string, array returned
+test3::__toString(): Return value must be of type string, array returned
====DONE====
diff --git a/tests/classes/tostring_004.phpt b/tests/classes/tostring_004.phpt
index e07a7b2121..48ac2770dd 100644
--- a/tests/classes/tostring_004.phpt
+++ b/tests/classes/tostring_004.phpt
@@ -53,7 +53,7 @@ try {
--EXPECT--
Object with no __toString():
Try 1:
-printf(): Argument #1 ($format) must be of type string, object given
+printf(): Argument #1 ($format) must be of type string, stdClass given
Try 2:
@@ -62,8 +62,8 @@ Object of class stdClass could not be converted to string
Object with bad __toString():
Try 1:
-Return value of badToString::__toString() must be of type string, array returned
+badToString::__toString(): Return value must be of type string, array returned
Try 2:
-Return value of badToString::__toString() must be of type string, array returned
+badToString::__toString(): Return value must be of type string, array returned