diff --git a/Zend/tests/ns_054.phpt b/Zend/tests/ns_054.phpt index 9b8defc9ac3f4..845d02a396552 100644 --- a/Zend/tests/ns_054.phpt +++ b/Zend/tests/ns_054.phpt @@ -5,18 +5,18 @@ namespace test\ns1; class Foo implements \SplObserver { - function update(\SplSubject $x) { + function update(\SplSubject $x): void { echo "ok\n"; } } class Bar implements \SplSubject { - function attach(\SplObserver $x) { + function attach(\SplObserver $x): void { echo "ok\n"; } - function notify() { + function notify(): void { } - function detach(\SplObserver $x) { + function detach(\SplObserver $x): void { } } $foo = new Foo(); diff --git a/Zend/tests/ns_056.phpt b/Zend/tests/ns_056.phpt index cc61c7f8f1359..ee8ddd6263e35 100644 --- a/Zend/tests/ns_056.phpt +++ b/Zend/tests/ns_056.phpt @@ -6,18 +6,18 @@ namespace test\ns1; use \SplObserver; class Foo implements SplObserver { - function update(\SplSubject $x) { + function update(\SplSubject $x): void { echo "ok\n"; } } class Bar implements \SplSubject { - function attach(SplObserver $x) { + function attach(SplObserver $x): void { echo "ok\n"; } - function notify() { + function notify(): void { } - function detach(SplObserver $x) { + function detach(SplObserver $x): void { } } $foo = new Foo(); diff --git a/ext/spl/spl_dllist.stub.php b/ext/spl/spl_dllist.stub.php index 36b945afb78c4..f8d3c98514181 100644 --- a/ext/spl/spl_dllist.stub.php +++ b/ext/spl/spl_dllist.stub.php @@ -4,110 +4,110 @@ class SplDoublyLinkedList implements Iterator, Countable, ArrayAccess, Serializable { - /** @return void */ - public function add(int $index, mixed $value) {} + /** @tentative-return-type */ + public function add(int $index, mixed $value): void {} - /** @return mixed */ - public function pop() {} + /** @tentative-return-type */ + public function pop(): mixed {} - /** @return mixed */ - public function shift() {} + /** @tentative-return-type */ + public function shift(): mixed {} - /** @return void */ - public function push(mixed $value) {} + /** @tentative-return-type */ + public function push(mixed $value): void {} - /** @return void */ - public function unshift(mixed $value) {} + /** @tentative-return-type */ + public function unshift(mixed $value): void {} - /** @return mixed */ - public function top() {} + /** @tentative-return-type */ + public function top(): mixed {} - /** @return mixed */ - public function bottom() {} + /** @tentative-return-type */ + public function bottom(): mixed {} - /** @return array */ - public function __debugInfo() {} + /** @tentative-return-type */ + public function __debugInfo(): array {} - /** @return int */ - public function count() {} + /** @tentative-return-type */ + public function count(): int {} - /** @return bool */ - public function isEmpty() {} + /** @tentative-return-type */ + public function isEmpty(): bool {} - /** @return int */ - public function setIteratorMode(int $mode) {} + /** @tentative-return-type */ + public function setIteratorMode(int $mode): int {} - /** @return int */ - public function getIteratorMode() {} + /** @tentative-return-type */ + public function getIteratorMode(): int {} /** * @param int $index - * @return bool + * @tentative-return-type */ - public function offsetExists($index) {} + public function offsetExists($index): bool {} /** * @param int $index - * @return mixed + * @tentative-return-type */ - public function offsetGet($index) {} + public function offsetGet($index): mixed {} /** * @param int|null $index - * @return void + * @tentative-return-type */ - public function offsetSet($index, mixed $value) {} + public function offsetSet($index, mixed $value): void {} /** * @param int $index - * @return void + * @tentative-return-type */ - public function offsetUnset($index) {} + public function offsetUnset($index): void {} - /** @return void */ - public function rewind() {} + /** @tentative-return-type */ + public function rewind(): void {} - /** @return mixed */ - public function current() {} + /** @tentative-return-type */ + public function current(): mixed {} - /** @return int */ - public function key() {} + /** @tentative-return-type */ + public function key(): int {} - /** @return void */ - public function prev() {} + /** @tentative-return-type */ + public function prev(): void {} - /** @return void */ - public function next() {} + /** @tentative-return-type */ + public function next(): void {} - /** @return bool */ - public function valid() {} + /** @tentative-return-type */ + public function valid(): bool {} - /** @return void */ - public function unserialize(string $data) {} + /** @tentative-return-type */ + public function unserialize(string $data): void {} - /** @return string */ - public function serialize() {} + /** @tentative-return-type */ + public function serialize(): string {} - /** @return array */ - public function __serialize() {} + /** @tentative-return-type */ + public function __serialize(): array {} - /** @return void */ - public function __unserialize(array $data) {} + /** @tentative-return-type */ + public function __unserialize(array $data): void {} } class SplQueue extends SplDoublyLinkedList { /** - * @return void + * @tentative-return-type * @implementation-alias SplDoublyLinkedList::push */ - public function enqueue(mixed $value) {} + public function enqueue(mixed $value): void {} /** - * @return mixed + * @tentative-return-type * @implementation-alias SplDoublyLinkedList::shift */ - public function dequeue() {} + public function dequeue(): mixed {} } class SplStack extends SplDoublyLinkedList diff --git a/ext/spl/spl_dllist_arginfo.h b/ext/spl/spl_dllist_arginfo.h index 5162ff2957209..7238bcde3412e 100644 --- a/ext/spl/spl_dllist_arginfo.h +++ b/ext/spl/spl_dllist_arginfo.h @@ -1,17 +1,17 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: d0c98e1628895a81ac0b4abe62dede9ed2c7f55e */ + * Stub hash: 4631669bb268bb2c9e005fa7ee385245604c1d71 */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_add, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_add, 0, 2, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_pop, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_pop, 0, 0, IS_MIXED, 0) ZEND_END_ARG_INFO() #define arginfo_class_SplDoublyLinkedList_shift arginfo_class_SplDoublyLinkedList_pop -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_push, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_push, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() @@ -21,52 +21,61 @@ ZEND_END_ARG_INFO() #define arginfo_class_SplDoublyLinkedList_bottom arginfo_class_SplDoublyLinkedList_pop -#define arginfo_class_SplDoublyLinkedList___debugInfo arginfo_class_SplDoublyLinkedList_pop +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList___debugInfo, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_count arginfo_class_SplDoublyLinkedList_pop +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_count, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_isEmpty arginfo_class_SplDoublyLinkedList_pop +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_isEmpty, 0, 0, _IS_BOOL, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_setIteratorMode, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_setIteratorMode, 0, 1, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_getIteratorMode arginfo_class_SplDoublyLinkedList_pop +#define arginfo_class_SplDoublyLinkedList_getIteratorMode arginfo_class_SplDoublyLinkedList_count -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_offsetExists, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_offsetExists, 0, 1, _IS_BOOL, 0) ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_offsetGet arginfo_class_SplDoublyLinkedList_offsetExists +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_offsetGet, 0, 1, IS_MIXED, 0) + ZEND_ARG_INFO(0, index) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_offsetSet, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_offsetSet, 0, 2, IS_VOID, 0) ZEND_ARG_INFO(0, index) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_offsetUnset arginfo_class_SplDoublyLinkedList_offsetExists +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_offsetUnset, 0, 1, IS_VOID, 0) + ZEND_ARG_INFO(0, index) +ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_rewind arginfo_class_SplDoublyLinkedList_pop +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_rewind, 0, 0, IS_VOID, 0) +ZEND_END_ARG_INFO() #define arginfo_class_SplDoublyLinkedList_current arginfo_class_SplDoublyLinkedList_pop -#define arginfo_class_SplDoublyLinkedList_key arginfo_class_SplDoublyLinkedList_pop +#define arginfo_class_SplDoublyLinkedList_key arginfo_class_SplDoublyLinkedList_count -#define arginfo_class_SplDoublyLinkedList_prev arginfo_class_SplDoublyLinkedList_pop +#define arginfo_class_SplDoublyLinkedList_prev arginfo_class_SplDoublyLinkedList_rewind -#define arginfo_class_SplDoublyLinkedList_next arginfo_class_SplDoublyLinkedList_pop +#define arginfo_class_SplDoublyLinkedList_next arginfo_class_SplDoublyLinkedList_rewind -#define arginfo_class_SplDoublyLinkedList_valid arginfo_class_SplDoublyLinkedList_pop +#define arginfo_class_SplDoublyLinkedList_valid arginfo_class_SplDoublyLinkedList_isEmpty -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_unserialize, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_unserialize, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList_serialize arginfo_class_SplDoublyLinkedList_pop +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList_serialize, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplDoublyLinkedList___serialize arginfo_class_SplDoublyLinkedList_pop +#define arginfo_class_SplDoublyLinkedList___serialize arginfo_class_SplDoublyLinkedList___debugInfo -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList___unserialize, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplDoublyLinkedList___unserialize, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0) ZEND_END_ARG_INFO() diff --git a/ext/spl/spl_fixedarray.stub.php b/ext/spl/spl_fixedarray.stub.php index 790a1df3e373a..17076434aa86d 100644 --- a/ext/spl/spl_fixedarray.stub.php +++ b/ext/spl/spl_fixedarray.stub.php @@ -6,47 +6,47 @@ class SplFixedArray implements IteratorAggregate, ArrayAccess, Countable, JsonSe { public function __construct(int $size = 0) {} - /** @return void */ - public function __wakeup() {} + /** @tentative-return-type */ + public function __wakeup(): void {} - /** @return int */ - public function count() {} + /** @tentative-return-type */ + public function count(): int {} - /** @return array */ - public function toArray() {} + /** @tentative-return-type */ + public function toArray(): array {} - /** @return SplFixedArray */ - public static function fromArray(array $array, bool $preserveKeys = true) {} + /** @tentative-return-type */ + public static function fromArray(array $array, bool $preserveKeys = true): SplFixedArray {} - /** @return int */ - public function getSize() {} + /** @tentative-return-type */ + public function getSize(): int {} - /** @return bool */ - public function setSize(int $size) {} + /** @tentative-return-type */ + public function setSize(int $size): bool {} /** * @param int $index - * @return bool + * @tentative-return-type */ - public function offsetExists($index) {} + public function offsetExists($index): bool {} /** * @param int $index - * @return mixed + * @tentative-return-type */ - public function offsetGet($index) {} + public function offsetGet($index): mixed {} /** * @param int $index - * @return void + * @tentative-return-type */ - public function offsetSet($index, mixed $value) {} + public function offsetSet($index, mixed $value): void {} /** * @param int $index - * @return void + * @tentative-return-type */ - public function offsetUnset($index) {} + public function offsetUnset($index): void {} public function getIterator(): Iterator {} diff --git a/ext/spl/spl_fixedarray_arginfo.h b/ext/spl/spl_fixedarray_arginfo.h index eaec9f1fc33e2..857adb4f5adaf 100644 --- a/ext/spl/spl_fixedarray_arginfo.h +++ b/ext/spl/spl_fixedarray_arginfo.h @@ -1,40 +1,46 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 115b2d974b18287654be925c4fdc2236674423eb */ + * Stub hash: 15368e20d4286f79ecd3d33326ecaf5d2a78855c */ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray___construct, 0, 0, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, size, IS_LONG, 0, "0") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray___wakeup, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray___wakeup, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplFixedArray_count arginfo_class_SplFixedArray___wakeup +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_count, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplFixedArray_toArray arginfo_class_SplFixedArray___wakeup +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_toArray, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray_fromArray, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_OBJ_INFO_EX(arginfo_class_SplFixedArray_fromArray, 0, 1, SplFixedArray, 0) ZEND_ARG_TYPE_INFO(0, array, IS_ARRAY, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, preserveKeys, _IS_BOOL, 0, "true") ZEND_END_ARG_INFO() -#define arginfo_class_SplFixedArray_getSize arginfo_class_SplFixedArray___wakeup +#define arginfo_class_SplFixedArray_getSize arginfo_class_SplFixedArray_count -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray_setSize, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_setSize, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray_offsetExists, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_offsetExists, 0, 1, _IS_BOOL, 0) ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() -#define arginfo_class_SplFixedArray_offsetGet arginfo_class_SplFixedArray_offsetExists +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_offsetGet, 0, 1, IS_MIXED, 0) + ZEND_ARG_INFO(0, index) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray_offsetSet, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_offsetSet, 0, 2, IS_VOID, 0) ZEND_ARG_INFO(0, index) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplFixedArray_offsetUnset arginfo_class_SplFixedArray_offsetExists +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplFixedArray_offsetUnset, 0, 1, IS_VOID, 0) + ZEND_ARG_INFO(0, index) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_SplFixedArray_getIterator, 0, 0, Iterator, 0) ZEND_END_ARG_INFO() diff --git a/ext/spl/spl_heap.stub.php b/ext/spl/spl_heap.stub.php index 2f31ded011b87..dbd5555803182 100644 --- a/ext/spl/spl_heap.stub.php +++ b/ext/spl/spl_heap.stub.php @@ -4,132 +4,132 @@ class SplPriorityQueue implements Iterator, Countable { - /** @return int */ - public function compare(mixed $priority1, mixed $priority2) {} + /** @tentative-return-type */ + public function compare(mixed $priority1, mixed $priority2): int {} - /** @return bool */ - public function insert(mixed $value, mixed $priority) {} + /** @tentative-return-type */ + public function insert(mixed $value, mixed $priority): bool {} - /** @return int */ - public function setExtractFlags(int $flags) {} + /** @tentative-return-type */ + public function setExtractFlags(int $flags): int {} - /** @return mixed */ - public function top() {} + /** @tentative-return-type */ + public function top(): mixed {} - /** @return mixed */ - public function extract() {} + /** @tentative-return-type */ + public function extract(): mixed {} /** - * @return int + * @tentative-return-type * @implementation-alias SplHeap::count */ - public function count() {} + public function count(): int {} /** - * @return bool + * @tentative-return-type * @implementation-alias SplHeap::isEmpty */ - public function isEmpty() {} + public function isEmpty(): bool {} /** - * @return void + * @tentative-return-type * @implementation-alias SplHeap::rewind */ - public function rewind() {} + public function rewind(): void {} - /** @return mixed */ - public function current() {} + /** @tentative-return-type */ + public function current(): mixed {} /** - * @return int + * @tentative-return-type * @implementation-alias SplHeap::key */ - public function key() {} + public function key(): int {} /** - * @return void + * @tentative-return-type * @implementation-alias SplHeap::next */ - public function next() {} + public function next(): void {} /** - * @return bool + * @tentative-return-type * @implementation-alias SplHeap::valid */ - public function valid() {} + public function valid(): bool {} /** - * @return bool + * @tentative-return-type * @implementation-alias SplHeap::recoverFromCorruption */ - public function recoverFromCorruption() {} + public function recoverFromCorruption(): bool {} /** - * @return bool + * @tentative-return-type * @implementation-alias SplHeap::isCorrupted */ - public function isCorrupted() {} + public function isCorrupted(): bool {} - /** @return int */ - public function getExtractFlags() {} + /** @tentative-return-type */ + public function getExtractFlags(): int {} - /** @return array */ - public function __debugInfo() {} + /** @tentative-return-type */ + public function __debugInfo(): array {} } abstract class SplHeap implements Iterator, Countable { - /** @return mixed */ - public function extract() {} + /** @tentative-return-type */ + public function extract(): mixed {} - /** @return bool */ - public function insert(mixed $value) {} + /** @tentative-return-type */ + public function insert(mixed $value): bool {} - /** @return mixed */ - public function top() {} + /** @tentative-return-type */ + public function top(): mixed {} - /** @return int */ - public function count() {} + /** @tentative-return-type */ + public function count(): int {} - /** @return bool */ - public function isEmpty() {} + /** @tentative-return-type */ + public function isEmpty(): bool {} - /** @return void */ - public function rewind() {} + /** @tentative-return-type */ + public function rewind(): void {} - /** @return mixed */ - public function current() {} + /** @tentative-return-type */ + public function current(): mixed {} - /** @return int */ - public function key() {} + /** @tentative-return-type */ + public function key(): int {} - /** @return void */ - public function next() {} + /** @tentative-return-type */ + public function next(): void {} - /** @return bool */ - public function valid() {} + /** @tentative-return-type */ + public function valid(): bool {} - /** @return bool */ - public function recoverFromCorruption() {} + /** @tentative-return-type */ + public function recoverFromCorruption(): bool {} - /** @return int */ - abstract protected function compare(mixed $value1, mixed $value2); + /** @tentative-return-type */ + abstract protected function compare(mixed $value1, mixed $value2): int; - /** @return bool */ - public function isCorrupted() {} + /** @tentative-return-type */ + public function isCorrupted(): bool {} - /** @return array */ - public function __debugInfo() {} + /** @tentative-return-type */ + public function __debugInfo(): array {} } class SplMinHeap extends SplHeap { - /** @return int */ - protected function compare(mixed $value1, mixed $value2) {} + /** @tentative-return-type */ + protected function compare(mixed $value1, mixed $value2): int {} } class SplMaxHeap extends SplHeap { - /** @return int */ - protected function compare(mixed $value1, mixed $value2) {} + /** @tentative-return-type */ + protected function compare(mixed $value1, mixed $value2): int {} } diff --git a/ext/spl/spl_heap_arginfo.h b/ext/spl/spl_heap_arginfo.h index 2afc289a1e564..08ddcf42c8287 100644 --- a/ext/spl/spl_heap_arginfo.h +++ b/ext/spl/spl_heap_arginfo.h @@ -1,79 +1,83 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 9a733260823a95ba1ab987154e23d72b6210999d */ + * Stub hash: 57a43ef3f1f2dca1ef45daea0170985059f15fe6 */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplPriorityQueue_compare, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_compare, 0, 2, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, priority1, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, priority2, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplPriorityQueue_insert, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_insert, 0, 2, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, priority, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplPriorityQueue_setExtractFlags, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_setExtractFlags, 0, 1, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplPriorityQueue_top, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_top, 0, 0, IS_MIXED, 0) ZEND_END_ARG_INFO() #define arginfo_class_SplPriorityQueue_extract arginfo_class_SplPriorityQueue_top -#define arginfo_class_SplPriorityQueue_count arginfo_class_SplPriorityQueue_top +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_count, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplPriorityQueue_isEmpty arginfo_class_SplPriorityQueue_top +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_isEmpty, 0, 0, _IS_BOOL, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplPriorityQueue_rewind arginfo_class_SplPriorityQueue_top +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue_rewind, 0, 0, IS_VOID, 0) +ZEND_END_ARG_INFO() #define arginfo_class_SplPriorityQueue_current arginfo_class_SplPriorityQueue_top -#define arginfo_class_SplPriorityQueue_key arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplPriorityQueue_key arginfo_class_SplPriorityQueue_count -#define arginfo_class_SplPriorityQueue_next arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplPriorityQueue_next arginfo_class_SplPriorityQueue_rewind -#define arginfo_class_SplPriorityQueue_valid arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplPriorityQueue_valid arginfo_class_SplPriorityQueue_isEmpty -#define arginfo_class_SplPriorityQueue_recoverFromCorruption arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplPriorityQueue_recoverFromCorruption arginfo_class_SplPriorityQueue_isEmpty -#define arginfo_class_SplPriorityQueue_isCorrupted arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplPriorityQueue_isCorrupted arginfo_class_SplPriorityQueue_isEmpty -#define arginfo_class_SplPriorityQueue_getExtractFlags arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplPriorityQueue_getExtractFlags arginfo_class_SplPriorityQueue_count -#define arginfo_class_SplPriorityQueue___debugInfo arginfo_class_SplPriorityQueue_top +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplPriorityQueue___debugInfo, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() #define arginfo_class_SplHeap_extract arginfo_class_SplPriorityQueue_top -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplHeap_insert, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplHeap_insert, 0, 1, _IS_BOOL, 0) ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) ZEND_END_ARG_INFO() #define arginfo_class_SplHeap_top arginfo_class_SplPriorityQueue_top -#define arginfo_class_SplHeap_count arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_count arginfo_class_SplPriorityQueue_count -#define arginfo_class_SplHeap_isEmpty arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_isEmpty arginfo_class_SplPriorityQueue_isEmpty -#define arginfo_class_SplHeap_rewind arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_rewind arginfo_class_SplPriorityQueue_rewind #define arginfo_class_SplHeap_current arginfo_class_SplPriorityQueue_top -#define arginfo_class_SplHeap_key arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_key arginfo_class_SplPriorityQueue_count -#define arginfo_class_SplHeap_next arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_next arginfo_class_SplPriorityQueue_rewind -#define arginfo_class_SplHeap_valid arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_valid arginfo_class_SplPriorityQueue_isEmpty -#define arginfo_class_SplHeap_recoverFromCorruption arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_recoverFromCorruption arginfo_class_SplPriorityQueue_isEmpty -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplHeap_compare, 0, 0, 2) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplHeap_compare, 0, 2, IS_LONG, 0) ZEND_ARG_TYPE_INFO(0, value1, IS_MIXED, 0) ZEND_ARG_TYPE_INFO(0, value2, IS_MIXED, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplHeap_isCorrupted arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap_isCorrupted arginfo_class_SplPriorityQueue_isEmpty -#define arginfo_class_SplHeap___debugInfo arginfo_class_SplPriorityQueue_top +#define arginfo_class_SplHeap___debugInfo arginfo_class_SplPriorityQueue___debugInfo #define arginfo_class_SplMinHeap_compare arginfo_class_SplHeap_compare diff --git a/ext/spl/spl_observer.stub.php b/ext/spl/spl_observer.stub.php index fe2aa269d01e6..e5ea360354f4d 100644 --- a/ext/spl/spl_observer.stub.php +++ b/ext/spl/spl_observer.stub.php @@ -4,155 +4,155 @@ interface SplObserver { - /** @return void */ - public function update(SplSubject $subject); + /** @tentative-return-type */ + public function update(SplSubject $subject): void; } interface SplSubject { - /** @return void */ - public function attach(SplObserver $observer); + /** @tentative-return-type */ + public function attach(SplObserver $observer): void; - /** @return void */ - public function detach(SplObserver $observer); + /** @tentative-return-type */ + public function detach(SplObserver $observer): void; - /** @return void */ - public function notify(); + /** @tentative-return-type */ + public function notify(): void; } class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess { - /** @return void */ - public function attach(object $object, mixed $info = null) {} + /** @tentative-return-type */ + public function attach(object $object, mixed $info = null): void {} - /** @return void */ - public function detach(object $object) {} + /** @tentative-return-type */ + public function detach(object $object): void {} - /** @return bool */ - public function contains(object $object) {} + /** @tentative-return-type */ + public function contains(object $object): bool {} - /** @return int */ - public function addAll(SplObjectStorage $storage) {} + /** @tentative-return-type */ + public function addAll(SplObjectStorage $storage): int {} - /** @return int */ - public function removeAll(SplObjectStorage $storage) {} + /** @tentative-return-type */ + public function removeAll(SplObjectStorage $storage): int {} - /** @return int */ - public function removeAllExcept(SplObjectStorage $storage) {} + /** @tentative-return-type */ + public function removeAllExcept(SplObjectStorage $storage): int {} - /** @return mixed */ - public function getInfo() {} + /** @tentative-return-type */ + public function getInfo(): mixed {} - /** @return void */ - public function setInfo(mixed $info) {} + /** @tentative-return-type */ + public function setInfo(mixed $info): void {} - /** @return int */ - public function count(int $mode = COUNT_NORMAL) {} + /** @tentative-return-type */ + public function count(int $mode = COUNT_NORMAL): int {} - /** @return void */ - public function rewind() {} + /** @tentative-return-type */ + public function rewind(): void {} - /** @return bool */ - public function valid() {} + /** @tentative-return-type */ + public function valid(): bool {} - /** @return int */ - public function key() {} + /** @tentative-return-type */ + public function key(): int {} - /** @return object */ - public function current() {} + /** @tentative-return-type */ + public function current(): object {} - /** @return void */ - public function next() {} + /** @tentative-return-type */ + public function next(): void {} - /** @return void */ - public function unserialize(string $data) {} + /** @tentative-return-type */ + public function unserialize(string $data): void {} - /** @return string */ - public function serialize() {} + /** @tentative-return-type */ + public function serialize(): string {} /** * @param object $object - * @return bool + * @tentative-return-type * @implementation-alias SplObjectStorage::contains * @no-verify Cannot specify arg type because ArrayAccess does not */ - public function offsetExists($object) {} + public function offsetExists($object): bool {} /** * @param object $object - * @return mixed + * @tentative-return-type */ - public function offsetGet($object) {} + public function offsetGet($object): mixed {} /** * @param object $object - * @return void + * @tentative-return-type * @implementation-alias SplObjectStorage::attach * @no-verify Cannot specify arg type because ArrayAccess does not */ - public function offsetSet($object, mixed $info = null) {} + public function offsetSet(mixed $object, mixed $info = null): void {} /** * @param object $object - * @return void + * @tentative-return-type * @implementation-alias SplObjectStorage::detach * @no-verify Cannot specify arg type because ArrayAccess does not */ - public function offsetUnset($object) {} + public function offsetUnset($object): void {} - /** @return string */ - public function getHash(object $object) {} + /** @tentative-return-type */ + public function getHash(object $object): string {} - /** @return array */ - public function __serialize() {} + /** @tentative-return-type */ + public function __serialize(): array {} - /** @return void */ - public function __unserialize(array $data) {} + /** @tentative-return-type */ + public function __unserialize(array $data): void {} - /** @return array */ - public function __debugInfo() {} + /** @tentative-return-type */ + public function __debugInfo(): array {} } class MultipleIterator implements Iterator { public function __construct(int $flags = MultipleIterator::MIT_NEED_ALL|MultipleIterator::MIT_KEYS_NUMERIC) {} - /** @return int */ - public function getFlags() {} + /** @tentative-return-type */ + public function getFlags(): int {} - /** @return void */ - public function setFlags(int $flags) {} + /** @tentative-return-type */ + public function setFlags(int $flags): void {} - /** @return void */ - public function attachIterator(Iterator $iterator, string|int|null $info = null) {} + /** @tentative-return-type */ + public function attachIterator(Iterator $iterator, string|int|null $info = null): void {} - /** @return void */ - public function detachIterator(Iterator $iterator) {} + /** @tentative-return-type */ + public function detachIterator(Iterator $iterator): void {} - /** @return bool */ - public function containsIterator(Iterator $iterator) {} + /** @tentative-return-type */ + public function containsIterator(Iterator $iterator): bool {} - /** @return int */ - public function countIterators() {} + /** @tentative-return-type */ + public function countIterators(): int {} - /** @return void */ - public function rewind() {} + /** @tentative-return-type */ + public function rewind(): void {} - /** @return bool */ - public function valid() {} + /** @tentative-return-type */ + public function valid(): bool {} - /** @return array */ - public function key() {} + /** @tentative-return-type */ + public function key(): array {} - /** @return array */ - public function current() {} + /** @tentative-return-type */ + public function current(): array {} - /** @return void */ - public function next() {} + /** @tentative-return-type */ + public function next(): void {} /** - * @return array + * @tentative-return-type * @implementation-alias SplObjectStorage::__debugInfo */ - public function __debugInfo() {} + public function __debugInfo(): array {} } diff --git a/ext/spl/spl_observer_arginfo.h b/ext/spl/spl_observer_arginfo.h index fb5866d7881c5..5e9044a088f1e 100644 --- a/ext/spl/spl_observer_arginfo.h +++ b/ext/spl/spl_observer_arginfo.h @@ -1,31 +1,33 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: b82f26b4c1340b58c0faa31c5e14fef4c9778928 */ + * Stub hash: a3c87f5b7edd257e25d6651628dd9896e14f5715 */ -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObserver_update, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObserver_update, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, subject, SplSubject, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplSubject_attach, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplSubject_attach, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, observer, SplObserver, 0) ZEND_END_ARG_INFO() #define arginfo_class_SplSubject_detach arginfo_class_SplSubject_attach -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplSubject_notify, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplSubject_notify, 0, 0, IS_VOID, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_attach, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_attach, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, info, IS_MIXED, 0, "null") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_detach, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_detach, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_contains arginfo_class_SplObjectStorage_detach +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_contains, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_addAll, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_addAll, 0, 1, IS_LONG, 0) ZEND_ARG_OBJ_INFO(0, storage, SplObjectStorage, 0) ZEND_END_ARG_INFO() @@ -33,89 +35,103 @@ ZEND_END_ARG_INFO() #define arginfo_class_SplObjectStorage_removeAllExcept arginfo_class_SplObjectStorage_addAll -#define arginfo_class_SplObjectStorage_getInfo arginfo_class_SplSubject_notify +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_getInfo, 0, 0, IS_MIXED, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_setInfo, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_setInfo, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, info, IS_MIXED, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_count, 0, 0, 0) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_count, 0, 0, IS_LONG, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "COUNT_NORMAL") ZEND_END_ARG_INFO() #define arginfo_class_SplObjectStorage_rewind arginfo_class_SplSubject_notify -#define arginfo_class_SplObjectStorage_valid arginfo_class_SplSubject_notify +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_valid, 0, 0, _IS_BOOL, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_key arginfo_class_SplSubject_notify +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_key, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_current arginfo_class_SplSubject_notify +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_current, 0, 0, IS_OBJECT, 0) +ZEND_END_ARG_INFO() #define arginfo_class_SplObjectStorage_next arginfo_class_SplSubject_notify -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_unserialize, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_unserialize, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_serialize arginfo_class_SplSubject_notify +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_serialize, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_offsetExists, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_offsetExists, 0, 1, _IS_BOOL, 0) ZEND_ARG_INFO(0, object) ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_offsetGet arginfo_class_SplObjectStorage_offsetExists - -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage_offsetSet, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_offsetGet, 0, 1, IS_MIXED, 0) ZEND_ARG_INFO(0, object) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_offsetSet, 0, 1, IS_VOID, 0) + ZEND_ARG_TYPE_INFO(0, object, IS_MIXED, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, info, IS_MIXED, 0, "null") ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_offsetUnset arginfo_class_SplObjectStorage_offsetExists +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_offsetUnset, 0, 1, IS_VOID, 0) + ZEND_ARG_INFO(0, object) +ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage_getHash arginfo_class_SplObjectStorage_detach +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage_getHash, 0, 1, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, object, IS_OBJECT, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage___serialize arginfo_class_SplSubject_notify +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage___serialize, 0, 0, IS_ARRAY, 0) +ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObjectStorage___unserialize, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_SplObjectStorage___unserialize, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0) ZEND_END_ARG_INFO() -#define arginfo_class_SplObjectStorage___debugInfo arginfo_class_SplSubject_notify +#define arginfo_class_SplObjectStorage___debugInfo arginfo_class_SplObjectStorage___serialize ZEND_BEGIN_ARG_INFO_EX(arginfo_class_MultipleIterator___construct, 0, 0, 0) ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "MultipleIterator::MIT_NEED_ALL | MultipleIterator::MIT_KEYS_NUMERIC") ZEND_END_ARG_INFO() -#define arginfo_class_MultipleIterator_getFlags arginfo_class_SplSubject_notify +#define arginfo_class_MultipleIterator_getFlags arginfo_class_SplObjectStorage_key -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_MultipleIterator_setFlags, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_MultipleIterator_setFlags, 0, 1, IS_VOID, 0) ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_MultipleIterator_attachIterator, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_MultipleIterator_attachIterator, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0) ZEND_ARG_TYPE_MASK(0, info, MAY_BE_STRING|MAY_BE_LONG|MAY_BE_NULL, "null") ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_class_MultipleIterator_detachIterator, 0, 0, 1) +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_MultipleIterator_detachIterator, 0, 1, IS_VOID, 0) ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0) ZEND_END_ARG_INFO() -#define arginfo_class_MultipleIterator_containsIterator arginfo_class_MultipleIterator_detachIterator +ZEND_BEGIN_ARG_WITH_TENTATIVE_RETURN_TYPE_INFO_EX(arginfo_class_MultipleIterator_containsIterator, 0, 1, _IS_BOOL, 0) + ZEND_ARG_OBJ_INFO(0, iterator, Iterator, 0) +ZEND_END_ARG_INFO() -#define arginfo_class_MultipleIterator_countIterators arginfo_class_SplSubject_notify +#define arginfo_class_MultipleIterator_countIterators arginfo_class_SplObjectStorage_key #define arginfo_class_MultipleIterator_rewind arginfo_class_SplSubject_notify -#define arginfo_class_MultipleIterator_valid arginfo_class_SplSubject_notify +#define arginfo_class_MultipleIterator_valid arginfo_class_SplObjectStorage_valid -#define arginfo_class_MultipleIterator_key arginfo_class_SplSubject_notify +#define arginfo_class_MultipleIterator_key arginfo_class_SplObjectStorage___serialize -#define arginfo_class_MultipleIterator_current arginfo_class_SplSubject_notify +#define arginfo_class_MultipleIterator_current arginfo_class_SplObjectStorage___serialize #define arginfo_class_MultipleIterator_next arginfo_class_SplSubject_notify -#define arginfo_class_MultipleIterator___debugInfo arginfo_class_SplSubject_notify +#define arginfo_class_MultipleIterator___debugInfo arginfo_class_SplObjectStorage___serialize ZEND_METHOD(SplObjectStorage, attach); diff --git a/ext/spl/tests/SplHeap_with_by_reference_compare.phpt b/ext/spl/tests/SplHeap_with_by_reference_compare.phpt index b7b7b6d747a3c..bc4aa27e21c39 100644 --- a/ext/spl/tests/SplHeap_with_by_reference_compare.phpt +++ b/ext/spl/tests/SplHeap_with_by_reference_compare.phpt @@ -3,7 +3,7 @@ SplHeap using a compare function returning by-reference --FILE-- offsetGet($o1); class MySplObjectStorage extends SplObjectStorage { + #[ReturnTypeWillChange] public function getHash($obj) { return 2; } @@ -18,11 +19,11 @@ try { $s1 = new MySplObjectStorage; $s1[$o1] = "foo"; } catch(Exception $e) { - echo "caught\n"; + echo "caught 1\n"; } class MySplObjectStorage2 extends SplObjectStorage { - public function getHash($obj) { + public function getHash($obj): string { throw new Exception("foo"); return "asd"; } @@ -32,11 +33,11 @@ try { $s2 = new MySplObjectStorage2; $s2[$o2] = "foo"; } catch(Exception $e) { - echo "caught\n"; + echo "caught 2\n"; } class MySplObjectStorage3 extends SplObjectStorage { - public function getHash($obj) { + public function getHash($obj): string { return "asd"; } } @@ -51,8 +52,8 @@ var_dump($s3[$o1] === $s3[$o2]); ?> --EXPECT-- some_value -caught -caught +caught 1 +caught 2 object(stdClass)#2 (0) { } bool(true) diff --git a/ext/spl/tests/SplObjectStorage_removeAllExcept_basic.phpt b/ext/spl/tests/SplObjectStorage_removeAllExcept_basic.phpt index 83b3e27d88829..a6059da2958f2 100644 --- a/ext/spl/tests/SplObjectStorage_removeAllExcept_basic.phpt +++ b/ext/spl/tests/SplObjectStorage_removeAllExcept_basic.phpt @@ -5,21 +5,21 @@ Matthew Turland (me@matthewturland.com) --FILE-- attach($a); - $foo->attach($b); +$foo = new SplObjectStorage; +$foo->attach($a); +$foo->attach($b); - $bar = new SplObjectStorage; - $bar->attach($b); - $bar->attach($c); +$bar = new SplObjectStorage; +$bar->attach($b); +$bar->attach($c); - $foo->removeAllExcept($bar); - var_dump($foo->contains($a)); - var_dump($foo->contains($b)); +$foo->removeAllExcept($bar); +var_dump($foo->contains($a)); +var_dump($foo->contains($b)); ?> --EXPECT-- diff --git a/ext/spl/tests/bug64106.phpt b/ext/spl/tests/bug64106.phpt index 26203c4e2e9a2..7476d7af7ff41 100644 --- a/ext/spl/tests/bug64106.phpt +++ b/ext/spl/tests/bug64106.phpt @@ -4,7 +4,7 @@ Bug #64106: Segfault on SplFixedArray[][x] = y when extended $b) { $result = 1; } else if ($a < $b) { diff --git a/ext/spl/tests/heap_004.phpt b/ext/spl/tests/heap_004.phpt index 892da20fb70e2..3db18b6733839 100644 --- a/ext/spl/tests/heap_004.phpt +++ b/ext/spl/tests/heap_004.phpt @@ -3,7 +3,7 @@ SPL: SplHeap: exceptions --FILE-- insert(2); var_dump($h->top()); class SplMaxHeap2 extends SplMaxHeap { - public function compare($a, $b) { + public function compare($a, $b): int { return -parent::compare($a,$b); } } diff --git a/ext/spl/tests/heap_corruption.phpt b/ext/spl/tests/heap_corruption.phpt index 9b14a0fe0b09e..149d0b671996d 100644 --- a/ext/spl/tests/heap_corruption.phpt +++ b/ext/spl/tests/heap_corruption.phpt @@ -10,7 +10,7 @@ class myHeap extends SplHeap { public $allow_compare = true; - public function compare($v1, $v2) + public function compare($v1, $v2): int { if ($this->allow_compare == true) { diff --git a/ext/spl/tests/heap_current_variation_001.phpt b/ext/spl/tests/heap_current_variation_001.phpt index a55bb486e95ac..be9dc7bc1691d 100644 --- a/ext/spl/tests/heap_current_variation_001.phpt +++ b/ext/spl/tests/heap_current_variation_001.phpt @@ -8,7 +8,7 @@ Mike Sullivan class myHeap extends SplHeap { - public function compare($v1, $v2) + public function compare($v1, $v2): int { throw new Exception(''); } diff --git a/ext/spl/tests/heap_top_variation_002.phpt b/ext/spl/tests/heap_top_variation_002.phpt index add363eab3121..0a9a8db613bed 100644 --- a/ext/spl/tests/heap_top_variation_002.phpt +++ b/ext/spl/tests/heap_top_variation_002.phpt @@ -7,7 +7,7 @@ TestFest London May 2009 name = '$' . $name; } - function update(SplSubject $subject) + function update(SplSubject $subject): void { echo $this->name . '->' . __METHOD__ . '(' . $subject->getName() . ");\n"; } @@ -33,7 +33,7 @@ class SubjectImpl implements SplSubject $this->name = '$' . $name; } - function attach(SplObserver $observer) + function attach(SplObserver $observer): void { echo '$sub->' . __METHOD__ . '(' . $observer->getName() . ");\n"; if (!in_array($observer, $this->observers)) @@ -42,7 +42,7 @@ class SubjectImpl implements SplSubject } } - function detach(SplObserver $observer) + function detach(SplObserver $observer): void { echo '$sub->' . __METHOD__ . '(' . $observer->getName() . ");\n"; $idx = array_search($observer, $this->observers); @@ -52,7 +52,7 @@ class SubjectImpl implements SplSubject } } - function notify() + function notify(): void { echo '$sub->' . __METHOD__ . "();\n"; foreach($this->observers as $observer) diff --git a/ext/spl/tests/observer_002.phpt b/ext/spl/tests/observer_002.phpt index 2642c28bd57c7..858bbc8c94def 100644 --- a/ext/spl/tests/observer_002.phpt +++ b/ext/spl/tests/observer_002.phpt @@ -5,31 +5,31 @@ SPL: SplObjectStorage class MyObjectStorage extends SplObjectStorage { - function rewind() + function rewind(): void { echo __METHOD__ . "()\n"; parent::rewind(); } - function valid() + function valid(): bool { echo __METHOD__ . "(" . (parent::valid() ? 1 : 0) . ")\n"; return parent::valid(); } - function key() + function key(): int { echo __METHOD__ . "(" . parent::key() . ")\n"; return parent::key(); } - function current() + function current(): object { echo __METHOD__ . "(" . parent::current()->getName() . ")\n"; return parent::current(); } - function next() + function next(): void { echo __METHOD__ . "()\n"; parent::next(); @@ -45,7 +45,7 @@ class ObserverImpl implements SplObserver $this->name = '$' . $name; } - function update(SplSubject $subject) + function update(SplSubject $subject): void { echo $this->name . '->' . __METHOD__ . '(' . $subject->getName() . ");\n"; } @@ -67,13 +67,13 @@ class SubjectImpl implements SplSubject $this->name = '$' . $name; } - function attach(SplObserver $observer) + function attach(SplObserver $observer): void { echo $this->name . '->' . __METHOD__ . '(' . $observer->getName() . ");\n"; $this->observers->attach($observer); } - function detach(SplObserver $observer) + function detach(SplObserver $observer): void { echo $this->name . '->' . __METHOD__ . '(' . $observer->getName() . ");\n"; $this->observers->detach($observer); @@ -84,7 +84,7 @@ class SubjectImpl implements SplSubject return $this->observers->count(); } - function notify() + function notify(): void { echo $this->name . '->' . __METHOD__ . "();\n"; foreach($this->observers as $key => $observer) diff --git a/ext/spl/tests/observer_008.phpt b/ext/spl/tests/observer_008.phpt index a584d5492ccbc..0f6f0d263b9e8 100644 --- a/ext/spl/tests/observer_008.phpt +++ b/ext/spl/tests/observer_008.phpt @@ -12,7 +12,7 @@ $a = new A; $a->attach($o1); $a->attach($o2); -$b = new SplObjectSTorage(); +$b = new SplObjectStorage(); $b->attach($o2); $b->attach($o3); diff --git a/ext/spl/tests/pqueue_002.phpt b/ext/spl/tests/pqueue_002.phpt index ee9a5f30caeff..df4a64f4b2d03 100644 --- a/ext/spl/tests/pqueue_002.phpt +++ b/ext/spl/tests/pqueue_002.phpt @@ -3,7 +3,7 @@ SPL: SplPriorityQueue: exceptions --FILE-- fail) throw new Exception('Corrupting heap',99); return 0; diff --git a/ext/spl/tests/spl_pq_top_error_corrupt.phpt b/ext/spl/tests/spl_pq_top_error_corrupt.phpt index 838e763447f88..60f532b02fe88 100644 --- a/ext/spl/tests/spl_pq_top_error_corrupt.phpt +++ b/ext/spl/tests/spl_pq_top_error_corrupt.phpt @@ -8,7 +8,7 @@ Nathaniel McHugh nat@fishtrap.co.uk class myPriorityQueue extends SplPriorityQueue{ - public function compare($a, $b){ + public function compare($a, $b): int { if ($b == 2) { throw new Exception('ignore me'); } else {