summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMáté Kocsis <kocsismate@woohoolabs.com>2020-03-29 20:24:16 +0200
committerMáté Kocsis <kocsismate@woohoolabs.com>2020-04-03 14:23:54 +0200
commit305b17e85f3bb4836fd08f22c3a19c386478cdf4 (patch)
treedd890507687ab62038aad72f88d1bcfaa3614c89
parent17d4e66204466cb5e3c0eb32aa18b8dbd9774ce3 (diff)
downloadphp-git-305b17e85f3bb4836fd08f22c3a19c386478cdf4.tar.gz
Do not include the same stub multiple times
Closes GH-5322
-rw-r--r--Zend/zend_builtin_functions_arginfo.h2
-rw-r--r--ext/curl/curl_file.c1
-rw-r--r--ext/curl/curl_file.stub.php3
-rw-r--r--ext/dom/attr.c2
-rw-r--r--ext/dom/attr.stub.php9
-rw-r--r--ext/dom/attr_arginfo.h9
-rw-r--r--ext/dom/cdatasection.c2
-rw-r--r--ext/dom/cdatasection.stub.php6
-rw-r--r--ext/dom/cdatasection_arginfo.h5
-rw-r--r--ext/dom/characterdata.c10
-rw-r--r--ext/dom/characterdata.stub.php30
-rw-r--r--ext/dom/characterdata_arginfo.h34
-rw-r--r--ext/dom/comment.c2
-rw-r--r--ext/dom/comment.stub.php6
-rw-r--r--ext/dom/comment_arginfo.h5
-rw-r--r--ext/dom/document.c6
-rw-r--r--ext/dom/document.stub.php109
-rw-r--r--ext/dom/document_arginfo.h154
-rw-r--r--ext/dom/documentfragment.c6
-rw-r--r--ext/dom/documentfragment.stub.php15
-rw-r--r--ext/dom/documentfragment_arginfo.h14
-rw-r--r--ext/dom/dom.stub.php348
-rw-r--r--ext/dom/dom_arginfo.h407
-rw-r--r--ext/dom/domimplementation.c2
-rw-r--r--ext/dom/domimplementation.stub.php16
-rw-r--r--ext/dom/domimplementation_arginfo.h20
-rw-r--r--ext/dom/element.c14
-rw-r--r--ext/dom/element.stub.php77
-rw-r--r--ext/dom/element_arginfo.h85
-rw-r--r--ext/dom/entityreference.c2
-rw-r--r--ext/dom/entityreference.stub.php6
-rw-r--r--ext/dom/entityreference_arginfo.h5
-rw-r--r--ext/dom/namednodemap.c2
-rw-r--r--ext/dom/namednodemap.stub.php16
-rw-r--r--ext/dom/namednodemap_arginfo.h17
-rw-r--r--ext/dom/node.c2
-rw-r--r--ext/dom/node.stub.php69
-rw-r--r--ext/dom/node_arginfo.h79
-rw-r--r--ext/dom/nodelist.c3
-rw-r--r--ext/dom/nodelist.stub.php10
-rw-r--r--ext/dom/nodelist_arginfo.h8
-rw-r--r--ext/dom/parentnode.c3
-rw-r--r--ext/dom/parentnode.stub.php10
-rw-r--r--ext/dom/parentnode_arginfo.h7
-rw-r--r--ext/dom/processinginstruction.c2
-rw-r--r--ext/dom/processinginstruction.stub.php6
-rw-r--r--ext/dom/processinginstruction_arginfo.h6
-rw-r--r--ext/dom/text.c2
-rw-r--r--ext/dom/text.stub.php14
-rw-r--r--ext/dom/text_arginfo.h14
-rw-r--r--ext/dom/xpath.c2
-rw-r--r--ext/dom/xpath.stub.php20
-rw-r--r--ext/dom/xpath_arginfo.h33
-rw-r--r--ext/intl/calendar/calendar.stub.php105
-rw-r--r--ext/intl/calendar/calendar_arginfo.h198
-rw-r--r--ext/intl/collator/collator.stub.php26
-rw-r--r--ext/intl/collator/collator_arginfo.h61
-rw-r--r--ext/intl/collator/collator_functions_arginfo.h62
-rw-r--r--ext/intl/common/common.stub.php8
-rw-r--r--ext/intl/common/common_arginfo.h14
-rw-r--r--ext/intl/dateformat/dateformat.stub.php51
-rw-r--r--ext/intl/dateformat/dateformat_arginfo.h91
-rw-r--r--ext/intl/formatter/formatter.stub.php33
-rw-r--r--ext/intl/formatter/formatter_arginfo.h80
-rw-r--r--ext/intl/formatter/formatter_functions_arginfo.h81
-rw-r--r--ext/intl/grapheme/grapheme.stub.php19
-rw-r--r--ext/intl/grapheme/grapheme_arginfo.h39
-rw-r--r--ext/intl/idn/idn.stub.php5
-rw-r--r--ext/intl/idn/idn_arginfo.h10
-rw-r--r--ext/intl/locale/locale.stub.php36
-rw-r--r--ext/intl/locale/locale_arginfo.h61
-rw-r--r--ext/intl/msgformat/msgformat.stub.php20
-rw-r--r--ext/intl/msgformat/msgformat_arginfo.h46
-rw-r--r--ext/intl/normalizer/normalizer.stub.php8
-rw-r--r--ext/intl/normalizer/normalizer_arginfo.h17
-rw-r--r--ext/intl/php_intl.c14
-rw-r--r--ext/intl/php_intl.stub.php422
-rw-r--r--ext/intl/php_intl_arginfo.h775
-rw-r--r--ext/intl/resourcebundle/resourcebundle.stub.php16
-rw-r--r--ext/intl/resourcebundle/resourcebundle_arginfo.h25
-rw-r--r--ext/intl/timezone/timezone.stub.php54
-rw-r--r--ext/intl/timezone/timezone_arginfo.h101
-rw-r--r--ext/intl/transliterator/transliterator.stub.php15
-rw-r--r--ext/intl/transliterator/transliterator_arginfo.h32
-rw-r--r--ext/mysqli/mysqli.stub.php8
-rw-r--r--ext/mysqli/mysqli_arginfo.h6
-rw-r--r--ext/mysqli/mysqli_warning.c2
-rw-r--r--ext/mysqli/mysqli_warning.stub.php9
-rw-r--r--ext/mysqli/mysqli_warning_arginfo.h8
-rw-r--r--ext/pdo/pdo.stub.php130
-rw-r--r--ext/pdo/pdo_arginfo.h126
-rw-r--r--ext/pdo/pdo_dbh.c2
-rw-r--r--ext/pdo/pdo_dbh.stub.php51
-rw-r--r--ext/pdo/pdo_dbh_arginfo.h52
-rw-r--r--ext/pdo/pdo_stmt.c2
-rw-r--r--ext/pdo/pdo_stmt.stub.php77
-rw-r--r--ext/pdo/pdo_stmt_arginfo.h82
-rwxr-xr-xext/standard/basic_functions.stub.php35
-rwxr-xr-xext/standard/basic_functions_arginfo.h19
-rw-r--r--ext/standard/dir.c2
-rwxr-xr-xext/standard/dir.stub.php22
-rw-r--r--ext/standard/dir_arginfo.h9
-rw-r--r--ext/standard/user_filters.c2
-rwxr-xr-xext/standard/user_filters.stub.php12
-rw-r--r--ext/standard/user_filters_arginfo.h13
105 files changed, 2628 insertions, 2303 deletions
diff --git a/Zend/zend_builtin_functions_arginfo.h b/Zend/zend_builtin_functions_arginfo.h
index 1dd9b6f712..78393d28ec 100644
--- a/Zend/zend_builtin_functions_arginfo.h
+++ b/Zend/zend_builtin_functions_arginfo.h
@@ -32,7 +32,7 @@ ZEND_END_ARG_INFO()
#define arginfo_strncasecmp arginfo_strncmp
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_error_reporting, 0, 0, IS_LONG, 1)
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_error_reporting, 0, 0, IS_LONG, 0)
ZEND_ARG_INFO(0, new_error_level)
ZEND_END_ARG_INFO()
diff --git a/ext/curl/curl_file.c b/ext/curl/curl_file.c
index d08d77fb51..e034babd0f 100644
--- a/ext/curl/curl_file.c
+++ b/ext/curl/curl_file.c
@@ -22,7 +22,6 @@
#include "Zend/zend_exceptions.h"
#include "Zend/zend_interfaces.h"
#include "php_curl.h"
-#include "curl_arginfo.h"
#include "curl_file_arginfo.h"
#if HAVE_CURL
diff --git a/ext/curl/curl_file.stub.php b/ext/curl/curl_file.stub.php
index e6e21f9a02..e1b289bd97 100644
--- a/ext/curl/curl_file.stub.php
+++ b/ext/curl/curl_file.stub.php
@@ -1,6 +1,7 @@
<?php
-class CURLFile {
+class CURLFile
+{
public function __construct(
string $filename,
string $mimetype = UNKNOWN,
diff --git a/ext/dom/attr.c b/ext/dom/attr.c
index 1f24869f0d..9c097eb843 100644
--- a/ext/dom/attr.c
+++ b/ext/dom/attr.c
@@ -24,7 +24,7 @@
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "attr_arginfo.h"
/*
* class DOMAttr extends DOMNode
diff --git a/ext/dom/attr.stub.php b/ext/dom/attr.stub.php
new file mode 100644
index 0000000000..0d8f748421
--- /dev/null
+++ b/ext/dom/attr.stub.php
@@ -0,0 +1,9 @@
+<?php
+
+class DOMAttr
+{
+ public function __construct(string $name, string $value = "") {}
+
+ /** @return bool */
+ public function isId() {}
+}
diff --git a/ext/dom/attr_arginfo.h b/ext/dom/attr_arginfo.h
new file mode 100644
index 0000000000..4675acac7a
--- /dev/null
+++ b/ext/dom/attr_arginfo.h
@@ -0,0 +1,9 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMAttr___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMAttr_isId, 0, 0, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/cdatasection.c b/ext/dom/cdatasection.c
index ee660feda0..613b6b9169 100644
--- a/ext/dom/cdatasection.c
+++ b/ext/dom/cdatasection.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "cdatasection_arginfo.h"
/*
* class DOMCdataSection extends DOMText
diff --git a/ext/dom/cdatasection.stub.php b/ext/dom/cdatasection.stub.php
new file mode 100644
index 0000000000..bd56bef262
--- /dev/null
+++ b/ext/dom/cdatasection.stub.php
@@ -0,0 +1,6 @@
+<?php
+
+class DOMCdataSection
+{
+ public function __construct(string $value) {}
+}
diff --git a/ext/dom/cdatasection_arginfo.h b/ext/dom/cdatasection_arginfo.h
new file mode 100644
index 0000000000..33417e5426
--- /dev/null
+++ b/ext/dom/cdatasection_arginfo.h
@@ -0,0 +1,5 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCdataSection___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/characterdata.c b/ext/dom/characterdata.c
index cff745a522..d9203708f7 100644
--- a/ext/dom/characterdata.c
+++ b/ext/dom/characterdata.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "characterdata_arginfo.h"
/*
* class DOMCharacterData extends DOMNode
@@ -37,10 +37,10 @@ const zend_function_entry php_dom_characterdata_class_functions[] = {
PHP_ME(domcharacterdata, insertData, arginfo_class_DOMCharacterData_insertData, ZEND_ACC_PUBLIC)
PHP_ME(domcharacterdata, deleteData, arginfo_class_DOMCharacterData_deleteData, ZEND_ACC_PUBLIC)
PHP_ME(domcharacterdata, replaceData, arginfo_class_DOMCharacterData_replaceData, ZEND_ACC_PUBLIC)
- PHP_ME(domcharacterdata, remove, arginfo_class_DOMChildNode_remove, ZEND_ACC_PUBLIC)
- PHP_ME(domcharacterdata, after, arginfo_class_DOMChildNode_after, ZEND_ACC_PUBLIC)
- PHP_ME(domcharacterdata, before, arginfo_class_DOMChildNode_before, ZEND_ACC_PUBLIC)
- PHP_ME(domcharacterdata, replaceWith, arginfo_class_DOMChildNode_replaceWith, ZEND_ACC_PUBLIC)
+ PHP_ME(domcharacterdata, remove, arginfo_class_DOMCharacterData_remove, ZEND_ACC_PUBLIC)
+ PHP_ME(domcharacterdata, after, arginfo_class_DOMCharacterData_after, ZEND_ACC_PUBLIC)
+ PHP_ME(domcharacterdata, before, arginfo_class_DOMCharacterData_before, ZEND_ACC_PUBLIC)
+ PHP_ME(domcharacterdata, replaceWith, arginfo_class_DOMCharacterData_replaceWith, ZEND_ACC_PUBLIC)
PHP_FE_END
};
diff --git a/ext/dom/characterdata.stub.php b/ext/dom/characterdata.stub.php
new file mode 100644
index 0000000000..b7ddb6b750
--- /dev/null
+++ b/ext/dom/characterdata.stub.php
@@ -0,0 +1,30 @@
+<?php
+
+class DOMCharacterData implements DOMChildNode
+{
+ /** @return bool */
+ public function appendData(string $data) {}
+
+ /** @return string|false */
+ public function substringData(int $offset, int $count) {}
+
+ /** @return bool */
+ public function insertData(int $offset, string $data) {}
+
+ /** @return bool */
+ public function deleteData(int $offset, int $count) {}
+
+ /** @return bool */
+ public function replaceData(int $offset, int $count, string $data) {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function replaceWith(...$nodes): void {}
+
+ public function remove(): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function before(... $nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function after(...$nodes): void {}
+}
diff --git a/ext/dom/characterdata_arginfo.h b/ext/dom/characterdata_arginfo.h
new file mode 100644
index 0000000000..191d934750
--- /dev/null
+++ b/ext/dom/characterdata_arginfo.h
@@ -0,0 +1,34 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_appendData, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_substringData, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_insertData, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMCharacterData_deleteData arginfo_class_DOMCharacterData_substringData
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_replaceData, 0, 0, 3)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMCharacterData_replaceWith, 0, 0, IS_VOID, 0)
+ ZEND_ARG_VARIADIC_INFO(0, nodes)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMCharacterData_remove, 0, 0, IS_VOID, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMCharacterData_before arginfo_class_DOMCharacterData_replaceWith
+
+#define arginfo_class_DOMCharacterData_after arginfo_class_DOMCharacterData_replaceWith
diff --git a/ext/dom/comment.c b/ext/dom/comment.c
index 370b8c4a9f..d54688390e 100644
--- a/ext/dom/comment.c
+++ b/ext/dom/comment.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "comment_arginfo.h"
/*
* class DOMComment extends DOMCharacterData
diff --git a/ext/dom/comment.stub.php b/ext/dom/comment.stub.php
new file mode 100644
index 0000000000..e6131ce2dc
--- /dev/null
+++ b/ext/dom/comment.stub.php
@@ -0,0 +1,6 @@
+<?php
+
+class DOMComment
+{
+ public function __construct(string $value = "") {}
+}
diff --git a/ext/dom/comment_arginfo.h b/ext/dom/comment_arginfo.h
new file mode 100644
index 0000000000..0b6e1c97c9
--- /dev/null
+++ b/ext/dom/comment_arginfo.h
@@ -0,0 +1,5 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMComment___construct, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/document.c b/ext/dom/document.c
index 5cb114d45c..389f5dc6ea 100644
--- a/ext/dom/document.c
+++ b/ext/dom/document.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "document_arginfo.h"
#include <libxml/SAX.h>
#ifdef LIBXML_SCHEMAS_ENABLED
#include <libxml/relaxng.h>
@@ -82,8 +82,8 @@ const zend_function_entry php_dom_document_class_functions[] = { /* {{{ */
PHP_ME(domdocument, relaxNGValidateSource, arginfo_class_DOMDocument_relaxNGValidateSource, ZEND_ACC_PUBLIC)
#endif
PHP_ME(domdocument, registerNodeClass, arginfo_class_DOMDocument_registerNodeClass, ZEND_ACC_PUBLIC)
- PHP_ME(domdocument, append, arginfo_class_DOMParentNode_append, ZEND_ACC_PUBLIC)
- PHP_ME(domdocument, prepend, arginfo_class_DOMParentNode_prepend, ZEND_ACC_PUBLIC)
+ PHP_ME(domdocument, append, arginfo_class_DOMDocument_append, ZEND_ACC_PUBLIC)
+ PHP_ME(domdocument, prepend, arginfo_class_DOMDocument_prepend, ZEND_ACC_PUBLIC)
PHP_FE_END
};
/* }}} */
diff --git a/ext/dom/document.stub.php b/ext/dom/document.stub.php
new file mode 100644
index 0000000000..02c10c5f7a
--- /dev/null
+++ b/ext/dom/document.stub.php
@@ -0,0 +1,109 @@
+<?php
+
+class DOMDocument implements DOMParentNode
+{
+ public function __construct(string $version = "1.0", string $encoding = UNKNOWN) {}
+
+ /** @return DOMAttr|false */
+ public function createAttribute(string $name) {}
+
+ /** @return DOMAttr|false */
+ public function createAttributeNS(?string $namespaceURI, string $qualifiedName) {}
+
+ /** @return DOMCdataSection|false */
+ public function createCDATASection(string $data) {}
+
+ /** @return DOMComment|false */
+ public function createComment(string $data) {}
+
+ /** @return DOMDocumentFragment|false */
+ public function createDocumentFragment() {}
+
+ /** @return DOMElement|false */
+ public function createElement(string $tagName, string $value = "") {}
+
+ /** @return DOMElement|false */
+ public function createElementNS(?string $namespaceURI, string $qualifiedName, string $value = "") {}
+
+ /** @return DOMEntityReference|false */
+ public function createEntityReference(string $name) {}
+
+ /** @return DOMProcessingInstruction|false */
+ public function createProcessingInstruction(string $target, string $data = "") {}
+
+ /** @return DOMText|false */
+ public function createTextNode(string $data) {}
+
+ /** @return ?DOMElement */
+ public function getElementById(string $elementId) {}
+
+ /** @return DOMNodeList */
+ public function getElementsByTagName(string $tagName) {}
+
+ /** @return DOMNodeList */
+ public function getElementsByTagNameNS(string $namespaceURI, string $localName) {}
+
+ /** @return DOMNode|false */
+ public function importNode(DOMNode $importedNode, bool $deep = false) {}
+
+ /** @return DOMDocument|bool */
+ public function load(string $filename, int $options = 0) {}
+
+ /** @return DOMDocument|bool */
+ public function loadXML(string $source, int $options = 0) {}
+
+ /** @return void */
+ public function normalizeDocument() {}
+
+ /** @return bool */
+ public function registerNodeClass(string $baseclass, ?string $extendedclass) {}
+
+ /** @return int|false */
+ public function save(string $filename, int $options = 0) {}
+
+#if defined(LIBXML_HTML_ENABLED)
+ /** @return DOMDocument|bool */
+ public function loadHTML(string $source, int $options = 0) {}
+
+ /** @return DOMDocument|bool */
+ public function loadHTMLFile(string $filename, int $options = 0) {}
+
+ /** @return string|false */
+ public function saveHTML(?DOMNode $node = null) {}
+
+ /** @return int|false */
+ public function saveHTMLFile(string $filename) {}
+#endif
+
+ /** @return string|false */
+ public function saveXML(?DOMNode $node = null, int $options = 0) {}
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+ /** @return bool */
+ public function schemaValidate(string $filename, int $flags = 0) {}
+
+ /** @return bool */
+ public function schemaValidateSource(string $source, int $flags = 0) {}
+
+ /** @return bool */
+ public function relaxNGValidate(string $filename) {}
+
+ /** @return bool */
+ public function relaxNGValidateSource(string $source) {}
+#endif
+
+ /** @return bool */
+ public function validate() {}
+
+ /** @return int|false */
+ public function xinclude(int $options = 0) {}
+
+ /** @return DOMNode|false */
+ public function adoptNode(DOMNode $source) {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function append(...$nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function prepend(...$nodes): void {}
+}
diff --git a/ext/dom/document_arginfo.h b/ext/dom/document_arginfo.h
new file mode 100644
index 0000000000..eba90752b3
--- /dev/null
+++ b/ext/dom/document_arginfo.h
@@ -0,0 +1,154 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument___construct, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createAttribute, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createAttributeNS, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createCDATASection, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocument_createComment arginfo_class_DOMDocument_createCDATASection
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createDocumentFragment, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createElement, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, tagName, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createElementNS, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocument_createEntityReference arginfo_class_DOMDocument_createAttribute
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createProcessingInstruction, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocument_createTextNode arginfo_class_DOMDocument_createCDATASection
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_getElementById, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, elementId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_getElementsByTagName, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, tagName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_getElementsByTagNameNS, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_importNode, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, importedNode, DOMNode, 0)
+ ZEND_ARG_TYPE_INFO(0, deep, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_load, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_loadXML, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocument_normalizeDocument arginfo_class_DOMDocument_createDocumentFragment
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_registerNodeClass, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, baseclass, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, extendedclass, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocument_save arginfo_class_DOMDocument_load
+
+#if defined(LIBXML_HTML_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_loadHTML, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_loadHTMLFile, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_saveHTML, 0, 0, 0)
+ ZEND_ARG_OBJ_INFO(0, node, DOMNode, 1)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_HTML_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_saveHTMLFile, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_saveXML, 0, 0, 0)
+ ZEND_ARG_OBJ_INFO(0, node, DOMNode, 1)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_schemaValidate, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_schemaValidateSource, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_relaxNGValidate, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_SCHEMAS_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_relaxNGValidateSource, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#define arginfo_class_DOMDocument_validate arginfo_class_DOMDocument_createDocumentFragment
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_xinclude, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_adoptNode, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, source, DOMNode, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMDocument_append, 0, 0, IS_VOID, 0)
+ ZEND_ARG_VARIADIC_INFO(0, nodes)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocument_prepend arginfo_class_DOMDocument_append
diff --git a/ext/dom/documentfragment.c b/ext/dom/documentfragment.c
index d6e1060d34..dddfc8f446 100644
--- a/ext/dom/documentfragment.c
+++ b/ext/dom/documentfragment.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "documentfragment_arginfo.h"
/*
* class DOMDocumentFragment extends DOMNode
@@ -34,8 +34,8 @@
const zend_function_entry php_dom_documentfragment_class_functions[] = {
PHP_ME(domdocumentfragment, __construct, arginfo_class_DOMDocumentFragment___construct, ZEND_ACC_PUBLIC)
PHP_ME(domdocumentfragment, appendXML, arginfo_class_DOMDocumentFragment_appendXML, ZEND_ACC_PUBLIC)
- PHP_ME(domdocumentfragment, append, arginfo_class_DOMParentNode_append, ZEND_ACC_PUBLIC)
- PHP_ME(domdocumentfragment, prepend, arginfo_class_DOMParentNode_prepend, ZEND_ACC_PUBLIC)
+ PHP_ME(domdocumentfragment, append, arginfo_class_DOMDocumentFragment_append, ZEND_ACC_PUBLIC)
+ PHP_ME(domdocumentfragment, prepend, arginfo_class_DOMDocumentFragment_prepend, ZEND_ACC_PUBLIC)
PHP_FE_END
};
diff --git a/ext/dom/documentfragment.stub.php b/ext/dom/documentfragment.stub.php
new file mode 100644
index 0000000000..dc40beea49
--- /dev/null
+++ b/ext/dom/documentfragment.stub.php
@@ -0,0 +1,15 @@
+<?php
+
+class DOMDocumentFragment implements DOMParentNode
+{
+ public function __construct() {}
+
+ /** @return bool */
+ public function appendXML(string $data) {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function append(...$nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function prepend(...$nodes): void {}
+}
diff --git a/ext/dom/documentfragment_arginfo.h b/ext/dom/documentfragment_arginfo.h
new file mode 100644
index 0000000000..a74fc3dd89
--- /dev/null
+++ b/ext/dom/documentfragment_arginfo.h
@@ -0,0 +1,14 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocumentFragment___construct, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocumentFragment_appendXML, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMDocumentFragment_append, 0, 0, IS_VOID, 0)
+ ZEND_ARG_VARIADIC_INFO(0, nodes)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMDocumentFragment_prepend arginfo_class_DOMDocumentFragment_append
diff --git a/ext/dom/dom.stub.php b/ext/dom/dom.stub.php
index e87c2917c9..de192878a1 100644
--- a/ext/dom/dom.stub.php
+++ b/ext/dom/dom.stub.php
@@ -1,353 +1,5 @@
<?php
-interface DOMChildNode
-{
- public function remove(): void;
-
- /** @var ...DOMNode|string $nodes */
- public function before(... $nodes): void;
-
- /** @var ...DOMNode|string $nodes */
- public function after(...$nodes): void;
-
- /** @var ...DOMNode|string $nodes */
- public function replaceWith(...$nodes): void;
-}
-
-interface DOMParentNode
-{
- /** @var ...DOMNode|string $nodes */
- public function append(...$nodes): void;
-
- /** @var ...DOMNode|string $nodes */
- public function prepend(...$nodes): void;
-}
-
-class DOMNode {
- /** @return DOMNode|false */
- public function appendChild(DOMNode $newChild) {}
-
- /** @return string|false */
- public function C14N(bool $exclusive = false, bool $with_comments = false, ?array $xpath = null, ?array $ns_prefixes = null) {}
-
- /** @return int|false */
- public function C14NFile(string $uri, bool $exclusive = false, bool $with_comments = false, ?array $xpath = null, ?array $ns_prefixes = null) {}
-
- /** @return DOMNode|false */
- public function cloneNode(bool $recursive = false) {}
-
- /** @return int */
- public function getLineNo() {}
-
- /** @return ?string */
- public function getNodePath() {}
-
- /** @return bool */
- public function hasAttributes() {}
-
- /** @return bool */
- public function hasChildNodes() {}
-
- /** @return DOMNode|false */
- public function insertBefore(DOMNode $newChild, ?DOMNode $refChild = null) {}
-
- /** @return bool */
- public function isDefaultNamespace(string $namespaceURI) {}
-
- /** @return bool */
- public function isSameNode(DOMNode $other) {}
-
- /** @return bool */
- public function isSupported(string $feature, string $version) {}
-
- /** @return ?string */
- public function lookupNamespaceUri(?string $prefix) {}
-
- /** @return ?string */
- public function lookupPrefix(string $namespaceURI) {}
-
- /** @return void */
- public function normalize() {}
-
- /** @return DOMNode|false */
- public function removeChild(DOMNode $oldChild) {}
-
- /** @return DOMNode|false */
- public function replaceChild(DOMNode $newChild, DOMNode $oldChild) {}
-}
-
-class DOMAttr {
- public function __construct(string $name, string $value = "") {}
- /** @return bool */
- public function isId() {}
-}
-
-class DOMCdataSection {
- public function __construct(string $value) {}
-}
-
-class DOMCharacterData implements DOMChildNode {
- /** @return bool */
- public function appendData(string $data) {}
-
- /** @return string|false */
- public function substringData(int $offset, int $count) {}
-
- /** @return bool */
- public function insertData(int $offset, string $data) {}
-
- /** @return bool */
- public function deleteData(int $offset, int $count) {}
-
- /** @return bool */
- public function replaceData(int $offset, int $count, string $data) {}
-}
-
-class DOMComment {
- public function __construct(string $value = "") {}
-}
-
-class DOMDocument implements DOMParentNode {
- public function __construct(string $version = "1.0", string $encoding = UNKNOWN) {}
-
- /** @return DOMAttr|false */
- public function createAttribute(string $name) {}
-
- /** @return DOMAttr|false */
- public function createAttributeNS(?string $namespaceURI, string $qualifiedName) {}
-
- /** @return DOMCdataSection|false */
- public function createCDATASection(string $data) {}
-
- /** @return DOMComment|false */
- public function createComment(string $data) {}
-
- /** @return DOMDocumentFragment|false */
- public function createDocumentFragment() {}
-
- /** @return DOMElement|false */
- public function createElement(string $tagName, string $value = "") {}
-
- /** @return DOMElement|false */
- public function createElementNS(?string $namespaceURI, string $qualifiedName, string $value = "") {}
-
- /** @return DOMEntityReference|false */
- public function createEntityReference(string $name) {}
-
- /** @return DOMProcessingInstruction|false */
- public function createProcessingInstruction(string $target, string $data = "") {}
-
- /** @return DOMText|false */
- public function createTextNode(string $data) {}
-
- /** @return ?DOMElement */
- public function getElementById(string $elementId) {}
-
- /** @return DOMNodeList */
- public function getElementsByTagName(string $tagName) {}
-
- /** @return DOMNodeList */
- public function getElementsByTagNameNS(string $namespaceURI, string $localName) {}
-
- /** @return DOMNode|false */
- public function importNode(DOMNode $importedNode, bool $deep = false) {}
-
- /** @return DOMDocument|bool */
- public function load(string $filename, int $options = 0) {}
-
- /** @return DOMDocument|bool */
- public function loadXML(string $source, int $options = 0) {}
-
- /** @return void */
- public function normalizeDocument() {}
-
- /** @return bool */
- public function registerNodeClass(string $baseclass, ?string $extendedclass) {}
-
- /** @return int|false */
- public function save(string $filename, int $options = 0) {}
-
-#if defined(LIBXML_HTML_ENABLED)
- /** @return DOMDocument|bool */
- public function loadHTML(string $source, int $options = 0) {}
-
- /** @return DOMDocument|bool */
- public function loadHTMLFile(string $filename, int $options = 0) {}
-
- /** @return string|false */
- public function saveHTML(?DOMNode $node = null) {}
-
- /** @return int|false */
- public function saveHTMLFile(string $filename) {}
-#endif
-
- /** @return string|false */
- public function saveXML(?DOMNode $node = null, int $options = 0) {}
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
- /** @return bool */
- public function schemaValidate(string $filename, int $flags = 0) {}
-
- /** @return bool */
- public function schemaValidateSource(string $source, int $flags = 0) {}
-
- /** @return bool */
- public function relaxNGValidate(string $filename) {}
-
- /** @return bool */
- public function relaxNGValidateSource(string $source) {}
-#endif
-
- /** @return bool */
- public function validate() {}
-
- /** @return int|false */
- public function xinclude(int $options = 0) {}
-
- /** @return DOMNode|false */
- public function adoptNode(DOMNode $source) {}
-}
-
-class DOMDocumentFragment implements DOMParentNode {
- public function __construct() {}
-
- /** @return bool */
- public function appendXML(string $data) {}
-}
-
-class DOMElement implements DOMParentNode, DOMChildNode {
- public function __construct(string $name, ?string $value = null, string $uri = "") {}
-
- /** @return string */
- public function getAttribute(string $name) {}
-
- /** @return string */
- public function getAttributeNS(?string $namespaceURI, string $localName) {}
-
- /** @return DOMAttr|DOMNamespaceNode|false */
- public function getAttributeNode(string $name) {}
-
- /** @return DOMAttr|DOMNamespaceNode|null */
- public function getAttributeNodeNS(?string $namespaceURI, string $localName) {}
-
- /** @return DOMNodeList */
- public function getElementsByTagName(string $name) {}
-
- /** @return DOMNodeList */
- public function getElementsByTagNameNS(string $namespaceURI, string $localName) {}
-
- /** @return bool */
- public function hasAttribute(string $name) {}
-
- /** @return bool */
- public function hasAttributeNS(?string $namespaceURI, string $localName) {}
-
- /** @return bool */
- public function removeAttribute(string $name) {}
-
- /** @return DOMAttr|false */
- public function removeAttributeNS(?string $namespaceURI, string $localName) {}
-
- /** @return DOMAttr|false */
- public function removeAttributeNode(string $name) {}
-
- /** @return DOMAttr|bool */
- public function setAttribute(string $name, string $value) {}
-
- /** @return null|false */
- public function setAttributeNS(?string $namespaceURI, string $localName, string $value) {}
-
- /** @return DOMAttr|null|false */
- public function setAttributeNode(DOMAttr $attr) {}
-
- /** @return DOMAttr|null|false */
- public function setAttributeNodeNS(DOMAttr $attr) {}
-
- /** @return void */
- public function setIdAttribute(string $name, bool $isId) {}
-
- /** @return void */
- public function setIdAttributeNS(string $namespaceURI, string $localName, bool $isId) {}
-
- /** @return void */
- public function setIdAttributeNode(DOMAttr $attr, bool $isId) {}
-}
-
-class DOMEntityReference {
- public function __construct(string $name) {}
-}
-
-class DOMImplementation {
- public function getFeature(string $feature, string $version) {}
-
- /** @return bool */
- public function hasFeature(string $feature, string $version) {}
-
- /** @return DOMDocumentType|false */
- public function createDocumentType(
- string $qualifiedName, string $publicId = "", string $systemId = "") {}
-
- /** @return DOMDocument|false */
- public function createDocument(string $namespaceURI = "", string $qualifiedName = "", DOMDocumentType $doctype = UNKNOWN) {}
-}
-
-class DOMNamedNodeMap {
- /** @return ?DOMNode */
- public function getNamedItem(string $name) {}
-
- /** @return ?DOMNode */
- public function getNamedItemNS(?string $namespaceURI, string $localName) {}
-
- /** @return ?DOMNode */
- public function item(int $index) {}
-
- /** @return int|false */
- public function count() {}
-}
-
-class DOMNodeList {
- /** @return int|false */
- public function count() {}
-
- /** @return ?DOMNode */
- public function item(int $index) {}
-}
-
-class DOMProcessingInstruction {
- public function __construct(string $name, string $value = "") {}
-}
-
-class DOMText {
- public function __construct(string $value = "") {}
-
- /** @return bool */
- public function isWhitespaceInElementContent() {}
-
- /** @return bool */
- public function isElementContentWhitespace() {}
-
- /** @return DOMText|false */
- public function splitText(int $offset) {}
-}
-
-#if defined(LIBXML_XPATH_ENABLED)
-class DOMXPath {
- public function __construct(DOMDocument $doc, bool $registerNodeNS = true) {}
-
- /** @return mixed */
- public function evaluate(string $expr, ?DOMNode $context = null, bool $registerNodeNS = true) {}
-
- /** @return mixed */
- public function query(string $expr, ?DOMNode $context = null, bool $registerNodeNS = true) {}
-
- /** @return bool */
- public function registerNamespace(string $prefix, string $namespaceURI) {}
-
- /** @param string|array $restrict */
- public function registerPhpFunctions($restrict = null) {}
-}
-#endif
-
class DOMDocumentType {
}
diff --git a/ext/dom/dom_arginfo.h b/ext/dom/dom_arginfo.h
index 07ddb19d7e..8faed43ab2 100644
--- a/ext/dom/dom_arginfo.h
+++ b/ext/dom/dom_arginfo.h
@@ -1,412 +1,5 @@
/* This is a generated file, edit the .stub.php file instead. */
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMChildNode_remove, 0, 0, IS_VOID, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMChildNode_before, 0, 0, IS_VOID, 0)
- ZEND_ARG_VARIADIC_INFO(0, nodes)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMChildNode_after arginfo_class_DOMChildNode_before
-
-#define arginfo_class_DOMChildNode_replaceWith arginfo_class_DOMChildNode_before
-
-#define arginfo_class_DOMParentNode_append arginfo_class_DOMChildNode_before
-
-#define arginfo_class_DOMParentNode_prepend arginfo_class_DOMChildNode_before
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_appendChild, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_C14N, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, exclusive, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, with_comments, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, xpath, IS_ARRAY, 1)
- ZEND_ARG_TYPE_INFO(0, ns_prefixes, IS_ARRAY, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_C14NFile, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, exclusive, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, with_comments, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, xpath, IS_ARRAY, 1)
- ZEND_ARG_TYPE_INFO(0, ns_prefixes, IS_ARRAY, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_cloneNode, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, recursive, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_getLineNo, 0, 0, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMNode_getNodePath arginfo_class_DOMNode_getLineNo
-
-#define arginfo_class_DOMNode_hasAttributes arginfo_class_DOMNode_getLineNo
-
-#define arginfo_class_DOMNode_hasChildNodes arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_insertBefore, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
- ZEND_ARG_OBJ_INFO(0, refChild, DOMNode, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_isDefaultNamespace, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_isSameNode, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, other, DOMNode, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_isSupported, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, feature, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_lookupNamespaceUri, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMNode_lookupPrefix arginfo_class_DOMNode_isDefaultNamespace
-
-#define arginfo_class_DOMNode_normalize arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_removeChild, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_replaceChild, 0, 0, 2)
- ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
- ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMAttr___construct, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMAttr_isId arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCdataSection___construct, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_appendData, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_substringData, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_insertData, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMCharacterData_deleteData arginfo_class_DOMCharacterData_substringData
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMCharacterData_replaceData, 0, 0, 3)
- ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMComment___construct, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument___construct, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createAttribute, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createAttributeNS, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMDocument_createCDATASection arginfo_class_DOMCharacterData_appendData
-
-#define arginfo_class_DOMDocument_createComment arginfo_class_DOMCharacterData_appendData
-
-#define arginfo_class_DOMDocument_createDocumentFragment arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createElement, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, tagName, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createElementNS, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMDocument_createEntityReference arginfo_class_DOMDocument_createAttribute
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_createProcessingInstruction, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMDocument_createTextNode arginfo_class_DOMCharacterData_appendData
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_getElementById, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, elementId, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_getElementsByTagName, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, tagName, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_getElementsByTagNameNS, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_importNode, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, importedNode, DOMNode, 0)
- ZEND_ARG_TYPE_INFO(0, deep, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_load, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_loadXML, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMDocument_normalizeDocument arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_registerNodeClass, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, baseclass, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, extendedclass, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMDocument_save arginfo_class_DOMDocument_load
-
-#if defined(LIBXML_HTML_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_loadHTML, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_HTML_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_loadHTMLFile, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_HTML_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_saveHTML, 0, 0, 0)
- ZEND_ARG_OBJ_INFO(0, node, DOMNode, 1)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_HTML_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_saveHTMLFile, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_saveXML, 0, 0, 0)
- ZEND_ARG_OBJ_INFO(0, node, DOMNode, 1)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_schemaValidate, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_schemaValidateSource, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_relaxNGValidate, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_SCHEMAS_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_relaxNGValidateSource, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#define arginfo_class_DOMDocument_validate arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_xinclude, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMDocument_adoptNode, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, source, DOMNode, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMDocumentFragment___construct arginfo_class_DOMNode_getLineNo
-
-#define arginfo_class_DOMDocumentFragment_appendXML arginfo_class_DOMCharacterData_appendData
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement___construct, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMElement_getAttribute arginfo_class_DOMDocument_createAttribute
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_getAttributeNS, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMElement_getAttributeNode arginfo_class_DOMDocument_createAttribute
-
-#define arginfo_class_DOMElement_getAttributeNodeNS arginfo_class_DOMElement_getAttributeNS
-
-#define arginfo_class_DOMElement_getElementsByTagName arginfo_class_DOMDocument_createAttribute
-
-#define arginfo_class_DOMElement_getElementsByTagNameNS arginfo_class_DOMDocument_getElementsByTagNameNS
-
-#define arginfo_class_DOMElement_hasAttribute arginfo_class_DOMDocument_createAttribute
-
-#define arginfo_class_DOMElement_hasAttributeNS arginfo_class_DOMElement_getAttributeNS
-
-#define arginfo_class_DOMElement_removeAttribute arginfo_class_DOMDocument_createAttribute
-
-#define arginfo_class_DOMElement_removeAttributeNS arginfo_class_DOMElement_getAttributeNS
-
-#define arginfo_class_DOMElement_removeAttributeNode arginfo_class_DOMDocument_createAttribute
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setAttribute, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setAttributeNS, 0, 0, 3)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setAttributeNode, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, attr, DOMAttr, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMElement_setAttributeNodeNS arginfo_class_DOMElement_setAttributeNode
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setIdAttribute, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, isId, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setIdAttributeNS, 0, 0, 3)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, isId, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setIdAttributeNode, 0, 0, 2)
- ZEND_ARG_OBJ_INFO(0, attr, DOMAttr, 0)
- ZEND_ARG_TYPE_INFO(0, isId, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMEntityReference___construct arginfo_class_DOMDocument_createAttribute
-
-#define arginfo_class_DOMImplementation_getFeature arginfo_class_DOMNode_isSupported
-
-#define arginfo_class_DOMImplementation_hasFeature arginfo_class_DOMNode_isSupported
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMImplementation_createDocumentType, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, publicId, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, systemId, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMImplementation_createDocument, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, doctype, DOMDocumentType, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMNamedNodeMap_getNamedItem arginfo_class_DOMDocument_createAttribute
-
-#define arginfo_class_DOMNamedNodeMap_getNamedItemNS arginfo_class_DOMElement_getAttributeNS
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNamedNodeMap_item, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_DOMNamedNodeMap_count arginfo_class_DOMNode_getLineNo
-
-#define arginfo_class_DOMNodeList_count arginfo_class_DOMNode_getLineNo
-
-#define arginfo_class_DOMNodeList_item arginfo_class_DOMNamedNodeMap_item
-
-#define arginfo_class_DOMProcessingInstruction___construct arginfo_class_DOMAttr___construct
-
-#define arginfo_class_DOMText___construct arginfo_class_DOMComment___construct
-
-#define arginfo_class_DOMText_isWhitespaceInElementContent arginfo_class_DOMNode_getLineNo
-
-#define arginfo_class_DOMText_isElementContentWhitespace arginfo_class_DOMNode_getLineNo
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMText_splitText, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#if defined(LIBXML_XPATH_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath___construct, 0, 0, 1)
- ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
- ZEND_ARG_TYPE_INFO(0, registerNodeNS, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_XPATH_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath_evaluate, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, expr, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, context, DOMNode, 1)
- ZEND_ARG_TYPE_INFO(0, registerNodeNS, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_XPATH_ENABLED)
-#define arginfo_class_DOMXPath_query arginfo_class_DOMXPath_evaluate
-#endif
-
-#if defined(LIBXML_XPATH_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath_registerNamespace, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if defined(LIBXML_XPATH_ENABLED)
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath_registerPhpFunctions, 0, 0, 0)
- ZEND_ARG_INFO(0, restrict)
-ZEND_END_ARG_INFO()
-#endif
-
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_dom_import_simplexml, 0, 1, DOMElement, 1)
ZEND_ARG_TYPE_INFO(0, node, IS_OBJECT, 0)
ZEND_END_ARG_INFO()
diff --git a/ext/dom/domimplementation.c b/ext/dom/domimplementation.c
index 97d1f98b92..51b946da2a 100644
--- a/ext/dom/domimplementation.c
+++ b/ext/dom/domimplementation.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "domimplementation_arginfo.h"
/*
* class DOMImplementation
diff --git a/ext/dom/domimplementation.stub.php b/ext/dom/domimplementation.stub.php
new file mode 100644
index 0000000000..c103d489b4
--- /dev/null
+++ b/ext/dom/domimplementation.stub.php
@@ -0,0 +1,16 @@
+<?php
+
+class DOMImplementation
+{
+ public function getFeature(string $feature, string $version) {}
+
+ /** @return bool */
+ public function hasFeature(string $feature, string $version) {}
+
+ /** @return DOMDocumentType|false */
+ public function createDocumentType(
+ string $qualifiedName, string $publicId = "", string $systemId = "") {}
+
+ /** @return DOMDocument|false */
+ public function createDocument(string $namespaceURI = "", string $qualifiedName = "", DOMDocumentType $doctype = UNKNOWN) {}
+}
diff --git a/ext/dom/domimplementation_arginfo.h b/ext/dom/domimplementation_arginfo.h
new file mode 100644
index 0000000000..1747bfb769
--- /dev/null
+++ b/ext/dom/domimplementation_arginfo.h
@@ -0,0 +1,20 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMImplementation_getFeature, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, feature, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMImplementation_hasFeature arginfo_class_DOMImplementation_getFeature
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMImplementation_createDocumentType, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, publicId, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, systemId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMImplementation_createDocument, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, doctype, DOMDocumentType, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/element.c b/ext/dom/element.c
index 6dfda8a85c..012d3a088b 100644
--- a/ext/dom/element.c
+++ b/ext/dom/element.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "element_arginfo.h"
/*
* class DOMElement extends DOMNode
@@ -51,12 +51,12 @@ const zend_function_entry php_dom_element_class_functions[] = { /* {{{ */
PHP_ME(domelement, setIdAttributeNS, arginfo_class_DOMElement_setIdAttributeNS, ZEND_ACC_PUBLIC)
PHP_ME(domelement, setIdAttributeNode, arginfo_class_DOMElement_setIdAttributeNode, ZEND_ACC_PUBLIC)
PHP_ME(domelement, __construct, arginfo_class_DOMElement___construct, ZEND_ACC_PUBLIC)
- PHP_ME(domelement, remove, arginfo_class_DOMChildNode_remove, ZEND_ACC_PUBLIC)
- PHP_ME(domelement, after, arginfo_class_DOMChildNode_after, ZEND_ACC_PUBLIC)
- PHP_ME(domelement, before, arginfo_class_DOMChildNode_before, ZEND_ACC_PUBLIC)
- PHP_ME(domelement, replaceWith, arginfo_class_DOMChildNode_replaceWith, ZEND_ACC_PUBLIC)
- PHP_ME(domelement, append, arginfo_class_DOMParentNode_append, ZEND_ACC_PUBLIC)
- PHP_ME(domelement, prepend, arginfo_class_DOMParentNode_prepend, ZEND_ACC_PUBLIC)
+ PHP_ME(domelement, remove, arginfo_class_DOMElement_remove, ZEND_ACC_PUBLIC)
+ PHP_ME(domelement, after, arginfo_class_DOMElement_after, ZEND_ACC_PUBLIC)
+ PHP_ME(domelement, before, arginfo_class_DOMElement_before, ZEND_ACC_PUBLIC)
+ PHP_ME(domelement, replaceWith, arginfo_class_DOMElement_replaceWith, ZEND_ACC_PUBLIC)
+ PHP_ME(domelement, append, arginfo_class_DOMElement_append, ZEND_ACC_PUBLIC)
+ PHP_ME(domelement, prepend, arginfo_class_DOMElement_prepend, ZEND_ACC_PUBLIC)
PHP_FE_END
};
/* }}} */
diff --git a/ext/dom/element.stub.php b/ext/dom/element.stub.php
new file mode 100644
index 0000000000..6cf959fb81
--- /dev/null
+++ b/ext/dom/element.stub.php
@@ -0,0 +1,77 @@
+<?php
+
+class DOMElement implements DOMParentNode, DOMChildNode
+{
+ public function __construct(string $name, ?string $value = null, string $uri = "") {}
+
+ /** @return string */
+ public function getAttribute(string $name) {}
+
+ /** @return string */
+ public function getAttributeNS(?string $namespaceURI, string $localName) {}
+
+ /** @return DOMAttr|DOMNamespaceNode|false */
+ public function getAttributeNode(string $name) {}
+
+ /** @return DOMAttr|DOMNamespaceNode|null */
+ public function getAttributeNodeNS(?string $namespaceURI, string $localName) {}
+
+ /** @return DOMNodeList */
+ public function getElementsByTagName(string $name) {}
+
+ /** @return DOMNodeList */
+ public function getElementsByTagNameNS(string $namespaceURI, string $localName) {}
+
+ /** @return bool */
+ public function hasAttribute(string $name) {}
+
+ /** @return bool */
+ public function hasAttributeNS(?string $namespaceURI, string $localName) {}
+
+ /** @return bool */
+ public function removeAttribute(string $name) {}
+
+ /** @return DOMAttr|false */
+ public function removeAttributeNS(?string $namespaceURI, string $localName) {}
+
+ /** @return DOMAttr|false */
+ public function removeAttributeNode(string $name) {}
+
+ /** @return DOMAttr|bool */
+ public function setAttribute(string $name, string $value) {}
+
+ /** @return null|false */
+ public function setAttributeNS(?string $namespaceURI, string $localName, string $value) {}
+
+ /** @return DOMAttr|null|false */
+ public function setAttributeNode(DOMAttr $attr) {}
+
+ /** @return DOMAttr|null|false */
+ public function setAttributeNodeNS(DOMAttr $attr) {}
+
+ /** @return void */
+ public function setIdAttribute(string $name, bool $isId) {}
+
+ /** @return void */
+ public function setIdAttributeNS(string $namespaceURI, string $localName, bool $isId) {}
+
+ /** @return void */
+ public function setIdAttributeNode(DOMAttr $attr, bool $isId) {}
+
+ public function remove(): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function before(... $nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function after(...$nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function replaceWith(...$nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function append(...$nodes): void {}
+
+ /** @var ...DOMNode|string $nodes */
+ public function prepend(...$nodes): void {}
+}
diff --git a/ext/dom/element_arginfo.h b/ext/dom/element_arginfo.h
new file mode 100644
index 0000000000..2fe19baa8f
--- /dev/null
+++ b/ext/dom/element_arginfo.h
@@ -0,0 +1,85 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_getAttribute, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_getAttributeNS, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMElement_getAttributeNode arginfo_class_DOMElement_getAttribute
+
+#define arginfo_class_DOMElement_getAttributeNodeNS arginfo_class_DOMElement_getAttributeNS
+
+#define arginfo_class_DOMElement_getElementsByTagName arginfo_class_DOMElement_getAttribute
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_getElementsByTagNameNS, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMElement_hasAttribute arginfo_class_DOMElement_getAttribute
+
+#define arginfo_class_DOMElement_hasAttributeNS arginfo_class_DOMElement_getAttributeNS
+
+#define arginfo_class_DOMElement_removeAttribute arginfo_class_DOMElement_getAttribute
+
+#define arginfo_class_DOMElement_removeAttributeNS arginfo_class_DOMElement_getAttributeNS
+
+#define arginfo_class_DOMElement_removeAttributeNode arginfo_class_DOMElement_getAttribute
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setAttribute, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setAttributeNS, 0, 0, 3)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setAttributeNode, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, attr, DOMAttr, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMElement_setAttributeNodeNS arginfo_class_DOMElement_setAttributeNode
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setIdAttribute, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, isId, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setIdAttributeNS, 0, 0, 3)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, isId, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMElement_setIdAttributeNode, 0, 0, 2)
+ ZEND_ARG_OBJ_INFO(0, attr, DOMAttr, 0)
+ ZEND_ARG_TYPE_INFO(0, isId, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMElement_remove, 0, 0, IS_VOID, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMElement_before, 0, 0, IS_VOID, 0)
+ ZEND_ARG_VARIADIC_INFO(0, nodes)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMElement_after arginfo_class_DOMElement_before
+
+#define arginfo_class_DOMElement_replaceWith arginfo_class_DOMElement_before
+
+#define arginfo_class_DOMElement_append arginfo_class_DOMElement_before
+
+#define arginfo_class_DOMElement_prepend arginfo_class_DOMElement_before
diff --git a/ext/dom/entityreference.c b/ext/dom/entityreference.c
index ac5258ff2f..a050b474a3 100644
--- a/ext/dom/entityreference.c
+++ b/ext/dom/entityreference.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "entityreference_arginfo.h"
/*
* class DOMEntityReference extends DOMNode
diff --git a/ext/dom/entityreference.stub.php b/ext/dom/entityreference.stub.php
new file mode 100644
index 0000000000..ff56fafe08
--- /dev/null
+++ b/ext/dom/entityreference.stub.php
@@ -0,0 +1,6 @@
+<?php
+
+class DOMEntityReference
+{
+ public function __construct(string $name) {}
+}
diff --git a/ext/dom/entityreference_arginfo.h b/ext/dom/entityreference_arginfo.h
new file mode 100644
index 0000000000..d09fe3cf29
--- /dev/null
+++ b/ext/dom/entityreference_arginfo.h
@@ -0,0 +1,5 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMEntityReference___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/namednodemap.c b/ext/dom/namednodemap.c
index 33048fd09b..3e06edd827 100644
--- a/ext/dom/namednodemap.c
+++ b/ext/dom/namednodemap.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "namednodemap_arginfo.h"
/*
* class DOMNamedNodeMap
diff --git a/ext/dom/namednodemap.stub.php b/ext/dom/namednodemap.stub.php
new file mode 100644
index 0000000000..3884e99519
--- /dev/null
+++ b/ext/dom/namednodemap.stub.php
@@ -0,0 +1,16 @@
+<?php
+
+class DOMNamedNodeMap
+{
+ /** @return ?DOMNode */
+ public function getNamedItem(string $name) {}
+
+ /** @return ?DOMNode */
+ public function getNamedItemNS(?string $namespaceURI, string $localName) {}
+
+ /** @return ?DOMNode */
+ public function item(int $index) {}
+
+ /** @return int|false */
+ public function count() {}
+}
diff --git a/ext/dom/namednodemap_arginfo.h b/ext/dom/namednodemap_arginfo.h
new file mode 100644
index 0000000000..c28c433392
--- /dev/null
+++ b/ext/dom/namednodemap_arginfo.h
@@ -0,0 +1,17 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNamedNodeMap_getNamedItem, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNamedNodeMap_getNamedItemNS, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, localName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNamedNodeMap_item, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNamedNodeMap_count, 0, 0, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/node.c b/ext/dom/node.c
index 9029478e15..6a3db3b1f5 100644
--- a/ext/dom/node.c
+++ b/ext/dom/node.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "node_arginfo.h"
/*
* class DOMNode
diff --git a/ext/dom/node.stub.php b/ext/dom/node.stub.php
new file mode 100644
index 0000000000..50b79a04d3
--- /dev/null
+++ b/ext/dom/node.stub.php
@@ -0,0 +1,69 @@
+<?php
+
+interface DOMChildNode
+{
+ public function remove(): void;
+
+ /** @var ...DOMNode|string $nodes */
+ public function before(... $nodes): void;
+
+ /** @var ...DOMNode|string $nodes */
+ public function after(...$nodes): void;
+
+ /** @var ...DOMNode|string $nodes */
+ public function replaceWith(...$nodes): void;
+}
+
+class DOMNode
+{
+ /** @return DOMNode|false */
+ public function appendChild(DOMNode $newChild) {}
+
+ /** @return string|false */
+ public function C14N(bool $exclusive = false, bool $with_comments = false, ?array $xpath = null, ?array $ns_prefixes = null) {}
+
+ /** @return int|false */
+ public function C14NFile(string $uri, bool $exclusive = false, bool $with_comments = false, ?array $xpath = null, ?array $ns_prefixes = null) {}
+
+ /** @return DOMNode|false */
+ public function cloneNode(bool $recursive = false) {}
+
+ /** @return int */
+ public function getLineNo() {}
+
+ /** @return ?string */
+ public function getNodePath() {}
+
+ /** @return bool */
+ public function hasAttributes() {}
+
+ /** @return bool */
+ public function hasChildNodes() {}
+
+ /** @return DOMNode|false */
+ public function insertBefore(DOMNode $newChild, ?DOMNode $refChild = null) {}
+
+ /** @return bool */
+ public function isDefaultNamespace(string $namespaceURI) {}
+
+ /** @return bool */
+ public function isSameNode(DOMNode $other) {}
+
+ /** @return bool */
+ public function isSupported(string $feature, string $version) {}
+
+ /** @return ?string */
+ public function lookupNamespaceUri(?string $prefix) {}
+
+ /** @return ?string */
+ public function lookupPrefix(string $namespaceURI) {}
+
+ /** @return void */
+ public function normalize() {}
+
+ /** @return DOMNode|false */
+ public function removeChild(DOMNode $oldChild) {}
+
+ /** @return DOMNode|false */
+ public function replaceChild(DOMNode $newChild, DOMNode $oldChild) {}
+}
diff --git a/ext/dom/node_arginfo.h b/ext/dom/node_arginfo.h
new file mode 100644
index 0000000000..928c289d51
--- /dev/null
+++ b/ext/dom/node_arginfo.h
@@ -0,0 +1,79 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMChildNode_remove, 0, 0, IS_VOID, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMChildNode_before, 0, 0, IS_VOID, 0)
+ ZEND_ARG_VARIADIC_INFO(0, nodes)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMChildNode_after arginfo_class_DOMChildNode_before
+
+#define arginfo_class_DOMChildNode_replaceWith arginfo_class_DOMChildNode_before
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_appendChild, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_C14N, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, exclusive, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, with_comments, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, xpath, IS_ARRAY, 1)
+ ZEND_ARG_TYPE_INFO(0, ns_prefixes, IS_ARRAY, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_C14NFile, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, exclusive, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, with_comments, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, xpath, IS_ARRAY, 1)
+ ZEND_ARG_TYPE_INFO(0, ns_prefixes, IS_ARRAY, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_cloneNode, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, recursive, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_getLineNo, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMNode_getNodePath arginfo_class_DOMNode_getLineNo
+
+#define arginfo_class_DOMNode_hasAttributes arginfo_class_DOMNode_getLineNo
+
+#define arginfo_class_DOMNode_hasChildNodes arginfo_class_DOMNode_getLineNo
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_insertBefore, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
+ ZEND_ARG_OBJ_INFO(0, refChild, DOMNode, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_isDefaultNamespace, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_isSameNode, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, other, DOMNode, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_isSupported, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, feature, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_lookupNamespaceUri, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMNode_lookupPrefix arginfo_class_DOMNode_isDefaultNamespace
+
+#define arginfo_class_DOMNode_normalize arginfo_class_DOMNode_getLineNo
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_removeChild, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNode_replaceChild, 0, 0, 2)
+ ZEND_ARG_OBJ_INFO(0, newChild, DOMNode, 0)
+ ZEND_ARG_OBJ_INFO(0, oldChild, DOMNode, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/nodelist.c b/ext/dom/nodelist.c
index 21addd2d18..65f9887337 100644
--- a/ext/dom/nodelist.c
+++ b/ext/dom/nodelist.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "nodelist_arginfo.h"
/*
* class DOMNodeList
@@ -37,7 +37,6 @@ const zend_function_entry php_dom_nodelist_class_functions[] = {
PHP_FE_END
};
-
/* {{{ length int
readonly=yes
URL: http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/DOM3-Core.html#ID-203510337
diff --git a/ext/dom/nodelist.stub.php b/ext/dom/nodelist.stub.php
new file mode 100644
index 0000000000..e7e2b7cce3
--- /dev/null
+++ b/ext/dom/nodelist.stub.php
@@ -0,0 +1,10 @@
+<?php
+
+class DOMNodeList
+{
+ /** @return int|false */
+ public function count() {}
+
+ /** @return ?DOMNode */
+ public function item(int $index) {}
+}
diff --git a/ext/dom/nodelist_arginfo.h b/ext/dom/nodelist_arginfo.h
new file mode 100644
index 0000000000..19afdbadca
--- /dev/null
+++ b/ext/dom/nodelist_arginfo.h
@@ -0,0 +1,8 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNodeList_count, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMNodeList_item, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/parentnode.c b/ext/dom/parentnode.c
index 0e7b49ef4e..11dab851b7 100644
--- a/ext/dom/parentnode.c
+++ b/ext/dom/parentnode.c
@@ -23,8 +23,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
-
+#include "parentnode_arginfo.h"
/* {{{ DOMParentNode methods */
const zend_function_entry php_dom_parent_node_class_functions[] = { /* {{{ */
diff --git a/ext/dom/parentnode.stub.php b/ext/dom/parentnode.stub.php
new file mode 100644
index 0000000000..fb2873d024
--- /dev/null
+++ b/ext/dom/parentnode.stub.php
@@ -0,0 +1,10 @@
+<?php
+
+interface DOMParentNode
+{
+ /** @var ...DOMNode|string $nodes */
+ public function append(...$nodes): void;
+
+ /** @var ...DOMNode|string $nodes */
+ public function prepend(...$nodes): void;
+}
diff --git a/ext/dom/parentnode_arginfo.h b/ext/dom/parentnode_arginfo.h
new file mode 100644
index 0000000000..3bceebeca7
--- /dev/null
+++ b/ext/dom/parentnode_arginfo.h
@@ -0,0 +1,7 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_DOMParentNode_append, 0, 0, IS_VOID, 0)
+ ZEND_ARG_VARIADIC_INFO(0, nodes)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMParentNode_prepend arginfo_class_DOMParentNode_append
diff --git a/ext/dom/processinginstruction.c b/ext/dom/processinginstruction.c
index 8e250f1301..8a6e8fe33e 100644
--- a/ext/dom/processinginstruction.c
+++ b/ext/dom/processinginstruction.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "processinginstruction_arginfo.h"
/*
* class DOMProcessingInstruction extends DOMNode
diff --git a/ext/dom/processinginstruction.stub.php b/ext/dom/processinginstruction.stub.php
new file mode 100644
index 0000000000..41108ef7fb
--- /dev/null
+++ b/ext/dom/processinginstruction.stub.php
@@ -0,0 +1,6 @@
+<?php
+
+class DOMProcessingInstruction
+{
+ public function __construct(string $name, string $value = "") {}
+}
diff --git a/ext/dom/processinginstruction_arginfo.h b/ext/dom/processinginstruction_arginfo.h
new file mode 100644
index 0000000000..4cddede82e
--- /dev/null
+++ b/ext/dom/processinginstruction_arginfo.h
@@ -0,0 +1,6 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMProcessingInstruction___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/text.c b/ext/dom/text.c
index a20097a36e..103d94dff8 100644
--- a/ext/dom/text.c
+++ b/ext/dom/text.c
@@ -23,7 +23,7 @@
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
#include "dom_ce.h"
-#include "dom_arginfo.h"
+#include "text_arginfo.h"
/*
* class DOMText extends DOMCharacterData
diff --git a/ext/dom/text.stub.php b/ext/dom/text.stub.php
new file mode 100644
index 0000000000..f45d23f3a5
--- /dev/null
+++ b/ext/dom/text.stub.php
@@ -0,0 +1,14 @@
+<?php
+
+class DOMText {
+ public function __construct(string $value = "") {}
+
+ /** @return bool */
+ public function isWhitespaceInElementContent() {}
+
+ /** @return bool */
+ public function isElementContentWhitespace() {}
+
+ /** @return DOMText|false */
+ public function splitText(int $offset) {}
+}
diff --git a/ext/dom/text_arginfo.h b/ext/dom/text_arginfo.h
new file mode 100644
index 0000000000..2de2464843
--- /dev/null
+++ b/ext/dom/text_arginfo.h
@@ -0,0 +1,14 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMText___construct, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMText_isWhitespaceInElementContent, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_DOMText_isElementContentWhitespace arginfo_class_DOMText_isWhitespaceInElementContent
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMText_splitText, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/dom/xpath.c b/ext/dom/xpath.c
index 718b433b40..85467b815d 100644
--- a/ext/dom/xpath.c
+++ b/ext/dom/xpath.c
@@ -22,7 +22,7 @@
#include "php.h"
#if HAVE_LIBXML && HAVE_DOM
#include "php_dom.h"
-#include "dom_arginfo.h"
+#include "xpath_arginfo.h"
#define PHP_DOM_XPATH_QUERY 0
#define PHP_DOM_XPATH_EVALUATE 1
diff --git a/ext/dom/xpath.stub.php b/ext/dom/xpath.stub.php
new file mode 100644
index 0000000000..167c5a94ef
--- /dev/null
+++ b/ext/dom/xpath.stub.php
@@ -0,0 +1,20 @@
+<?php
+
+#if defined(LIBXML_XPATH_ENABLED)
+class DOMXPath
+{
+ public function __construct(DOMDocument $doc, bool $registerNodeNS = true) {}
+
+ /** @return mixed */
+ public function evaluate(string $expr, ?DOMNode $context = null, bool $registerNodeNS = true) {}
+
+ /** @return mixed */
+ public function query(string $expr, ?DOMNode $context = null, bool $registerNodeNS = true) {}
+
+ /** @return bool */
+ public function registerNamespace(string $prefix, string $namespaceURI) {}
+
+ /** @param string|array $restrict */
+ public function registerPhpFunctions($restrict = null) {}
+}
+#endif
diff --git a/ext/dom/xpath_arginfo.h b/ext/dom/xpath_arginfo.h
new file mode 100644
index 0000000000..64a408be99
--- /dev/null
+++ b/ext/dom/xpath_arginfo.h
@@ -0,0 +1,33 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+#if defined(LIBXML_XPATH_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath___construct, 0, 0, 1)
+ ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+ ZEND_ARG_TYPE_INFO(0, registerNodeNS, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath_evaluate, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, expr, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, context, DOMNode, 1)
+ ZEND_ARG_TYPE_INFO(0, registerNodeNS, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+#define arginfo_class_DOMXPath_query arginfo_class_DOMXPath_evaluate
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath_registerNamespace, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if defined(LIBXML_XPATH_ENABLED)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_DOMXPath_registerPhpFunctions, 0, 0, 0)
+ ZEND_ARG_INFO(0, restrict)
+ZEND_END_ARG_INFO()
+#endif
diff --git a/ext/intl/calendar/calendar.stub.php b/ext/intl/calendar/calendar.stub.php
index 267035e268..85001da58c 100644
--- a/ext/intl/calendar/calendar.stub.php
+++ b/ext/intl/calendar/calendar.stub.php
@@ -171,108 +171,3 @@ class IntlGregorianCalendar extends IntlCalendar
/** @return bool */
public function isLeapYear(int $year) {}
}
-
-/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
-function intlcal_create_instance($timeZone = null, ?string $locale = null): IntlCalendar|null {}
-
-function intlcal_get_keyword_values_for_locale(string $key, string $locale, bool $commonlyUsed): IntlIterator|false {}
-
-function intlcal_get_now(): float {}
-
-function intlcal_get_available_locales(): array {}
-
-function intlcal_get(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_time(IntlCalendar $calendar): float|false {}
-
-function intlcal_set_time(IntlCalendar $calendar, float $date): bool {}
-
-function intlcal_add(IntlCalendar $calendar, int $field, int $amount): bool {}
-
-/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
-function intlcal_set_time_zone(IntlCalendar $calendar, $timeZone): bool {}
-
-function intlcal_after(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
-
-function intlcal_before(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
-
-function intlcal_set(IntlCalendar $calendar, int $year, int $month, int $dayOfMonth = UNKNOWN, $hour = UNKNOWN, int $minute = UNKNOWN, int $second = UNKNOWN): bool {}
-
-/** @param int|bool $amountOrUpOrDown */
-function intlcal_roll(IntlCalendar $calendar, int $field, $amountOrUpOrDown): bool {}
-
-function intlcal_clear(IntlCalendar $calendar, ?int $field = null): bool {}
-
-function intlcal_field_difference(IntlCalendar $calendar, float $when, int $field): int|false {}
-
-function intlcal_get_actual_maximum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_actual_minimum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_day_of_week_type(IntlCalendar $calendar, int $dayOfWeek): int|false {}
-
-function intlcal_get_first_day_of_week(IntlCalendar $calendar): int|false {}
-
-function intlcal_greatest_minimum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_least_maximum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_greatest_minimum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_locale(IntlCalendar $calendar, int $localeType): string|false {}
-
-function intlcal_get_maximum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_minimal_days_in_first_week(IntlCalendar $calendar): int|false {}
-
-function intlcal_set_minimal_days_in_first_week(IntlCalendar $calendar, int $numberOfDays): bool {}
-
-function intlcal_get_minimum(IntlCalendar $calendar, int $field): int|false {}
-
-function intlcal_get_time_zone(IntlCalendar $calendar): IntlTimeZone|false {}
-
-function intlcal_get_type(IntlCalendar $calendar): string {}
-
-function intlcal_get_weekend_transition(IntlCalendar $calendar, int $dayOfWeek): int|false {}
-
-function intlcal_in_daylight_time(IntlCalendar $calendar): bool {}
-
-function intlcal_is_lenient(IntlCalendar $calendar): bool {}
-
-function intlcal_is_set(IntlCalendar $calendar, int $field): bool {}
-
-function intlcal_is_equivalent_to(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
-
-function intlcal_is_weekend(IntlCalendar $calendar, ?float $date = null): bool {}
-
-function intlcal_set_first_day_of_week(IntlCalendar $calendar, int $dayOfWeek): bool {}
-
-function intlcal_set_lenient(IntlCalendar $calendar, bool $isLenient): bool {}
-
-function intlcal_get_repeated_wall_time_option(IntlCalendar $calendar): int {}
-
-function intlcal_equals(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
-
-function intlcal_get_skipped_wall_time_option(IntlCalendar $calendar): int {}
-
-function intlcal_set_repeated_wall_time_option(IntlCalendar $calendar, int $wallTimeOption): bool {}
-
-function intlcal_set_skipped_wall_time_option(IntlCalendar $calendar, int $wallTimeOption): bool {}
-
-/** @param DateTime|string $dateTime */
-function intlcal_from_date_time($dateTime, ?string $locale = null): ?IntlCalendar {}
-
-function intlcal_to_date_time(IntlCalendar $calendar): DateTime|false {}
-
-function intlcal_get_error_code(IntlCalendar $calendar): int|false {}
-
-function intlcal_get_error_message(IntlCalendar $calendar): string|false {}
-
-/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
-function intlgregcal_create_instance($timeZone = null, ?string $locale = null): ?IntlGregorianCalendar {}
-
-function intlgregcal_set_gregorian_change(IntlGregorianCalendar $calendar, float $change): bool {}
-
-function intlgregcal_get_gregorian_change(IntlGregorianCalendar $calendar): float|false {}
-
-function intlgregcal_is_leap_year(IntlGregorianCalendar $calendar, int $year): bool {}
diff --git a/ext/intl/calendar/calendar_arginfo.h b/ext/intl/calendar/calendar_arginfo.h
index efe89030ec..0d3e5da541 100644
--- a/ext/intl/calendar/calendar_arginfo.h
+++ b/ext/intl/calendar/calendar_arginfo.h
@@ -154,201 +154,3 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlGregorianCalendar_isLeapYear, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1)
- ZEND_ARG_INFO(0, timeZone)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intlcal_get_keyword_values_for_locale, 0, 3, IntlIterator, MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, commonlyUsed, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_now, 0, 0, IS_DOUBLE, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_available_locales, 0, 0, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_time, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_time, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_add, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, amount, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_time_zone, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_INFO(0, timeZone)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_after, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendarObject, IntlCalendar, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_before arginfo_intlcal_after
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, dayOfMonth, IS_LONG, 0)
- ZEND_ARG_INFO(0, hour)
- ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, second, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_roll, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
- ZEND_ARG_INFO(0, amountOrUpOrDown)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_clear, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_field_difference, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, when, IS_DOUBLE, 0)
- ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_get_actual_maximum arginfo_intlcal_get
-
-#define arginfo_intlcal_get_actual_minimum arginfo_intlcal_get
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_day_of_week_type, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, dayOfWeek, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_first_day_of_week, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_greatest_minimum arginfo_intlcal_get
-
-#define arginfo_intlcal_get_least_maximum arginfo_intlcal_get
-
-#define arginfo_intlcal_get_greatest_minimum arginfo_intlcal_get
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_locale, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, localeType, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_get_maximum arginfo_intlcal_get
-
-#define arginfo_intlcal_get_minimal_days_in_first_week arginfo_intlcal_get_first_day_of_week
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_minimal_days_in_first_week, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, numberOfDays, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_get_minimum arginfo_intlcal_get
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intlcal_get_time_zone, 0, 1, IntlTimeZone, MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_type, 0, 1, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_get_weekend_transition arginfo_intlcal_get_day_of_week_type
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_in_daylight_time, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_is_lenient arginfo_intlcal_in_daylight_time
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_is_set, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_is_equivalent_to arginfo_intlcal_after
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_is_weekend, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_first_day_of_week, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, dayOfWeek, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_lenient, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, isLenient, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_repeated_wall_time_option, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_equals arginfo_intlcal_after
-
-#define arginfo_intlcal_get_skipped_wall_time_option arginfo_intlcal_get_repeated_wall_time_option
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_repeated_wall_time_option, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, wallTimeOption, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_set_skipped_wall_time_option arginfo_intlcal_set_repeated_wall_time_option
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_from_date_time, 0, 1, IntlCalendar, 1)
- ZEND_ARG_INFO(0, dateTime)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intlcal_to_date_time, 0, 1, DateTime, MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intlcal_get_error_code arginfo_intlcal_get_first_day_of_week
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlgregcal_create_instance, 0, 0, IntlGregorianCalendar, 1)
- ZEND_ARG_INFO(0, timeZone)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlgregcal_set_gregorian_change, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlGregorianCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, change, IS_DOUBLE, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlgregcal_get_gregorian_change, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlGregorianCalendar, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlgregcal_is_leap_year, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, calendar, IntlGregorianCalendar, 0)
- ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/collator/collator.stub.php b/ext/intl/collator/collator.stub.php
index a7ade53b2a..e3d7489fc5 100644
--- a/ext/intl/collator/collator.stub.php
+++ b/ext/intl/collator/collator.stub.php
@@ -43,29 +43,3 @@ class Collator
/** @return string|false */
public function getSortKey(string $str) {}
}
-
-function collator_create(string $locale): ?Collator {}
-
-function collator_compare(Collator $object, string $str1, string $str2): int|false {}
-
-function collator_get_attribute(Collator $object, int $attr): int|false {}
-
-function collator_set_attribute(Collator $object, int $attr, int $val): bool {}
-
-function collator_get_strength(Collator $object): int {}
-
-function collator_set_strength(Collator $object, int $strength): bool {}
-
-function collator_sort(Collator $object, array &$arr, int $sort_flag = Collator::SORT_REGULAR): bool {}
-
-function collator_sort_with_sort_keys(Collator $object, array &$arr): bool {}
-
-function collator_asort(Collator $object, array &$arr, int $sort_flag = Collator::SORT_REGULAR): bool {}
-
-function collator_get_locale(Collator $object, int $type): string|false {}
-
-function collator_get_error_code(Collator $object): int|false {}
-
-function collator_get_error_message(Collator $object): string|false {}
-
-function collator_get_sort_key(Collator $object, string $str): string|false {}
diff --git a/ext/intl/collator/collator_arginfo.h b/ext/intl/collator/collator_arginfo.h
index ba1a18a254..f96cb52f0a 100644
--- a/ext/intl/collator/collator_arginfo.h
+++ b/ext/intl/collator/collator_arginfo.h
@@ -52,64 +52,3 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Collator_getSortKey, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_collator_create, 0, 1, Collator, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_compare, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_attribute, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_attribute, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, val, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_get_strength, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_strength, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, strength, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
- ZEND_ARG_TYPE_INFO(0, sort_flag, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort_with_sort_keys, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_collator_asort arginfo_collator_sort
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_locale, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_sort_key, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
- ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/collator/collator_functions_arginfo.h b/ext/intl/collator/collator_functions_arginfo.h
new file mode 100644
index 0000000000..4a863d7476
--- /dev/null
+++ b/ext/intl/collator/collator_functions_arginfo.h
@@ -0,0 +1,62 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_collator_create, 0, 1, Collator, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_compare, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_attribute, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_attribute, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, val, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_get_strength, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_strength, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, strength, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
+ ZEND_ARG_TYPE_INFO(0, sort_flag, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort_with_sort_keys, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_collator_asort arginfo_collator_sort
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_locale, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_sort_key, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/intl/common/common.stub.php b/ext/intl/common/common.stub.php
index 61a977f660..5d7ef874d1 100644
--- a/ext/intl/common/common.stub.php
+++ b/ext/intl/common/common.stub.php
@@ -12,11 +12,3 @@ class IntlIterator implements Iterator
public function valid() {}
}
-
-function intl_get_error_code(): int {}
-
-function intl_get_error_message(): string {}
-
-function intl_is_failure(int $error_code): bool {}
-
-function intl_error_name(int $error_code): string {}
diff --git a/ext/intl/common/common_arginfo.h b/ext/intl/common/common_arginfo.h
index 6d1b836354..156653790f 100644
--- a/ext/intl/common/common_arginfo.h
+++ b/ext/intl/common/common_arginfo.h
@@ -10,17 +10,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_IntlIterator_rewind arginfo_class_IntlIterator_current
#define arginfo_class_IntlIterator_valid arginfo_class_IntlIterator_current
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_get_error_code, 0, 0, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_get_error_message, 0, 0, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_is_failure, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_error_name, 0, 1, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/dateformat/dateformat.stub.php b/ext/intl/dateformat/dateformat.stub.php
index adf8f463f8..615eafd6e2 100644
--- a/ext/intl/dateformat/dateformat.stub.php
+++ b/ext/intl/dateformat/dateformat.stub.php
@@ -85,54 +85,3 @@ class IntlDateFormatter
/** @return string */
public function getErrorMessage() {}
}
-
-/**
- * @param IntlTimeZone|DateTimeZone|string|null $timezone
- * @param IntlCalendar|int|null $calendar
- */
-function datefmt_create(?string $locale, int $datetype, int $timetype, $timezone = null, $calendar = null, string $pattern = ""): ?IntlDateFormatter {}
-
-function datefmt_get_datetype(IntlDateFormatter $df): int|false {}
-
-function datefmt_get_timetype(IntlDateFormatter $df): int|false {}
-
-function datefmt_get_calendar(IntlDateFormatter $df): int|false {}
-
-/** @param IntlCalendar|int|null $which */
-function datefmt_set_calendar(IntlDateFormatter $df, $which): bool {}
-
-function datefmt_get_timezone_id(IntlDateFormatter $df): string|false {}
-
-function datefmt_get_calendar_object(IntlDateFormatter $df): IntlCalendar|false|null {}
-
-function datefmt_get_timezone(IntlDateFormatter $df): IntlTimeZone|false {}
-
-/** @param IntlTimeZone|DateTimeZone|string|null $zone */
-function datefmt_set_timezone(IntlDateFormatter $df, $zone): ?bool {}
-
-function datefmt_set_pattern(IntlDateFormatter $df, string $pattern): bool {}
-
-function datefmt_get_pattern(IntlDateFormatter $df): string|false {}
-
-function datefmt_get_locale(IntlDateFormatter $df, int $which = UNKNOWN): string|false {}
-
-function datefmt_set_lenient(IntlDateFormatter $df, bool $lenient): void {}
-
-function datefmt_is_lenient(IntlDateFormatter $df): bool {}
-
-/** @param mixed $value */
-function datefmt_format(IntlDateFormatter $df, $value): string|false {}
-
-/**
- * @param IntlCalendar|DateTimeInterface $object
- * @param array|int|string|null $format
- */
-function datefmt_format_object($object, $format = null, ?string $locale = null): string|false {}
-
-function datefmt_parse(IntlDateFormatter $df, string $value, &$position = null): int|float|false {}
-
-function datefmt_localtime(IntlDateFormatter $df, string $value, &$position = null): array|false {}
-
-function datefmt_get_error_code(IntlDateFormatter $df): int {}
-
-function datefmt_get_error_message(IntlDateFormatter $df): string {}
diff --git a/ext/intl/dateformat/dateformat_arginfo.h b/ext/intl/dateformat/dateformat_arginfo.h
index 6d86c9cde8..54e673410d 100644
--- a/ext/intl/dateformat/dateformat_arginfo.h
+++ b/ext/intl/dateformat/dateformat_arginfo.h
@@ -68,94 +68,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_IntlDateFormatter_getErrorCode arginfo_class_IntlDateFormatter_getDateType
#define arginfo_class_IntlDateFormatter_getErrorMessage arginfo_class_IntlDateFormatter_getDateType
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_datefmt_create, 0, 3, IntlDateFormatter, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, datetype, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, timetype, IS_LONG, 0)
- ZEND_ARG_INFO(0, timezone)
- ZEND_ARG_INFO(0, calendar)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_get_datetype, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_datefmt_get_timetype arginfo_datefmt_get_datetype
-
-#define arginfo_datefmt_get_calendar arginfo_datefmt_get_datetype
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_calendar, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_INFO(0, which)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_get_timezone_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_datefmt_get_calendar_object, 0, 1, IntlCalendar, MAY_BE_FALSE|MAY_BE_NULL)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_datefmt_get_timezone, 0, 1, IntlTimeZone, MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_timezone, 0, 2, _IS_BOOL, 1)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_INFO(0, zone)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_pattern, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_datefmt_get_pattern arginfo_datefmt_get_timezone_id
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_get_locale, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_lenient, 0, 2, IS_VOID, 0)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, lenient, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_is_lenient, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_format_object, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_INFO(0, object)
- ZEND_ARG_INFO(0, format)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_parse, 0, 2, MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
- ZEND_ARG_INFO(1, position)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_localtime, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
- ZEND_ARG_INFO(1, position)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_get_error_code, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_get_error_message, 0, 1, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/formatter/formatter.stub.php b/ext/intl/formatter/formatter.stub.php
index 2edc28d6fd..6badb6e87d 100644
--- a/ext/intl/formatter/formatter.stub.php
+++ b/ext/intl/formatter/formatter.stub.php
@@ -55,36 +55,3 @@ class NumberFormatter
/** @return string */
public function getErrorMessage() {}
}
-
-function numfmt_create(string $locale, int $style, string $pattern = ""): ?NumberFormatter {}
-
-function numfmt_format(NumberFormatter $fmt, int|float $value, int $type = NumberFormatter::TYPE_DEFAULT): string|false {}
-
-function numfmt_parse(NumberFormatter $fmt, string $value, int $type = NumberFormatter::TYPE_DOUBLE, &$position = null): int|float|false {}
-
-function numfmt_format_currency(NumberFormatter $fmt, float $value, string $currency): string|false {}
-
-function numfmt_parse_currency(NumberFormatter $fmt, string $value, &$currency, &$position = null): float|false {}
-
-/** @param int|float $value */
-function numfmt_set_attribute(NumberFormatter $fmt, int $attr, $value): bool {}
-
-function numfmt_get_attribute(NumberFormatter $fmt, int $attr): int|double|false {}
-
-function numfmt_set_text_attribute(NumberFormatter $fmt, int $attr, string $value): bool {}
-
-function numfmt_get_text_attribute(NumberFormatter $fmt, int $attr): string|false {}
-
-function numfmt_set_symbol(NumberFormatter $fmt, int $attr, string $value): bool {}
-
-function numfmt_get_symbol(NumberFormatter $fmt, int $attr): string|false {}
-
-function numfmt_set_pattern(NumberFormatter $fmt, string $pattern): bool {}
-
-function numfmt_get_pattern(NumberFormatter $fmt): string|false {}
-
-function numfmt_get_locale(NumberFormatter $fmt, int $type = ULOC_ACTUAL_LOCALE): string|false {}
-
-function numfmt_get_error_code(NumberFormatter $fmt): int {}
-
-function numfmt_get_error_message(NumberFormatter $fmt): string {}
diff --git a/ext/intl/formatter/formatter_arginfo.h b/ext/intl/formatter/formatter_arginfo.h
index eced76d82b..d684a4ce2a 100644
--- a/ext/intl/formatter/formatter_arginfo.h
+++ b/ext/intl/formatter/formatter_arginfo.h
@@ -64,83 +64,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_NumberFormatter_getErrorCode arginfo_class_NumberFormatter_getPattern
#define arginfo_class_NumberFormatter_getErrorMessage arginfo_class_NumberFormatter_getPattern
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_numfmt_create, 0, 2, NumberFormatter, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_MASK(0, value, MAY_BE_LONG|MAY_BE_DOUBLE)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_parse, 0, 2, MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
- ZEND_ARG_INFO(1, position)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_format_currency, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0)
- ZEND_ARG_TYPE_INFO(0, currency, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_parse_currency, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
- ZEND_ARG_INFO(1, currency)
- ZEND_ARG_INFO(1, position)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_attribute, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_numfmt_get_attribute, 0, 2, double, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_text_attribute, 0, 3, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_text_attribute, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_numfmt_set_symbol arginfo_numfmt_set_text_attribute
-
-#define arginfo_numfmt_get_symbol arginfo_numfmt_get_text_attribute
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_pattern, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_pattern, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_locale, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_get_error_code, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_get_error_message, 0, 1, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/formatter/formatter_functions_arginfo.h b/ext/intl/formatter/formatter_functions_arginfo.h
new file mode 100644
index 0000000000..ff87c8d17d
--- /dev/null
+++ b/ext/intl/formatter/formatter_functions_arginfo.h
@@ -0,0 +1,81 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_numfmt_create, 0, 2, NumberFormatter, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_MASK(0, value, MAY_BE_LONG|MAY_BE_DOUBLE)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_parse, 0, 2, MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ ZEND_ARG_INFO(1, position)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_format_currency, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0)
+ ZEND_ARG_TYPE_INFO(0, currency, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_parse_currency, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ ZEND_ARG_INFO(1, currency)
+ ZEND_ARG_INFO(1, position)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_attribute, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_numfmt_get_attribute, 0, 2, double, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_text_attribute, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_text_attribute, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_numfmt_set_symbol arginfo_numfmt_set_text_attribute
+
+#define arginfo_numfmt_get_symbol arginfo_numfmt_get_text_attribute
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_pattern, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_pattern, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_locale, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_get_error_code, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_get_error_message, 0, 1, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/intl/grapheme/grapheme.stub.php b/ext/intl/grapheme/grapheme.stub.php
deleted file mode 100644
index 669b590437..0000000000
--- a/ext/intl/grapheme/grapheme.stub.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-function grapheme_strlen(string $input): int|false|null {}
-
-function grapheme_strpos(string $haystack, string $needle, int $offset = 0): int|false {}
-
-function grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|false {}
-
-function grapheme_strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
-
-function grapheme_strripos(string $haystack, string $needle, int $offset = 0): int|false {}
-
-function grapheme_substr(string $string, int $start, ?int $length = 0): string|false {}
-
-function grapheme_strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
-
-function grapheme_stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
-
-function grapheme_extract(string $haystack, int $size, int $extract_type = GRAPHEME_EXTR_COUNT, int $start = 0, &$next = null): string|false {}
diff --git a/ext/intl/grapheme/grapheme_arginfo.h b/ext/intl/grapheme/grapheme_arginfo.h
deleted file mode 100644
index 1dc2e95199..0000000000
--- a/ext/intl/grapheme/grapheme_arginfo.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* This is a generated file, edit the .stub.php file instead. */
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_strlen, 0, 1, MAY_BE_LONG|MAY_BE_FALSE|MAY_BE_NULL)
- ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_strpos, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_grapheme_stripos arginfo_grapheme_strpos
-
-#define arginfo_grapheme_strrpos arginfo_grapheme_strpos
-
-#define arginfo_grapheme_strripos arginfo_grapheme_strpos
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_substr, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_strstr, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, before_needle, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_grapheme_stristr arginfo_grapheme_strstr
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_extract, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, extract_type, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
- ZEND_ARG_INFO(1, next)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/idn/idn.stub.php b/ext/intl/idn/idn.stub.php
deleted file mode 100644
index 7407b60a20..0000000000
--- a/ext/intl/idn/idn.stub.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-function idn_to_ascii(string $domain, int $options = 0, int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false {}
-
-function idn_to_utf8(string $domain, int $options = 0, int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false {}
diff --git a/ext/intl/idn/idn_arginfo.h b/ext/intl/idn/idn_arginfo.h
deleted file mode 100644
index 7e107f4f9c..0000000000
--- a/ext/intl/idn/idn_arginfo.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* This is a generated file, edit the .stub.php file instead. */
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_idn_to_ascii, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, variant, IS_LONG, 0)
- ZEND_ARG_INFO(1, idna_info)
-ZEND_END_ARG_INFO()
-
-#define arginfo_idn_to_utf8 arginfo_idn_to_ascii
diff --git a/ext/intl/locale/locale.stub.php b/ext/intl/locale/locale.stub.php
index 8ad1c83b83..e739f601ae 100644
--- a/ext/intl/locale/locale.stub.php
+++ b/ext/intl/locale/locale.stub.php
@@ -56,39 +56,3 @@ class Locale
/** @return string|false */
public static function acceptFromHttp(string $header) {}
}
-
-function locale_get_default(): string {}
-
-function locale_set_default(string $name): bool {}
-
-function locale_get_primary_language(string $locale): ?string {}
-
-function locale_get_script(string $locale): ?string {}
-
-function locale_get_region(string $locale): ?string {}
-
-function locale_get_keywords(string $locale): array|false|null {}
-
-function locale_get_display_script(string $locale, ?string $in_locale = null): string|false {}
-
-function locale_get_display_region(string $locale, ?string $in_locale = null): string|false {}
-
-function locale_get_display_name(string $locale, ?string $in_locale = null): string|false {}
-
-function locale_get_display_language(string $locale, ?string $in_locale = null): string|false {}
-
-function locale_get_display_variant(string $locale, ?string $in_locale = null): string|false {}
-
-function locale_compose(array $subtags): string|false {}
-
-function locale_parse(string $locale): ?array {}
-
-function locale_get_all_variants(string $locale): ?array {}
-
-function locale_filter_matches(string $langtag, string $locale, bool $canonicalize = false): ?bool {}
-
-function locale_canonicalize(string $locale): ?string {}
-
-function locale_lookup(array $langtag, string $locale, bool $canonicalize = false, ?string $def = null): ?string {}
-
-function locale_accept_from_http(string $header): string|false {}
diff --git a/ext/intl/locale/locale_arginfo.h b/ext/intl/locale/locale_arginfo.h
index 367d3f7ac8..f509cef10d 100644
--- a/ext/intl/locale/locale_arginfo.h
+++ b/ext/intl/locale/locale_arginfo.h
@@ -54,64 +54,3 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Locale_acceptFromHttp, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, header, IS_STRING, 0)
ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_get_default, 0, 0, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_set_default, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_get_primary_language, 0, 1, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_locale_get_script arginfo_locale_get_primary_language
-
-#define arginfo_locale_get_region arginfo_locale_get_primary_language
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_get_keywords, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE|MAY_BE_NULL)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_get_display_script, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, in_locale, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-#define arginfo_locale_get_display_region arginfo_locale_get_display_script
-
-#define arginfo_locale_get_display_name arginfo_locale_get_display_script
-
-#define arginfo_locale_get_display_language arginfo_locale_get_display_script
-
-#define arginfo_locale_get_display_variant arginfo_locale_get_display_script
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_compose, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, subtags, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_parse, 0, 1, IS_ARRAY, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_locale_get_all_variants arginfo_locale_parse
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_filter_matches, 0, 2, _IS_BOOL, 1)
- ZEND_ARG_TYPE_INFO(0, langtag, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, canonicalize, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_locale_canonicalize arginfo_locale_get_primary_language
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_lookup, 0, 2, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, langtag, IS_ARRAY, 0)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, canonicalize, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, def, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_accept_from_http, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, header, IS_STRING, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/msgformat/msgformat.stub.php b/ext/intl/msgformat/msgformat.stub.php
index 65d9b5ef1e..8dbd6b8bba 100644
--- a/ext/intl/msgformat/msgformat.stub.php
+++ b/ext/intl/msgformat/msgformat.stub.php
@@ -34,23 +34,3 @@ class MessageFormatter
/** @return string */
public function getErrorMessage() {}
}
-
-function msgfmt_create(string $locale, string $pattern): ?MessageFormatter {}
-
-function msgfmt_format(MessageFormatter $fmt, array $args): string|false {}
-
-function msgfmt_format_message(string $locale, string $pattern, array $args): string|false {}
-
-function msgfmt_parse(MessageFormatter $fmt, string $value): array|false {}
-
-function msgfmt_parse_message(string $locale, string $pattern, string $source): array|false {}
-
-function msgfmt_set_pattern(MessageFormatter $fmt, string $pattern): bool {}
-
-function msgfmt_get_pattern(MessageFormatter $fmt): string|false {}
-
-function msgfmt_get_locale(MessageFormatter $fmt): string {}
-
-function msgfmt_get_error_code(MessageFormatter $fmt): int {}
-
-function msgfmt_get_error_message(MessageFormatter $fmt): string {}
diff --git a/ext/intl/msgformat/msgformat_arginfo.h b/ext/intl/msgformat/msgformat_arginfo.h
index e03dbffc73..ef7efb5438 100644
--- a/ext/intl/msgformat/msgformat_arginfo.h
+++ b/ext/intl/msgformat/msgformat_arginfo.h
@@ -39,49 +39,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_MessageFormatter_getErrorCode arginfo_class_MessageFormatter_getPattern
#define arginfo_class_MessageFormatter_getErrorMessage arginfo_class_MessageFormatter_getPattern
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_msgfmt_create, 0, 2, MessageFormatter, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_format_message, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_parse, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_parse_message, 0, 3, MAY_BE_ARRAY|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msgfmt_set_pattern, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
- ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_get_pattern, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msgfmt_get_locale, 0, 1, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msgfmt_get_error_code, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_msgfmt_get_error_message arginfo_msgfmt_get_locale
diff --git a/ext/intl/normalizer/normalizer.stub.php b/ext/intl/normalizer/normalizer.stub.php
index f0d55738f6..cfa1925262 100644
--- a/ext/intl/normalizer/normalizer.stub.php
+++ b/ext/intl/normalizer/normalizer.stub.php
@@ -13,11 +13,3 @@ class Normalizer
public static function getRawDecomposition(string $input, int $form = Normalizer::FORM_C) {}
#endif
}
-
-function normalizer_normalize(string $input, int $form = Normalizer::FORM_C): string|false {}
-
-function normalizer_is_normalized(string $input, int $form = Normalizer::FORM_C): bool {}
-
-#if U_ICU_VERSION_MAJOR_NUM >= 56
-function normalizer_get_raw_decomposition(string $input, int $form = Normalizer::FORM_C): ?string {}
-#endif
diff --git a/ext/intl/normalizer/normalizer_arginfo.h b/ext/intl/normalizer/normalizer_arginfo.h
index 858b2fe12d..9f2a12f97b 100644
--- a/ext/intl/normalizer/normalizer_arginfo.h
+++ b/ext/intl/normalizer/normalizer_arginfo.h
@@ -13,20 +13,3 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Normalizer_getRawDecomposition, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_normalizer_normalize, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_normalizer_is_normalized, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#if U_ICU_VERSION_MAJOR_NUM >= 56
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_normalizer_get_raw_decomposition, 0, 1, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-#endif
diff --git a/ext/intl/php_intl.c b/ext/intl/php_intl.c
index dd655e0e03..2997f453e7 100644
--- a/ext/intl/php_intl.c
+++ b/ext/intl/php_intl.c
@@ -21,6 +21,7 @@
#include "php_intl.h"
+#include "php_intl_arginfo.h"
#include "intl_error.h"
#include "collator/collator_class.h"
#include "collator/collator.h"
@@ -31,7 +32,6 @@
#include "collator/collator_locale.h"
#include "collator/collator_create.h"
#include "collator/collator_error.h"
-#include "collator/collator_arginfo.h"
#include "converter/converter.h"
@@ -41,10 +41,8 @@
#include "formatter/formatter_format.h"
#include "formatter/formatter_main.h"
#include "formatter/formatter_parse.h"
-#include "formatter/formatter_arginfo.h"
#include "grapheme/grapheme.h"
-#include "grapheme/grapheme_arginfo.h"
#include "msgformat/msgformat.h"
#include "msgformat/msgformat_class.h"
@@ -55,12 +53,10 @@
#include "normalizer/normalizer.h"
#include "normalizer/normalizer_class.h"
#include "normalizer/normalizer_normalize.h"
-#include "normalizer/normalizer_arginfo.h"
#include "locale/locale.h"
#include "locale/locale_class.h"
#include "locale/locale_methods.h"
-#include "locale/locale_arginfo.h"
#include "dateformat/dateformat.h"
#include "dateformat/dateformat_class.h"
@@ -70,30 +66,24 @@
#include "dateformat/dateformat_format_object.h"
#include "dateformat/dateformat_parse.h"
#include "dateformat/dateformat_data.h"
-#include "dateformat/dateformat_arginfo.h"
#include "resourcebundle/resourcebundle_class.h"
-#include "resourcebundle/resourcebundle_arginfo.h"
#include "transliterator/transliterator.h"
#include "transliterator/transliterator_class.h"
#include "transliterator/transliterator_methods.h"
-#include "transliterator/transliterator_arginfo.h"
#include "timezone/timezone_class.h"
#include "timezone/timezone_methods.h"
-#include "timezone/timezone_arginfo.h"
#include "calendar/calendar_class.h"
#include "calendar/calendar_methods.h"
#include "calendar/gregoriancalendar_methods.h"
-#include "calendar/calendar_arginfo.h"
#include "breakiterator/breakiterator_class.h"
#include "breakiterator/breakiterator_iterators.h"
#include "idn/idn.h"
-#include "idn/idn_arginfo.h"
#include "uchar/uchar.h"
# include "spoofchecker/spoofchecker_class.h"
@@ -102,10 +92,8 @@
# include "spoofchecker/spoofchecker_main.h"
#include "msgformat/msgformat.h"
-#include "msgformat/msgformat_arginfo.h"
#include "common/common_error.h"
#include "common/common_enum.h"
-#include "common/common_arginfo.h"
#include <unicode/uloc.h>
#include <unicode/uclean.h>
diff --git a/ext/intl/php_intl.stub.php b/ext/intl/php_intl.stub.php
new file mode 100644
index 0000000000..dbe905dbef
--- /dev/null
+++ b/ext/intl/php_intl.stub.php
@@ -0,0 +1,422 @@
+<?php
+
+/* calendar */
+
+/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
+function intlcal_create_instance($timeZone = null, ?string $locale = null): IntlCalendar|null {}
+
+function intlcal_get_keyword_values_for_locale(string $key, string $locale, bool $commonlyUsed): IntlIterator|false {}
+
+function intlcal_get_now(): float {}
+
+function intlcal_get_available_locales(): array {}
+
+function intlcal_get(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_time(IntlCalendar $calendar): float|false {}
+
+function intlcal_set_time(IntlCalendar $calendar, float $date): bool {}
+
+function intlcal_add(IntlCalendar $calendar, int $field, int $amount): bool {}
+
+/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
+function intlcal_set_time_zone(IntlCalendar $calendar, $timeZone): bool {}
+
+function intlcal_after(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
+
+function intlcal_before(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
+
+function intlcal_set(IntlCalendar $calendar, int $year, int $month, int $dayOfMonth = UNKNOWN, $hour = UNKNOWN, int $minute = UNKNOWN, int $second = UNKNOWN): bool {}
+
+/** @param int|bool $amountOrUpOrDown */
+function intlcal_roll(IntlCalendar $calendar, int $field, $amountOrUpOrDown): bool {}
+
+function intlcal_clear(IntlCalendar $calendar, ?int $field = null): bool {}
+
+function intlcal_field_difference(IntlCalendar $calendar, float $when, int $field): int|false {}
+
+function intlcal_get_actual_maximum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_actual_minimum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_day_of_week_type(IntlCalendar $calendar, int $dayOfWeek): int|false {}
+
+function intlcal_get_first_day_of_week(IntlCalendar $calendar): int|false {}
+
+function intlcal_greatest_minimum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_least_maximum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_greatest_minimum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_locale(IntlCalendar $calendar, int $localeType): string|false {}
+
+function intlcal_get_maximum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_minimal_days_in_first_week(IntlCalendar $calendar): int|false {}
+
+function intlcal_set_minimal_days_in_first_week(IntlCalendar $calendar, int $numberOfDays): bool {}
+
+function intlcal_get_minimum(IntlCalendar $calendar, int $field): int|false {}
+
+function intlcal_get_time_zone(IntlCalendar $calendar): IntlTimeZone|false {}
+
+function intlcal_get_type(IntlCalendar $calendar): string {}
+
+function intlcal_get_weekend_transition(IntlCalendar $calendar, int $dayOfWeek): int|false {}
+
+function intlcal_in_daylight_time(IntlCalendar $calendar): bool {}
+
+function intlcal_is_lenient(IntlCalendar $calendar): bool {}
+
+function intlcal_is_set(IntlCalendar $calendar, int $field): bool {}
+
+function intlcal_is_equivalent_to(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
+
+function intlcal_is_weekend(IntlCalendar $calendar, ?float $date = null): bool {}
+
+function intlcal_set_first_day_of_week(IntlCalendar $calendar, int $dayOfWeek): bool {}
+
+function intlcal_set_lenient(IntlCalendar $calendar, bool $isLenient): bool {}
+
+function intlcal_get_repeated_wall_time_option(IntlCalendar $calendar): int {}
+
+function intlcal_equals(IntlCalendar $calendarObject, IntlCalendar $calendar): bool {}
+
+function intlcal_get_skipped_wall_time_option(IntlCalendar $calendar): int {}
+
+function intlcal_set_repeated_wall_time_option(IntlCalendar $calendar, int $wallTimeOption): bool {}
+
+function intlcal_set_skipped_wall_time_option(IntlCalendar $calendar, int $wallTimeOption): bool {}
+
+/** @param DateTime|string $dateTime */
+function intlcal_from_date_time($dateTime, ?string $locale = null): ?IntlCalendar {}
+
+function intlcal_to_date_time(IntlCalendar $calendar): DateTime|false {}
+
+function intlcal_get_error_code(IntlCalendar $calendar): int|false {}
+
+function intlcal_get_error_message(IntlCalendar $calendar): string|false {}
+
+/** @param IntlTimeZone|DateTimeZone|string|null $timeZone */
+function intlgregcal_create_instance($timeZone = null, ?string $locale = null): ?IntlGregorianCalendar {}
+
+function intlgregcal_set_gregorian_change(IntlGregorianCalendar $calendar, float $change): bool {}
+
+function intlgregcal_get_gregorian_change(IntlGregorianCalendar $calendar): float|false {}
+
+function intlgregcal_is_leap_year(IntlGregorianCalendar $calendar, int $year): bool {}
+
+/* collator */
+
+function collator_create(string $locale): ?Collator {}
+
+function collator_compare(Collator $object, string $str1, string $str2): int|false {}
+
+function collator_get_attribute(Collator $object, int $attr): int|false {}
+
+function collator_set_attribute(Collator $object, int $attr, int $val): bool {}
+
+function collator_get_strength(Collator $object): int {}
+
+function collator_set_strength(Collator $object, int $strength): bool {}
+
+function collator_sort(Collator $object, array &$arr, int $sort_flag = Collator::SORT_REGULAR): bool {}
+
+function collator_sort_with_sort_keys(Collator $object, array &$arr): bool {}
+
+function collator_asort(Collator $object, array &$arr, int $sort_flag = Collator::SORT_REGULAR): bool {}
+
+function collator_get_locale(Collator $object, int $type): string|false {}
+
+function collator_get_error_code(Collator $object): int|false {}
+
+function collator_get_error_message(Collator $object): string|false {}
+
+function collator_get_sort_key(Collator $object, string $str): string|false {}
+
+/* common */
+
+function intl_get_error_code(): int {}
+
+function intl_get_error_message(): string {}
+
+function intl_is_failure(int $error_code): bool {}
+
+function intl_error_name(int $error_code): string {}
+
+/* dateformat */
+
+/**
+ * @param IntlTimeZone|DateTimeZone|string|null $timezone
+ * @param IntlCalendar|int|null $calendar
+ */
+function datefmt_create(?string $locale, int $datetype, int $timetype, $timezone = null, $calendar = null, string $pattern = ""): ?IntlDateFormatter {}
+
+function datefmt_get_datetype(IntlDateFormatter $df): int|false {}
+
+function datefmt_get_timetype(IntlDateFormatter $df): int|false {}
+
+function datefmt_get_calendar(IntlDateFormatter $df): int|false {}
+
+/** @param IntlCalendar|int|null $which */
+function datefmt_set_calendar(IntlDateFormatter $df, $which): bool {}
+
+function datefmt_get_timezone_id(IntlDateFormatter $df): string|false {}
+
+function datefmt_get_calendar_object(IntlDateFormatter $df): IntlCalendar|false|null {}
+
+function datefmt_get_timezone(IntlDateFormatter $df): IntlTimeZone|false {}
+
+/** @param IntlTimeZone|DateTimeZone|string|null $zone */
+function datefmt_set_timezone(IntlDateFormatter $df, $zone): ?bool {}
+
+function datefmt_set_pattern(IntlDateFormatter $df, string $pattern): bool {}
+
+function datefmt_get_pattern(IntlDateFormatter $df): string|false {}
+
+function datefmt_get_locale(IntlDateFormatter $df, int $which = UNKNOWN): string|false {}
+
+function datefmt_set_lenient(IntlDateFormatter $df, bool $lenient): void {}
+
+function datefmt_is_lenient(IntlDateFormatter $df): bool {}
+
+/** @param mixed $value */
+function datefmt_format(IntlDateFormatter $df, $value): string|false {}
+
+/**
+ * @param IntlCalendar|DateTimeInterface $object
+ * @param array|int|string|null $format
+ */
+function datefmt_format_object($object, $format = null, ?string $locale = null): string|false {}
+
+function datefmt_parse(IntlDateFormatter $df, string $value, &$position = null): int|float|false {}
+
+function datefmt_localtime(IntlDateFormatter $df, string $value, &$position = null): array|false {}
+
+function datefmt_get_error_code(IntlDateFormatter $df): int {}
+
+function datefmt_get_error_message(IntlDateFormatter $df): string {}
+
+/* formatter */
+
+function numfmt_create(string $locale, int $style, string $pattern = ""): ?NumberFormatter {}
+
+function numfmt_format(NumberFormatter $fmt, int|float $value, int $type = NumberFormatter::TYPE_DEFAULT): string|false {}
+
+function numfmt_parse(NumberFormatter $fmt, string $value, int $type = NumberFormatter::TYPE_DOUBLE, &$position = null): int|float|false {}
+
+function numfmt_format_currency(NumberFormatter $fmt, float $value, string $currency): string|false {}
+
+function numfmt_parse_currency(NumberFormatter $fmt, string $value, &$currency, &$position = null): float|false {}
+
+/** @param int|float $value */
+function numfmt_set_attribute(NumberFormatter $fmt, int $attr, $value): bool {}
+
+function numfmt_get_attribute(NumberFormatter $fmt, int $attr): int|double|false {}
+
+function numfmt_set_text_attribute(NumberFormatter $fmt, int $attr, string $value): bool {}
+
+function numfmt_get_text_attribute(NumberFormatter $fmt, int $attr): string|false {}
+
+function numfmt_set_symbol(NumberFormatter $fmt, int $attr, string $value): bool {}
+
+function numfmt_get_symbol(NumberFormatter $fmt, int $attr): string|false {}
+
+function numfmt_set_pattern(NumberFormatter $fmt, string $pattern): bool {}
+
+function numfmt_get_pattern(NumberFormatter $fmt): string|false {}
+
+function numfmt_get_locale(NumberFormatter $fmt, int $type = ULOC_ACTUAL_LOCALE): string|false {}
+
+function numfmt_get_error_code(NumberFormatter $fmt): int {}
+
+function numfmt_get_error_message(NumberFormatter $fmt): string {}
+
+/* grapheme */
+
+function grapheme_strlen(string $input): int|false|null {}
+
+function grapheme_strpos(string $haystack, string $needle, int $offset = 0): int|false {}
+
+function grapheme_stripos(string $haystack, string $needle, int $offset = 0): int|false {}
+
+function grapheme_strrpos(string $haystack, string $needle, int $offset = 0): int|false {}
+
+function grapheme_strripos(string $haystack, string $needle, int $offset = 0): int|false {}
+
+function grapheme_substr(string $string, int $start, ?int $length = 0): string|false {}
+
+function grapheme_strstr(string $haystack, string $needle, bool $before_needle = false): string|false {}
+
+function grapheme_stristr(string $haystack, string $needle, bool $before_needle = false): string|false {}
+
+function grapheme_extract(string $haystack, int $size, int $extract_type = GRAPHEME_EXTR_COUNT, int $start = 0, &$next = null): string|false {}
+
+/* idn */
+
+function idn_to_ascii(string $domain, int $options = 0, int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false {}
+
+function idn_to_utf8(string $domain, int $options = 0, int $variant = INTL_IDNA_VARIANT_UTS46, &$idna_info = null): string|false {}
+
+/* locale */
+
+
+function locale_get_default(): string {}
+
+function locale_set_default(string $name): bool {}
+
+function locale_get_primary_language(string $locale): ?string {}
+
+function locale_get_script(string $locale): ?string {}
+
+function locale_get_region(string $locale): ?string {}
+
+function locale_get_keywords(string $locale): array|false|null {}
+
+function locale_get_display_script(string $locale, ?string $in_locale = null): string|false {}
+
+function locale_get_display_region(string $locale, ?string $in_locale = null): string|false {}
+
+function locale_get_display_name(string $locale, ?string $in_locale = null): string|false {}
+
+function locale_get_display_language(string $locale, ?string $in_locale = null): string|false {}
+
+function locale_get_display_variant(string $locale, ?string $in_locale = null): string|false {}
+
+function locale_compose(array $subtags): string|false {}
+
+function locale_parse(string $locale): ?array {}
+
+function locale_get_all_variants(string $locale): ?array {}
+
+function locale_filter_matches(string $langtag, string $locale, bool $canonicalize = false): ?bool {}
+
+function locale_canonicalize(string $locale): ?string {}
+
+function locale_lookup(array $langtag, string $locale, bool $canonicalize = false, ?string $def = null): ?string {}
+
+function locale_accept_from_http(string $header): string|false {}
+
+/* msgformat */
+
+function msgfmt_create(string $locale, string $pattern): ?MessageFormatter {}
+
+function msgfmt_format(MessageFormatter $fmt, array $args): string|false {}
+
+function msgfmt_format_message(string $locale, string $pattern, array $args): string|false {}
+
+function msgfmt_parse(MessageFormatter $fmt, string $value): array|false {}
+
+function msgfmt_parse_message(string $locale, string $pattern, string $source): array|false {}
+
+function msgfmt_set_pattern(MessageFormatter $fmt, string $pattern): bool {}
+
+function msgfmt_get_pattern(MessageFormatter $fmt): string|false {}
+
+function msgfmt_get_locale(MessageFormatter $fmt): string {}
+
+function msgfmt_get_error_code(MessageFormatter $fmt): int {}
+
+function msgfmt_get_error_message(MessageFormatter $fmt): string {}
+
+/* normalizer */
+
+function normalizer_normalize(string $input, int $form = Normalizer::FORM_C): string|false {}
+
+function normalizer_is_normalized(string $input, int $form = Normalizer::FORM_C): bool {}
+
+#if U_ICU_VERSION_MAJOR_NUM >= 56
+function normalizer_get_raw_decomposition(string $input, int $form = Normalizer::FORM_C): ?string {}
+#endif
+
+/* resourceboundle */
+
+function resourcebundle_create(?string $locale, ?string $bundlename, bool $fallback = true): ?ResourceBundle {}
+
+/**
+ * @param string|int $index
+ * @return mixed
+ */
+function resourcebundle_get(ResourceBundle $bundle, $index) {}
+
+function resourcebundle_count(ResourceBundle $bundle): int {}
+
+function resourcebundle_locales(string $bundlename): array|false {}
+
+function resourcebundle_get_error_code(ResourceBundle $bundle): int {}
+
+function resourcebundle_get_error_message(ResourceBundle $bundle): string {}
+
+/* timezone */
+
+function intltz_count_equivalent_ids(string $zoneId): int|false {}
+
+function intltz_create_default(): IntlTimeZone {}
+
+/**
+ * @param IntlTimeZone|string|int|double|null $countryOrRawOffset
+ * @return IntlIterator|false
+ */
+function intltz_create_enumeration($countryOrRawOffset = null) {}
+
+function intltz_create_time_zone(string $zoneId): ?IntlTimeZone {}
+
+function intltz_create_time_zone_id_enumeration(int $zoneType, ?string $region = null, ?int $rawOffset = null): IntlIterator|false {}
+
+function intltz_from_date_time_zone(DateTimeZone $zone): ?IntlTimeZone {}
+
+function intltz_get_canonical_id(string $zoneId, &$isSystemID = null): string|false {}
+
+function intltz_get_display_name(IntlTimeZone $tz, bool $isDaylight = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null): string|false {}
+
+function intltz_get_dst_savings(IntlTimeZone $tz): int {}
+
+function intltz_get_equivalent_id(string $zoneId, int $index): string|false {}
+
+function intltz_get_error_code(IntlTimeZone $tz): int|false {}
+
+function intltz_get_error_message(IntlTimeZone $tz): string|false {}
+
+function intltz_get_gmt(): IntlTimeZone {}
+
+function intltz_get_id(IntlTimeZone $tz): string|false {}
+
+function intltz_get_offset(IntlTimeZone $tz, float $date, bool $local, &$rawOffset, &$dstOffset): bool {}
+
+function intltz_get_raw_offset(IntlTimeZone $tz): int {}
+
+function intltz_get_region(string $zoneId): string|false {}
+
+function intltz_get_tz_data_version(): string|false {}
+
+function intltz_get_unknown(): IntlTimeZone {}
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+function intltz_get_windows_id(string $timezone): string|false {}
+
+function intltz_get_id_for_windows_id(string $timezone, string $region = UNKNOWN): string|false {}
+#endif
+
+function intltz_has_same_rules(IntlTimeZone $tz, IntlTimeZone $otherTimeZone): bool {}
+
+function intltz_to_date_time_zone(IntlTimeZone $tz): DateTimeZone|false {}
+
+function intltz_use_daylight_time(IntlTimeZone $tz): bool {}
+
+/* transliterator */
+
+function transliterator_create(string $id, int $direction = Transliterator::FORWARD): ?Transliterator {}
+
+function transliterator_create_from_rules(string $rules, int $direction = Transliterator::FORWARD): ?Transliterator {}
+
+function transliterator_list_ids(): array|false {}
+
+function transliterator_create_inverse(Transliterator $orig_trans): ?Transliterator {}
+
+/** @param Transliterator|string */
+function transliterator_transliterate($transliterator, string $subject, int $start = 0, int $end = -1): string|false {}
+
+function transliterator_get_error_code(Transliterator $trans): int|false {}
+
+function transliterator_get_error_message(Transliterator $trans): string|false {}
diff --git a/ext/intl/php_intl_arginfo.h b/ext/intl/php_intl_arginfo.h
new file mode 100644
index 0000000000..c391ef2232
--- /dev/null
+++ b/ext/intl/php_intl_arginfo.h
@@ -0,0 +1,775 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1)
+ ZEND_ARG_INFO(0, timeZone)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intlcal_get_keyword_values_for_locale, 0, 3, IntlIterator, MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, commonlyUsed, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_now, 0, 0, IS_DOUBLE, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_available_locales, 0, 0, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_time, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_time, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_add, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, amount, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_time_zone, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_INFO(0, timeZone)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_after, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendarObject, IntlCalendar, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_before arginfo_intlcal_after
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, month, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, dayOfMonth, IS_LONG, 0)
+ ZEND_ARG_INFO(0, hour)
+ ZEND_ARG_TYPE_INFO(0, minute, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, second, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_roll, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
+ ZEND_ARG_INFO(0, amountOrUpOrDown)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_clear, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_field_difference, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, when, IS_DOUBLE, 0)
+ ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_get_actual_maximum arginfo_intlcal_get
+
+#define arginfo_intlcal_get_actual_minimum arginfo_intlcal_get
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_day_of_week_type, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, dayOfWeek, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_first_day_of_week, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_greatest_minimum arginfo_intlcal_get
+
+#define arginfo_intlcal_get_least_maximum arginfo_intlcal_get
+
+#define arginfo_intlcal_get_greatest_minimum arginfo_intlcal_get
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_locale, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, localeType, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_get_maximum arginfo_intlcal_get
+
+#define arginfo_intlcal_get_minimal_days_in_first_week arginfo_intlcal_get_first_day_of_week
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_minimal_days_in_first_week, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, numberOfDays, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_get_minimum arginfo_intlcal_get
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intlcal_get_time_zone, 0, 1, IntlTimeZone, MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_type, 0, 1, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_get_weekend_transition arginfo_intlcal_get_day_of_week_type
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_in_daylight_time, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_is_lenient arginfo_intlcal_in_daylight_time
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_is_set, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_is_equivalent_to arginfo_intlcal_after
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_is_weekend, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_first_day_of_week, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, dayOfWeek, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_lenient, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, isLenient, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_get_repeated_wall_time_option, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_equals arginfo_intlcal_after
+
+#define arginfo_intlcal_get_skipped_wall_time_option arginfo_intlcal_get_repeated_wall_time_option
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlcal_set_repeated_wall_time_option, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, wallTimeOption, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_set_skipped_wall_time_option arginfo_intlcal_set_repeated_wall_time_option
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_from_date_time, 0, 1, IntlCalendar, 1)
+ ZEND_ARG_INFO(0, dateTime)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intlcal_to_date_time, 0, 1, DateTime, MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intlcal_get_error_code arginfo_intlcal_get_first_day_of_week
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlcal_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlCalendar, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlgregcal_create_instance, 0, 0, IntlGregorianCalendar, 1)
+ ZEND_ARG_INFO(0, timeZone)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlgregcal_set_gregorian_change, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlGregorianCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, change, IS_DOUBLE, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intlgregcal_get_gregorian_change, 0, 1, MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlGregorianCalendar, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intlgregcal_is_leap_year, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, calendar, IntlGregorianCalendar, 0)
+ ZEND_ARG_TYPE_INFO(0, year, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_collator_create, 0, 1, Collator, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_compare, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, str1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, str2, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_attribute, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_attribute, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, val, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_get_strength, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_set_strength, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, strength, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
+ ZEND_ARG_TYPE_INFO(0, sort_flag, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_collator_sort_with_sort_keys, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(1, arr, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_collator_asort arginfo_collator_sort
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_locale, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_collator_get_sort_key, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, object, Collator, 0)
+ ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_get_error_code, 0, 0, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_get_error_message, 0, 0, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_is_failure, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intl_error_name, 0, 1, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, error_code, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_datefmt_create, 0, 3, IntlDateFormatter, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, datetype, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, timetype, IS_LONG, 0)
+ ZEND_ARG_INFO(0, timezone)
+ ZEND_ARG_INFO(0, calendar)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_get_datetype, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_datefmt_get_timetype arginfo_datefmt_get_datetype
+
+#define arginfo_datefmt_get_calendar arginfo_datefmt_get_datetype
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_calendar, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_INFO(0, which)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_get_timezone_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_datefmt_get_calendar_object, 0, 1, IntlCalendar, MAY_BE_FALSE|MAY_BE_NULL)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_datefmt_get_timezone, 0, 1, IntlTimeZone, MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_timezone, 0, 2, _IS_BOOL, 1)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_INFO(0, zone)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_pattern, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_datefmt_get_pattern arginfo_datefmt_get_timezone_id
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_get_locale, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_set_lenient, 0, 2, IS_VOID, 0)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, lenient, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_is_lenient, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_format_object, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, object)
+ ZEND_ARG_INFO(0, format)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_parse, 0, 2, MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ ZEND_ARG_INFO(1, position)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_datefmt_localtime, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ ZEND_ARG_INFO(1, position)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_get_error_code, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_datefmt_get_error_message, 0, 1, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, df, IntlDateFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_numfmt_create, 0, 2, NumberFormatter, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_MASK(0, value, MAY_BE_LONG|MAY_BE_DOUBLE)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_parse, 0, 2, MAY_BE_LONG|MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ ZEND_ARG_INFO(1, position)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_format_currency, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_DOUBLE, 0)
+ ZEND_ARG_TYPE_INFO(0, currency, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_parse_currency, 0, 3, MAY_BE_DOUBLE|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ ZEND_ARG_INFO(1, currency)
+ ZEND_ARG_INFO(1, position)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_attribute, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_numfmt_get_attribute, 0, 2, double, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_text_attribute, 0, 3, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_text_attribute, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, attr, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_numfmt_set_symbol arginfo_numfmt_set_text_attribute
+
+#define arginfo_numfmt_get_symbol arginfo_numfmt_get_text_attribute
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_set_pattern, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_pattern, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_numfmt_get_locale, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_get_error_code, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_numfmt_get_error_message, 0, 1, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, NumberFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_strlen, 0, 1, MAY_BE_LONG|MAY_BE_FALSE|MAY_BE_NULL)
+ ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_strpos, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_grapheme_stripos arginfo_grapheme_strpos
+
+#define arginfo_grapheme_strrpos arginfo_grapheme_strpos
+
+#define arginfo_grapheme_strripos arginfo_grapheme_strpos
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_substr, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_strstr, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, before_needle, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_grapheme_stristr arginfo_grapheme_strstr
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_grapheme_extract, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, haystack, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, size, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, extract_type, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
+ ZEND_ARG_INFO(1, next)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_idn_to_ascii, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, variant, IS_LONG, 0)
+ ZEND_ARG_INFO(1, idna_info)
+ZEND_END_ARG_INFO()
+
+#define arginfo_idn_to_utf8 arginfo_idn_to_ascii
+
+#define arginfo_locale_get_default arginfo_intl_get_error_message
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_set_default, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_get_primary_language, 0, 1, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_locale_get_script arginfo_locale_get_primary_language
+
+#define arginfo_locale_get_region arginfo_locale_get_primary_language
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_get_keywords, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE|MAY_BE_NULL)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_get_display_script, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, in_locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+#define arginfo_locale_get_display_region arginfo_locale_get_display_script
+
+#define arginfo_locale_get_display_name arginfo_locale_get_display_script
+
+#define arginfo_locale_get_display_language arginfo_locale_get_display_script
+
+#define arginfo_locale_get_display_variant arginfo_locale_get_display_script
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_compose, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, subtags, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_parse, 0, 1, IS_ARRAY, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_locale_get_all_variants arginfo_locale_parse
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_filter_matches, 0, 2, _IS_BOOL, 1)
+ ZEND_ARG_TYPE_INFO(0, langtag, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, canonicalize, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_locale_canonicalize arginfo_locale_get_primary_language
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_locale_lookup, 0, 2, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, langtag, IS_ARRAY, 0)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, canonicalize, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, def, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_locale_accept_from_http, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, header, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_msgfmt_create, 0, 2, MessageFormatter, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_format, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_format_message, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, args, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_parse, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_parse_message, 0, 3, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msgfmt_set_pattern, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
+ ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_msgfmt_get_pattern, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msgfmt_get_locale, 0, 1, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msgfmt_get_error_code, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, fmt, MessageFormatter, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_msgfmt_get_error_message arginfo_msgfmt_get_locale
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_normalizer_normalize, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_normalizer_is_normalized, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#if U_ICU_VERSION_MAJOR_NUM >= 56
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_normalizer_get_raw_decomposition, 0, 1, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, form, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_resourcebundle_create, 0, 2, ResourceBundle, 1)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, bundlename, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, fallback, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_resourcebundle_get, 0, 0, 2)
+ ZEND_ARG_OBJ_INFO(0, bundle, ResourceBundle, 0)
+ ZEND_ARG_INFO(0, index)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_resourcebundle_count, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, bundle, ResourceBundle, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_resourcebundle_locales, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, bundlename, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_resourcebundle_get_error_code arginfo_resourcebundle_count
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_resourcebundle_get_error_message, 0, 1, IS_STRING, 0)
+ ZEND_ARG_OBJ_INFO(0, bundle, ResourceBundle, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_count_equivalent_ids, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_create_default, 0, 0, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_intltz_create_enumeration, 0, 0, 0)
+ ZEND_ARG_INFO(0, countryOrRawOffset)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_create_time_zone, 0, 1, IntlTimeZone, 1)
+ ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intltz_create_time_zone_id_enumeration, 0, 1, IntlIterator, MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, zoneType, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, region, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, rawOffset, IS_LONG, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_from_date_time_zone, 0, 1, IntlTimeZone, 1)
+ ZEND_ARG_OBJ_INFO(0, zone, DateTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_canonical_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ ZEND_ARG_INFO(1, isSystemID)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_display_name, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ ZEND_ARG_TYPE_INFO(0, isDaylight, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_get_dst_savings, 0, 1, IS_LONG, 0)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_equivalent_id, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_get_gmt arginfo_intltz_create_default
+
+#define arginfo_intltz_get_id arginfo_intltz_get_error_message
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_get_offset, 0, 5, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 0)
+ ZEND_ARG_TYPE_INFO(0, local, _IS_BOOL, 0)
+ ZEND_ARG_INFO(1, rawOffset)
+ ZEND_ARG_INFO(1, dstOffset)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_get_raw_offset arginfo_intltz_get_dst_savings
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_region, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_tz_data_version, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
+ZEND_END_ARG_INFO()
+
+#define arginfo_intltz_get_unknown arginfo_intltz_create_default
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_windows_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#if U_ICU_VERSION_MAJOR_NUM >= 52
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_id_for_windows_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, region, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_has_same_rules, 0, 2, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ ZEND_ARG_OBJ_INFO(0, otherTimeZone, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intltz_to_date_time_zone, 0, 1, DateTimeZone, MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_use_daylight_time, 0, 1, _IS_BOOL, 0)
+ ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_transliterator_create, 0, 1, Transliterator, 1)
+ ZEND_ARG_TYPE_INFO(0, id, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, direction, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_transliterator_create_from_rules, 0, 1, Transliterator, 1)
+ ZEND_ARG_TYPE_INFO(0, rules, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, direction, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_list_ids, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_transliterator_create_inverse, 0, 1, Transliterator, 1)
+ ZEND_ARG_OBJ_INFO(0, orig_trans, Transliterator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_transliterate, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_INFO(0, transliterator)
+ ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, trans, Transliterator, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
+ ZEND_ARG_OBJ_INFO(0, trans, Transliterator, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/intl/resourcebundle/resourcebundle.stub.php b/ext/intl/resourcebundle/resourcebundle.stub.php
index 14f10fea4b..34430edf63 100644
--- a/ext/intl/resourcebundle/resourcebundle.stub.php
+++ b/ext/intl/resourcebundle/resourcebundle.stub.php
@@ -25,19 +25,3 @@ class ResourceBundle implements Traversable
/** @return string */
public function getErrorMessage() {}
}
-
-function resourcebundle_create(?string $locale, ?string $bundlename, bool $fallback = true): ?ResourceBundle {}
-
-/**
- * @param string|int $index
- * @return mixed
- */
-function resourcebundle_get(ResourceBundle $bundle, $index) {}
-
-function resourcebundle_count(ResourceBundle $bundle): int {}
-
-function resourcebundle_locales(string $bundlename): array|false {}
-
-function resourcebundle_get_error_code(ResourceBundle $bundle): int {}
-
-function resourcebundle_get_error_message(ResourceBundle $bundle): string {}
diff --git a/ext/intl/resourcebundle/resourcebundle_arginfo.h b/ext/intl/resourcebundle/resourcebundle_arginfo.h
index 855b8b548c..f12ece0972 100644
--- a/ext/intl/resourcebundle/resourcebundle_arginfo.h
+++ b/ext/intl/resourcebundle/resourcebundle_arginfo.h
@@ -23,28 +23,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_ResourceBundle_getErrorCode arginfo_class_ResourceBundle_count
#define arginfo_class_ResourceBundle_getErrorMessage arginfo_class_ResourceBundle_count
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_resourcebundle_create, 0, 2, ResourceBundle, 1)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, bundlename, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, fallback, _IS_BOOL, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_resourcebundle_get, 0, 0, 2)
- ZEND_ARG_OBJ_INFO(0, bundle, ResourceBundle, 0)
- ZEND_ARG_INFO(0, index)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_resourcebundle_count, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, bundle, ResourceBundle, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_resourcebundle_locales, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, bundlename, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_resourcebundle_get_error_code arginfo_resourcebundle_count
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_resourcebundle_get_error_message, 0, 1, IS_STRING, 0)
- ZEND_ARG_OBJ_INFO(0, bundle, ResourceBundle, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/timezone/timezone.stub.php b/ext/intl/timezone/timezone.stub.php
index 332fb9c1d2..cf473a91f6 100644
--- a/ext/intl/timezone/timezone.stub.php
+++ b/ext/intl/timezone/timezone.stub.php
@@ -80,57 +80,3 @@ class IntlTimeZone
/** @return bool */
public function useDaylightTime() {}
}
-
-function intltz_count_equivalent_ids(string $zoneId): int|false {}
-
-function intltz_create_default(): IntlTimeZone {}
-
-/**
- * @param IntlTimeZone|string|int|double|null $countryOrRawOffset
- * @return IntlIterator|false
- */
-function intltz_create_enumeration($countryOrRawOffset = null) {}
-
-function intltz_create_time_zone(string $zoneId): ?IntlTimeZone {}
-
-function intltz_create_time_zone_id_enumeration(int $zoneType, ?string $region = null, ?int $rawOffset = null): IntlIterator|false {}
-
-function intltz_from_date_time_zone(DateTimeZone $zone): ?IntlTimeZone {}
-
-function intltz_get_canonical_id(string $zoneId, &$isSystemID = null): string|false {}
-
-function intltz_get_display_name(IntlTimeZone $tz, bool $isDaylight = false, int $style = IntlTimeZone::DISPLAY_LONG, ?string $locale = null): string|false {}
-
-function intltz_get_dst_savings(IntlTimeZone $tz): int {}
-
-function intltz_get_equivalent_id(string $zoneId, int $index): string|false {}
-
-function intltz_get_error_code(IntlTimeZone $tz): int|false {}
-
-function intltz_get_error_message(IntlTimeZone $tz): string|false {}
-
-function intltz_get_gmt(): IntlTimeZone {}
-
-function intltz_get_id(IntlTimeZone $tz): string|false {}
-
-function intltz_get_offset(IntlTimeZone $tz, float $date, bool $local, &$rawOffset, &$dstOffset): bool {}
-
-function intltz_get_raw_offset(IntlTimeZone $tz): int {}
-
-function intltz_get_region(string $zoneId): string|false {}
-
-function intltz_get_tz_data_version(): string|false {}
-
-function intltz_get_unknown(): IntlTimeZone {}
-
-#if U_ICU_VERSION_MAJOR_NUM >= 52
-function intltz_get_windows_id(string $timezone): string|false {}
-
-function intltz_get_id_for_windows_id(string $timezone, string $region = UNKNOWN): string|false {}
-#endif
-
-function intltz_has_same_rules(IntlTimeZone $tz, IntlTimeZone $otherTimeZone): bool {}
-
-function intltz_to_date_time_zone(IntlTimeZone $tz): DateTimeZone|false {}
-
-function intltz_use_daylight_time(IntlTimeZone $tz): bool {}
diff --git a/ext/intl/timezone/timezone_arginfo.h b/ext/intl/timezone/timezone_arginfo.h
index 94c7962781..b1023d9a99 100644
--- a/ext/intl/timezone/timezone_arginfo.h
+++ b/ext/intl/timezone/timezone_arginfo.h
@@ -86,104 +86,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_IntlTimeZone_toDateTimeZone arginfo_class_IntlTimeZone___construct
#define arginfo_class_IntlTimeZone_useDaylightTime arginfo_class_IntlTimeZone___construct
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_count_equivalent_ids, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_create_default, 0, 0, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intltz_create_enumeration arginfo_class_IntlTimeZone_createEnumeration
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_create_time_zone, 0, 1, IntlTimeZone, 1)
- ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intltz_create_time_zone_id_enumeration, 0, 1, IntlIterator, MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, zoneType, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, region, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, rawOffset, IS_LONG, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intltz_from_date_time_zone, 0, 1, IntlTimeZone, 1)
- ZEND_ARG_OBJ_INFO(0, zone, DateTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_canonical_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
- ZEND_ARG_INFO(1, isSystemID)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_display_name, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
- ZEND_ARG_TYPE_INFO(0, isDaylight, _IS_BOOL, 0)
- ZEND_ARG_TYPE_INFO(0, style, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_get_dst_savings, 0, 1, IS_LONG, 0)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_equivalent_id, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intltz_get_gmt arginfo_intltz_create_default
-
-#define arginfo_intltz_get_id arginfo_intltz_get_error_message
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_get_offset, 0, 5, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
- ZEND_ARG_TYPE_INFO(0, date, IS_DOUBLE, 0)
- ZEND_ARG_TYPE_INFO(0, local, _IS_BOOL, 0)
- ZEND_ARG_INFO(1, rawOffset)
- ZEND_ARG_INFO(1, dstOffset)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intltz_get_raw_offset arginfo_intltz_get_dst_savings
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_region, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, zoneId, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_tz_data_version, 0, 0, MAY_BE_STRING|MAY_BE_FALSE)
-ZEND_END_ARG_INFO()
-
-#define arginfo_intltz_get_unknown arginfo_intltz_create_default
-
-#if U_ICU_VERSION_MAJOR_NUM >= 52
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_windows_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-#if U_ICU_VERSION_MAJOR_NUM >= 52
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_intltz_get_id_for_windows_id, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_TYPE_INFO(0, timezone, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, region, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-#endif
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_has_same_rules, 0, 2, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
- ZEND_ARG_OBJ_INFO(0, otherTimeZone, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_intltz_to_date_time_zone, 0, 1, DateTimeZone, MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_intltz_use_daylight_time, 0, 1, _IS_BOOL, 0)
- ZEND_ARG_OBJ_INFO(0, tz, IntlTimeZone, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/intl/transliterator/transliterator.stub.php b/ext/intl/transliterator/transliterator.stub.php
index 1e96ba66cd..12cab5d99a 100644
--- a/ext/intl/transliterator/transliterator.stub.php
+++ b/ext/intl/transliterator/transliterator.stub.php
@@ -25,18 +25,3 @@ class Transliterator
/** @return string|false */
public function getErrorMessage() {}
}
-
-function transliterator_create(string $id, int $direction = Transliterator::FORWARD): ?Transliterator {}
-
-function transliterator_create_from_rules(string $rules, int $direction = Transliterator::FORWARD): ?Transliterator {}
-
-function transliterator_list_ids(): array|false {}
-
-function transliterator_create_inverse(Transliterator $orig_trans): ?Transliterator {}
-
-/** @param Transliterator|string */
-function transliterator_transliterate($transliterator, string $subject, int $start = 0, int $end = -1): string|false {}
-
-function transliterator_get_error_code(Transliterator $trans): int|false {}
-
-function transliterator_get_error_message(Transliterator $trans): string|false {}
diff --git a/ext/intl/transliterator/transliterator_arginfo.h b/ext/intl/transliterator/transliterator_arginfo.h
index 7061b4b5df..3a9d68c2b4 100644
--- a/ext/intl/transliterator/transliterator_arginfo.h
+++ b/ext/intl/transliterator/transliterator_arginfo.h
@@ -26,35 +26,3 @@ ZEND_END_ARG_INFO()
#define arginfo_class_Transliterator_getErrorCode arginfo_class_Transliterator___construct
#define arginfo_class_Transliterator_getErrorMessage arginfo_class_Transliterator___construct
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_transliterator_create, 0, 1, Transliterator, 1)
- ZEND_ARG_TYPE_INFO(0, id, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, direction, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_transliterator_create_from_rules, 0, 1, Transliterator, 1)
- ZEND_ARG_TYPE_INFO(0, rules, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, direction, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_list_ids, 0, 0, MAY_BE_ARRAY|MAY_BE_FALSE)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_transliterator_create_inverse, 0, 1, Transliterator, 1)
- ZEND_ARG_OBJ_INFO(0, orig_trans, Transliterator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_transliterate, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_INFO(0, transliterator)
- ZEND_ARG_TYPE_INFO(0, subject, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, end, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_get_error_code, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, trans, Transliterator, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_transliterator_get_error_message, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
- ZEND_ARG_OBJ_INFO(0, trans, Transliterator, 0)
-ZEND_END_ARG_INFO()
diff --git a/ext/mysqli/mysqli.stub.php b/ext/mysqli/mysqli.stub.php
index 31cc7e6489..434346e2de 100644
--- a/ext/mysqli/mysqli.stub.php
+++ b/ext/mysqli/mysqli.stub.php
@@ -171,14 +171,6 @@ class mysqli
public function refresh(int $options);
}
-class mysqli_warning
-{
- public function __construct(object $mysqli_link);
-
- /** @return bool */
- public function next();
-}
-
class mysqli_result
{
public function __construct(object $mysqli_link, int $resmode = MYSQLI_STORE_RESULT);
diff --git a/ext/mysqli/mysqli_arginfo.h b/ext/mysqli/mysqli_arginfo.h
index e20a7ed982..b5307d917f 100644
--- a/ext/mysqli/mysqli_arginfo.h
+++ b/ext/mysqli/mysqli_arginfo.h
@@ -147,12 +147,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_refresh, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_warning___construct, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, mysqli_link, IS_OBJECT, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_mysqli_warning_next arginfo_class_mysqli_character_set_name
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_result___construct, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, mysqli_link, IS_OBJECT, 0)
ZEND_ARG_TYPE_INFO(0, resmode, IS_LONG, 0)
diff --git a/ext/mysqli/mysqli_warning.c b/ext/mysqli/mysqli_warning.c
index c15afa0c4c..673ca48aae 100644
--- a/ext/mysqli/mysqli_warning.c
+++ b/ext/mysqli/mysqli_warning.c
@@ -26,7 +26,7 @@
#include "php_mysqli_structs.h"
#include "mysqli_priv.h"
-#include "mysqli_arginfo.h"
+#include "mysqli_warning_arginfo.h"
/* Define these in the PHP7 tree to make merging easy process */
#define ZSTR_DUPLICATE (1<<0)
diff --git a/ext/mysqli/mysqli_warning.stub.php b/ext/mysqli/mysqli_warning.stub.php
new file mode 100644
index 0000000000..aa92204e50
--- /dev/null
+++ b/ext/mysqli/mysqli_warning.stub.php
@@ -0,0 +1,9 @@
+<?php
+
+class mysqli_warning
+{
+ public function __construct(object $mysqli_link);
+
+ /** @return bool */
+ public function next();
+}
diff --git a/ext/mysqli/mysqli_warning_arginfo.h b/ext/mysqli/mysqli_warning_arginfo.h
new file mode 100644
index 0000000000..ea98da480e
--- /dev/null
+++ b/ext/mysqli/mysqli_warning_arginfo.h
@@ -0,0 +1,8 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_warning___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, mysqli_link, IS_OBJECT, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_mysqli_warning_next, 0, 0, 0)
+ZEND_END_ARG_INFO()
diff --git a/ext/pdo/pdo.stub.php b/ext/pdo/pdo.stub.php
index 13969edb57..6a6bc27310 100644
--- a/ext/pdo/pdo.stub.php
+++ b/ext/pdo/pdo.stub.php
@@ -1,133 +1,3 @@
<?php
-/* pdo.c */
-
function pdo_drivers(): array {}
-
-/* pdo_dbh.c */
-
-class PDO {
- public function __construct(string $dsn, ?string $username = null, ?string $passwd = null, ?array $options = null) {}
-
- /** @return bool */
- public function beginTransaction() {}
-
- /** @return bool */
- public function commit() {}
-
- /** @return string|null */
- public function errorCode() {}
-
- /** @return array */
- public function errorInfo() {}
-
- /** @return int|false */
- public function exec(string $statement) {}
-
- /** @return mixed */
- public function getAttribute(int $attribute) {}
-
- /** @return array */
- public static function getAvailableDrivers() {}
-
- /** @return bool */
- public function inTransaction() {}
-
- /** @return string|false */
- public function lastInsertId(?string $name = null) {}
-
- /** @return PDOStatement|false */
- public function prepare(string $statement, array $driver_options = []) {}
-
- /** @return PDOStatement|false */
- public function query(string $statement) {}
-
- /** @return string|false */
- public function quote(string $string, int $parameter_type = PDO::PARAM_STR) {}
-
- /** @return bool */
- public function rollBack() {}
-
- /**
- * @param mixed $value
- * @return bool
- */
- public function setAttribute(int $attribute, $value) {}
-}
-
-/* pdo_stmt.c */
-
-class PDOStatement implements Traversable {
- /**
- * @param mixed $driverdata
- * @return bool
- */
- public function bindColumn(int|string $column, &$param, int $type = 0, int $maxlen = 0, $driverdata = null) {}
-
- /**
- * @param mixed $driver_options
- * @return bool
- */
- public function bindParam(int|string $parameter, &$param, int $type = PDO::PARAM_STR, int $maxlen = 0, $driverdata = null) {}
-
- /**
- * @param int|string $parameter
- * @param mixed $value
- * @return bool
- */
- public function bindValue($parameter, $value, int $type = PDO::PARAM_STR) {}
-
- /** @return bool */
- public function closeCursor() {}
-
- /** @return int|false */
- public function columnCount() {}
-
- /** @return false|null */
- public function debugDumpParams() {}
-
- /** @return string|false|null */
- public function errorCode() {}
-
- /** @return array|false */
- public function errorInfo() {}
-
- /** @return bool */
- public function execute(?array $input_parameters = null) {}
-
- /** @return mixed */
- public function fetch(int $fetch_style = PDO::FETCH_BOTH, int $cursor_orientation = PDO::FETCH_ORI_NEXT, int $cursor_offset = 0) {}
-
- /**
- * @param mixed $fetch_argument
- * @return array|false
- */
- public function fetchAll(int $fetch_style = PDO::FETCH_BOTH, $fetch_argument = UNKNOWN, array $ctor_args = []) {}
-
- /** @return mixed */
- public function fetchColumn(int $column_number = 0) {}
-
- /** @return mixed */
- public function fetchObject(?string $class_name = "stdClass", ?array $ctor_args = null) {}
-
- /** @return mixed */
- public function getAttribute(int $attribute) {}
-
- /** @return array|false */
- public function getColumnMeta(int $column) {}
-
- /** @return bool */
- public function nextRowset() {}
-
- /** @return int|false */
- public function rowCount() {}
-
- /**
- * @param mixed $value
- * @return bool
- */
- public function setAttribute(int $attribute, $value) {}
-
- /** @return bool */
- public function setFetchMode(int $mode, $param1 = UNKNOWN, $param2 = UNKNOWN) {}
-}
diff --git a/ext/pdo/pdo_arginfo.h b/ext/pdo/pdo_arginfo.h
index 56c1825198..5c2f8a55f8 100644
--- a/ext/pdo/pdo_arginfo.h
+++ b/ext/pdo/pdo_arginfo.h
@@ -2,129 +2,3 @@
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pdo_drivers, 0, 0, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO___construct, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, passwd, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_beginTransaction, 0, 0, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDO_commit arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDO_errorCode arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDO_errorInfo arginfo_class_PDO_beginTransaction
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_exec, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, statement, IS_STRING, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_getAttribute, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDO_getAvailableDrivers arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDO_inTransaction arginfo_class_PDO_beginTransaction
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_lastInsertId, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_prepare, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, statement, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, driver_options, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDO_query arginfo_class_PDO_exec
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_quote, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, parameter_type, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDO_rollBack arginfo_class_PDO_beginTransaction
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_setAttribute, 0, 0, 2)
- ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
- ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindColumn, 0, 0, 2)
- ZEND_ARG_TYPE_MASK(0, column, MAY_BE_LONG|MAY_BE_STRING)
- ZEND_ARG_INFO(1, param)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, maxlen, IS_LONG, 0)
- ZEND_ARG_INFO(0, driverdata)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindParam, 0, 0, 2)
- ZEND_ARG_TYPE_MASK(0, parameter, MAY_BE_LONG|MAY_BE_STRING)
- ZEND_ARG_INFO(1, param)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, maxlen, IS_LONG, 0)
- ZEND_ARG_INFO(0, driverdata)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindValue, 0, 0, 2)
- ZEND_ARG_INFO(0, parameter)
- ZEND_ARG_INFO(0, value)
- ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDOStatement_closeCursor arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDOStatement_columnCount arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDOStatement_debugDumpParams arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDOStatement_errorCode arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDOStatement_errorInfo arginfo_class_PDO_beginTransaction
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_execute, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, input_parameters, IS_ARRAY, 1)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetch, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, fetch_style, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, cursor_orientation, IS_LONG, 0)
- ZEND_ARG_TYPE_INFO(0, cursor_offset, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetchAll, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, fetch_style, IS_LONG, 0)
- ZEND_ARG_INFO(0, fetch_argument)
- ZEND_ARG_TYPE_INFO(0, ctor_args, IS_ARRAY, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetchColumn, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, column_number, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetchObject, 0, 0, 0)
- ZEND_ARG_TYPE_INFO(0, class_name, IS_STRING, 1)
- ZEND_ARG_TYPE_INFO(0, ctor_args, IS_ARRAY, 1)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDOStatement_getAttribute arginfo_class_PDO_getAttribute
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_getColumnMeta, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, column, IS_LONG, 0)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_PDOStatement_nextRowset arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDOStatement_rowCount arginfo_class_PDO_beginTransaction
-
-#define arginfo_class_PDOStatement_setAttribute arginfo_class_PDO_setAttribute
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_setFetchMode, 0, 0, 1)
- ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
- ZEND_ARG_INFO(0, param1)
- ZEND_ARG_INFO(0, param2)
-ZEND_END_ARG_INFO()
diff --git a/ext/pdo/pdo_dbh.c b/ext/pdo/pdo_dbh.c
index 65e324a2b7..7f877f271f 100644
--- a/ext/pdo/pdo_dbh.c
+++ b/ext/pdo/pdo_dbh.c
@@ -32,7 +32,7 @@
#include "zend_object_handlers.h"
#include "zend_hash.h"
#include "zend_interfaces.h"
-#include "pdo_arginfo.h"
+#include "pdo_dbh_arginfo.h"
static int pdo_dbh_attribute_set(pdo_dbh_t *dbh, zend_long attr, zval *value);
diff --git a/ext/pdo/pdo_dbh.stub.php b/ext/pdo/pdo_dbh.stub.php
new file mode 100644
index 0000000000..01a3b2b09a
--- /dev/null
+++ b/ext/pdo/pdo_dbh.stub.php
@@ -0,0 +1,51 @@
+<?php
+
+class PDO
+{
+ public function __construct(string $dsn, ?string $username = null, ?string $passwd = null, ?array $options = null) {}
+
+ /** @return bool */
+ public function beginTransaction() {}
+
+ /** @return bool */
+ public function commit() {}
+
+ /** @return string|null */
+ public function errorCode() {}
+
+ /** @return array */
+ public function errorInfo() {}
+
+ /** @return int|false */
+ public function exec(string $statement) {}
+
+ /** @return mixed */
+ public function getAttribute(int $attribute) {}
+
+ /** @return array */
+ public static function getAvailableDrivers() {}
+
+ /** @return bool */
+ public function inTransaction() {}
+
+ /** @return string|false */
+ public function lastInsertId(?string $name = null) {}
+
+ /** @return PDOStatement|false */
+ public function prepare(string $statement, array $driver_options = []) {}
+
+ /** @return PDOStatement|false */
+ public function query(string $statement) {}
+
+ /** @return string|false */
+ public function quote(string $string, int $parameter_type = PDO::PARAM_STR) {}
+
+ /** @return bool */
+ public function rollBack() {}
+
+ /**
+ * @param mixed $value
+ * @return bool
+ */
+ public function setAttribute(int $attribute, $value) {}
+}
diff --git a/ext/pdo/pdo_dbh_arginfo.h b/ext/pdo/pdo_dbh_arginfo.h
new file mode 100644
index 0000000000..65edc7710e
--- /dev/null
+++ b/ext/pdo/pdo_dbh_arginfo.h
@@ -0,0 +1,52 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO___construct, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, passwd, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, options, IS_ARRAY, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_beginTransaction, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDO_commit arginfo_class_PDO_beginTransaction
+
+#define arginfo_class_PDO_errorCode arginfo_class_PDO_beginTransaction
+
+#define arginfo_class_PDO_errorInfo arginfo_class_PDO_beginTransaction
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_exec, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, statement, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_getAttribute, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDO_getAvailableDrivers arginfo_class_PDO_beginTransaction
+
+#define arginfo_class_PDO_inTransaction arginfo_class_PDO_beginTransaction
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_lastInsertId, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_prepare, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, statement, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, driver_options, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDO_query arginfo_class_PDO_exec
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_quote, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, string, IS_STRING, 0)
+ ZEND_ARG_TYPE_INFO(0, parameter_type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDO_rollBack arginfo_class_PDO_beginTransaction
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO_setAttribute, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index 37e7a4c403..5eeea861a6 100644
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -32,7 +32,7 @@
#include "zend_exceptions.h"
#include "zend_interfaces.h"
#include "php_memory_streams.h"
-#include "pdo_arginfo.h"
+#include "pdo_stmt_arginfo.h"
#define PHP_STMT_GET_OBJ \
pdo_stmt_t *stmt = Z_PDO_STMT_P(ZEND_THIS); \
diff --git a/ext/pdo/pdo_stmt.stub.php b/ext/pdo/pdo_stmt.stub.php
new file mode 100644
index 0000000000..57d302fef4
--- /dev/null
+++ b/ext/pdo/pdo_stmt.stub.php
@@ -0,0 +1,77 @@
+<?php
+
+class PDOStatement implements Traversable
+{
+ /**
+ * @param mixed $driverdata
+ * @return bool
+ */
+ public function bindColumn(int|string $column, &$param, int $type = 0, int $maxlen = 0, $driverdata = null) {}
+
+ /**
+ * @param mixed $driver_options
+ * @return bool
+ */
+ public function bindParam(int|string $parameter, &$param, int $type = PDO::PARAM_STR, int $maxlen = 0, $driverdata = null) {}
+
+ /**
+ * @param int|string $parameter
+ * @param mixed $value
+ * @return bool
+ */
+ public function bindValue($parameter, $value, int $type = PDO::PARAM_STR) {}
+
+ /** @return bool */
+ public function closeCursor() {}
+
+ /** @return int|false */
+ public function columnCount() {}
+
+ /** @return false|null */
+ public function debugDumpParams() {}
+
+ /** @return string|false|null */
+ public function errorCode() {}
+
+ /** @return array|false */
+ public function errorInfo() {}
+
+ /** @return bool */
+ public function execute(?array $input_parameters = null) {}
+
+ /** @return mixed */
+ public function fetch(int $fetch_style = PDO::FETCH_BOTH, int $cursor_orientation = PDO::FETCH_ORI_NEXT, int $cursor_offset = 0) {}
+
+ /**
+ * @param mixed $fetch_argument
+ * @return array|false
+ */
+ public function fetchAll(int $fetch_style = PDO::FETCH_BOTH, $fetch_argument = UNKNOWN, array $ctor_args = []) {}
+
+ /** @return mixed */
+ public function fetchColumn(int $column_number = 0) {}
+
+ /** @return mixed */
+ public function fetchObject(?string $class_name = "stdClass", ?array $ctor_args = null) {}
+
+ /** @return mixed */
+ public function getAttribute(int $attribute) {}
+
+ /** @return array|false */
+ public function getColumnMeta(int $column) {}
+
+ /** @return bool */
+ public function nextRowset() {}
+
+ /** @return int|false */
+ public function rowCount() {}
+
+ /**
+ * @param mixed $value
+ * @return bool
+ */
+ public function setAttribute(int $attribute, $value) {}
+
+ /** @return bool */
+ public function setFetchMode(int $mode, $param1 = UNKNOWN, $param2 = UNKNOWN) {}
+}
diff --git a/ext/pdo/pdo_stmt_arginfo.h b/ext/pdo/pdo_stmt_arginfo.h
new file mode 100644
index 0000000000..7e00f79197
--- /dev/null
+++ b/ext/pdo/pdo_stmt_arginfo.h
@@ -0,0 +1,82 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindColumn, 0, 0, 2)
+ ZEND_ARG_TYPE_MASK(0, column, MAY_BE_LONG|MAY_BE_STRING)
+ ZEND_ARG_INFO(1, param)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, maxlen, IS_LONG, 0)
+ ZEND_ARG_INFO(0, driverdata)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindParam, 0, 0, 2)
+ ZEND_ARG_TYPE_MASK(0, parameter, MAY_BE_LONG|MAY_BE_STRING)
+ ZEND_ARG_INFO(1, param)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, maxlen, IS_LONG, 0)
+ ZEND_ARG_INFO(0, driverdata)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindValue, 0, 0, 2)
+ ZEND_ARG_INFO(0, parameter)
+ ZEND_ARG_INFO(0, value)
+ ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_closeCursor, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDOStatement_columnCount arginfo_class_PDOStatement_closeCursor
+
+#define arginfo_class_PDOStatement_debugDumpParams arginfo_class_PDOStatement_closeCursor
+
+#define arginfo_class_PDOStatement_errorCode arginfo_class_PDOStatement_closeCursor
+
+#define arginfo_class_PDOStatement_errorInfo arginfo_class_PDOStatement_closeCursor
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_execute, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, input_parameters, IS_ARRAY, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetch, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, fetch_style, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, cursor_orientation, IS_LONG, 0)
+ ZEND_ARG_TYPE_INFO(0, cursor_offset, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetchAll, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, fetch_style, IS_LONG, 0)
+ ZEND_ARG_INFO(0, fetch_argument)
+ ZEND_ARG_TYPE_INFO(0, ctor_args, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetchColumn, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, column_number, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_fetchObject, 0, 0, 0)
+ ZEND_ARG_TYPE_INFO(0, class_name, IS_STRING, 1)
+ ZEND_ARG_TYPE_INFO(0, ctor_args, IS_ARRAY, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_getAttribute, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_getColumnMeta, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, column, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PDOStatement_nextRowset arginfo_class_PDOStatement_closeCursor
+
+#define arginfo_class_PDOStatement_rowCount arginfo_class_PDOStatement_closeCursor
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_setAttribute, 0, 0, 2)
+ ZEND_ARG_TYPE_INFO(0, attribute, IS_LONG, 0)
+ ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_setFetchMode, 0, 0, 1)
+ ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
+ ZEND_ARG_INFO(0, param1)
+ ZEND_ARG_INFO(0, param2)
+ZEND_END_ARG_INFO()
diff --git a/ext/standard/basic_functions.stub.php b/ext/standard/basic_functions.stub.php
index 1186d28f0f..4a2df3e578 100755
--- a/ext/standard/basic_functions.stub.php
+++ b/ext/standard/basic_functions.stub.php
@@ -691,29 +691,6 @@ function utf8_encode(string $data): string {}
function utf8_decode(string $data): string {}
-/* dir.c */
-
-class Directory
-{
- /**
- * @param resource $dir_handle
- * @return void
- */
- public function close($dir_handle = UNKNOWN) {}
-
- /**
- * @param resource $dir_handle
- * @return void
- */
- public function rewind($dir_handle = UNKNOWN) {}
-
- /**
- * @param resource $dir_handle
- * @return string|false
- */
- public function read($dir_handle = UNKNOWN) {}
-}
-
/**
* @param resource $context
* @return resource|false
@@ -1454,18 +1431,6 @@ function rawurldecode(string $string): string {}
/** @param resource $context */
function get_headers(string $url, int $format = 0, $context = null): array|false {}
-/* user_filters.c */
-
-class php_user_filter {
- public function filter($in, $out, &$consumed, $closing) {}
-
- /** @return void */
- public function onCreate() {}
-
- /** @return void */
- public function onClose() {}
-}
-
/** @param resource $brigade */
function stream_bucket_make_writeable($brigade): ?object {}
diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h
index d6fd7acf02..c846d1ff1b 100755
--- a/ext/standard/basic_functions_arginfo.h
+++ b/ext/standard/basic_functions_arginfo.h
@@ -1099,14 +1099,6 @@ ZEND_END_ARG_INFO()
#define arginfo_utf8_decode arginfo_bin2hex
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Directory_close, 0, 0, 0)
- ZEND_ARG_INFO(0, dir_handle)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_Directory_rewind arginfo_class_Directory_close
-
-#define arginfo_class_Directory_read arginfo_class_Directory_close
-
ZEND_BEGIN_ARG_INFO_EX(arginfo_opendir, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0)
ZEND_ARG_INFO(0, context)
@@ -2149,17 +2141,6 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_get_headers, 0, 1, MAY_BE_ARRAY|
ZEND_ARG_INFO(0, context)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_class_php_user_filter_filter, 0, 0, 4)
- ZEND_ARG_INFO(0, in)
- ZEND_ARG_INFO(0, out)
- ZEND_ARG_INFO(1, consumed)
- ZEND_ARG_INFO(0, closing)
-ZEND_END_ARG_INFO()
-
-#define arginfo_class_php_user_filter_onCreate arginfo_tmpfile
-
-#define arginfo_class_php_user_filter_onClose arginfo_tmpfile
-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stream_bucket_make_writeable, 0, 1, IS_OBJECT, 1)
ZEND_ARG_INFO(0, brigade)
ZEND_END_ARG_INFO()
diff --git a/ext/standard/dir.c b/ext/standard/dir.c
index e6caf7109d..535c536b72 100644
--- a/ext/standard/dir.c
+++ b/ext/standard/dir.c
@@ -23,7 +23,7 @@
#include "php_string.h"
#include "php_scandir.h"
#include "basic_functions.h"
-#include "basic_functions_arginfo.h"
+#include "dir_arginfo.h"
#if HAVE_UNISTD_H
#include <unistd.h>
diff --git a/ext/standard/dir.stub.php b/ext/standard/dir.stub.php
new file mode 100755
index 0000000000..0ffef77285
--- /dev/null
+++ b/ext/standard/dir.stub.php
@@ -0,0 +1,22 @@
+<?php
+
+class Directory
+{
+ /**
+ * @param resource $dir_handle
+ * @return void
+ */
+ public function close($dir_handle = UNKNOWN) {}
+
+ /**
+ * @param resource $dir_handle
+ * @return void
+ */
+ public function rewind($dir_handle = UNKNOWN) {}
+
+ /**
+ * @param resource $dir_handle
+ * @return string|false
+ */
+ public function read($dir_handle = UNKNOWN) {}
+}
diff --git a/ext/standard/dir_arginfo.h b/ext/standard/dir_arginfo.h
new file mode 100644
index 0000000000..19a7f5e3ed
--- /dev/null
+++ b/ext/standard/dir_arginfo.h
@@ -0,0 +1,9 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Directory_close, 0, 0, 0)
+ ZEND_ARG_INFO(0, dir_handle)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Directory_rewind arginfo_class_Directory_close
+
+#define arginfo_class_Directory_read arginfo_class_Directory_close
diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c
index cadd9ff8e7..110c374b3d 100644
--- a/ext/standard/user_filters.c
+++ b/ext/standard/user_filters.c
@@ -20,7 +20,7 @@
#include "php_globals.h"
#include "ext/standard/basic_functions.h"
#include "ext/standard/file.h"
-#include "ext/standard/basic_functions_arginfo.h"
+#include "ext/standard/user_filters_arginfo.h"
#define PHP_STREAM_BRIGADE_RES_NAME "userfilter.bucket brigade"
#define PHP_STREAM_BUCKET_RES_NAME "userfilter.bucket"
diff --git a/ext/standard/user_filters.stub.php b/ext/standard/user_filters.stub.php
new file mode 100755
index 0000000000..f789dc1f32
--- /dev/null
+++ b/ext/standard/user_filters.stub.php
@@ -0,0 +1,12 @@
+<?php
+
+class php_user_filter
+{
+ public function filter($in, $out, &$consumed, $closing) {}
+
+ /** @return void */
+ public function onCreate() {}
+
+ /** @return void */
+ public function onClose() {}
+}
diff --git a/ext/standard/user_filters_arginfo.h b/ext/standard/user_filters_arginfo.h
new file mode 100644
index 0000000000..30e1aabb69
--- /dev/null
+++ b/ext/standard/user_filters_arginfo.h
@@ -0,0 +1,13 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_php_user_filter_filter, 0, 0, 4)
+ ZEND_ARG_INFO(0, in)
+ ZEND_ARG_INFO(0, out)
+ ZEND_ARG_INFO(1, consumed)
+ ZEND_ARG_INFO(0, closing)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_php_user_filter_onCreate, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_php_user_filter_onClose arginfo_class_php_user_filter_onCreate