]> granicus.if.org Git - php/commitdiff
Add ext/xmlwriter stubs
authorChristoph M. Becker <cmbecker69@gmx.de>
Tue, 3 Sep 2019 07:09:57 +0000 (09:09 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Tue, 3 Sep 2019 07:11:42 +0000 (09:11 +0200)
ext/xmlwriter/php_xmlwriter.c
ext/xmlwriter/xmlwriter.stub.php [new file with mode: 0644]
ext/xmlwriter/xmlwriter_arginfo.h [new file with mode: 0644]

index 3f7b0da924283a638a39bda9edf78d88f89be470..fe36192919bbf75ccfa5f519d3bd3570203dcf3e 100644 (file)
@@ -27,6 +27,7 @@
 #include "ext/standard/info.h"
 #include "php_xmlwriter.h"
 #include "ext/standard/php_string.h"
+#include "xmlwriter_arginfo.h"
 
 static PHP_FUNCTION(xmlwriter_set_indent);
 static PHP_FUNCTION(xmlwriter_set_indent_string);
@@ -146,351 +147,47 @@ static zend_object *xmlwriter_object_new(zend_class_entry *class_type)
                RETURN_FALSE;   \
        }       \
 
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO(arginfo_xmlwriter_void, 0)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_resource, 0, 0, 1)
-       ZEND_ARG_INFO(0, xmlwriter)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_open_uri, 0, 0, 1)
-       ZEND_ARG_INFO(0, uri)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_set_indent, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, indent)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_set_indent, 0, 0, 1)
-       ZEND_ARG_INFO(0, indent)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_set_indent_string, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, indentString)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_set_indent_string, 0, 0, 1)
-       ZEND_ARG_INFO(0, indentString)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_attribute, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_attribute, 0, 0, 1)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_attribute_ns, 0, 0, 4)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_attribute_ns, 0, 0, 3)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_attribute_ns, 0, 0, 5)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_attribute_ns, 0, 0, 4)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_attribute, 0, 0, 3)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_attribute, 0, 0, 2)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_element, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_element, 0, 0, 1)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_element_ns, 0, 0, 4)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_element_ns, 0, 0, 3)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_element, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_element, 0, 0, 1)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_element_ns, 0, 0, 4)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_element_ns, 0, 0, 3)
-       ZEND_ARG_INFO(0, prefix)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, uri)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_pi, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, target)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_pi, 0, 0, 1)
-       ZEND_ARG_INFO(0, target)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_pi, 0, 0, 3)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, target)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_pi, 0, 0, 2)
-       ZEND_ARG_INFO(0, target)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_cdata, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_cdata, 0, 0, 1)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_text, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_text, 0, 0, 1)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_raw, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_raw, 0, 0, 1)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_document, 0, 0, 1)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, version)
-       ZEND_ARG_INFO(0, encoding)
-       ZEND_ARG_INFO(0, standalone)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_document, 0, 0, 0)
-       ZEND_ARG_INFO(0, version)
-       ZEND_ARG_INFO(0, encoding)
-       ZEND_ARG_INFO(0, standalone)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_comment, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_comment, 0, 0, 1)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_dtd, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, qualifiedName)
-       ZEND_ARG_INFO(0, publicId)
-       ZEND_ARG_INFO(0, systemId)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_dtd, 0, 0, 1)
-       ZEND_ARG_INFO(0, qualifiedName)
-       ZEND_ARG_INFO(0, publicId)
-       ZEND_ARG_INFO(0, systemId)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_dtd, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, publicId)
-       ZEND_ARG_INFO(0, systemId)
-       ZEND_ARG_INFO(0, subset)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_dtd, 0, 0, 1)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, publicId)
-       ZEND_ARG_INFO(0, systemId)
-       ZEND_ARG_INFO(0, subset)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_dtd_element, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, qualifiedName)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_dtd_element, 0, 0, 1)
-       ZEND_ARG_INFO(0, qualifiedName)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_dtd_element, 0, 0, 3)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_dtd_element, 0, 0, 2)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_dtd_attlist, 0, 0, 2)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_dtd_attlist, 0, 0, 1)
-       ZEND_ARG_INFO(0, name)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_dtd_attlist, 0, 0, 3)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_dtd_attlist, 0, 0, 2)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_dtd_entity, 0, 0, 3)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, isparam)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_start_dtd_entity, 0, 0, 2)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, isparam)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_write_dtd_entity, 0, 0, 3)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_write_dtd_entity, 0, 0, 2)
-       ZEND_ARG_INFO(0, name)
-       ZEND_ARG_INFO(0, content)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_output_memory, 0, 0, 1)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, flush)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_output_memory, 0, 0, 0)
-       ZEND_ARG_INFO(0, flush)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_flush, 0, 0, 1)
-       ZEND_ARG_INFO(0, xmlwriter)
-       ZEND_ARG_INFO(0, empty)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_method_flush, 0, 0, 0)
-       ZEND_ARG_INFO(0, empty)
-ZEND_END_ARG_INFO()
-/* }}} */
-
 /* {{{ xmlwriter_functions */
 static const zend_function_entry xmlwriter_functions[] = {
        PHP_FE(xmlwriter_open_uri,                      arginfo_xmlwriter_open_uri)
-       PHP_FE(xmlwriter_open_memory,           arginfo_xmlwriter_void)
+       PHP_FE(xmlwriter_open_memory,           arginfo_xmlwriter_open_memory)
        PHP_FE(xmlwriter_set_indent,            arginfo_xmlwriter_set_indent)
        PHP_FE(xmlwriter_set_indent_string, arginfo_xmlwriter_set_indent_string)
-       PHP_FE(xmlwriter_start_comment,         arginfo_xmlwriter_resource)
-       PHP_FE(xmlwriter_end_comment,           arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_start_comment,         arginfo_xmlwriter_start_comment)
+       PHP_FE(xmlwriter_end_comment,           arginfo_xmlwriter_end_comment)
        PHP_FE(xmlwriter_start_attribute,       arginfo_xmlwriter_start_attribute)
-       PHP_FE(xmlwriter_end_attribute,         arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_attribute,         arginfo_xmlwriter_end_attribute)
        PHP_FE(xmlwriter_write_attribute,       arginfo_xmlwriter_write_attribute)
        PHP_FE(xmlwriter_start_attribute_ns,arginfo_xmlwriter_start_attribute_ns)
        PHP_FE(xmlwriter_write_attribute_ns,arginfo_xmlwriter_write_attribute_ns)
        PHP_FE(xmlwriter_start_element,         arginfo_xmlwriter_start_element)
-       PHP_FE(xmlwriter_end_element,           arginfo_xmlwriter_resource)
-       PHP_FE(xmlwriter_full_end_element,      arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_element,           arginfo_xmlwriter_end_element)
+       PHP_FE(xmlwriter_full_end_element,      arginfo_xmlwriter_full_end_element)
        PHP_FE(xmlwriter_start_element_ns,      arginfo_xmlwriter_start_element_ns)
        PHP_FE(xmlwriter_write_element,         arginfo_xmlwriter_write_element)
        PHP_FE(xmlwriter_write_element_ns,      arginfo_xmlwriter_write_element_ns)
        PHP_FE(xmlwriter_start_pi,                      arginfo_xmlwriter_start_pi)
-       PHP_FE(xmlwriter_end_pi,                        arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_pi,                        arginfo_xmlwriter_end_pi)
        PHP_FE(xmlwriter_write_pi,                      arginfo_xmlwriter_write_pi)
-       PHP_FE(xmlwriter_start_cdata,           arginfo_xmlwriter_resource)
-       PHP_FE(xmlwriter_end_cdata,                     arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_start_cdata,           arginfo_xmlwriter_start_cdata)
+       PHP_FE(xmlwriter_end_cdata,                     arginfo_xmlwriter_end_cdata)
        PHP_FE(xmlwriter_write_cdata,           arginfo_xmlwriter_write_cdata)
        PHP_FE(xmlwriter_text,                          arginfo_xmlwriter_text)
        PHP_FE(xmlwriter_write_raw,                     arginfo_xmlwriter_write_raw)
        PHP_FE(xmlwriter_start_document,        arginfo_xmlwriter_start_document)
-       PHP_FE(xmlwriter_end_document,          arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_document,          arginfo_xmlwriter_end_document)
        PHP_FE(xmlwriter_write_comment,         arginfo_xmlwriter_write_comment)
        PHP_FE(xmlwriter_start_dtd,                     arginfo_xmlwriter_start_dtd)
-       PHP_FE(xmlwriter_end_dtd,                       arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_dtd,                       arginfo_xmlwriter_end_dtd)
        PHP_FE(xmlwriter_write_dtd,                     arginfo_xmlwriter_write_dtd)
        PHP_FE(xmlwriter_start_dtd_element,     arginfo_xmlwriter_start_dtd_element)
-       PHP_FE(xmlwriter_end_dtd_element,       arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_dtd_element,       arginfo_xmlwriter_end_dtd_element)
        PHP_FE(xmlwriter_write_dtd_element,     arginfo_xmlwriter_write_dtd_element)
        PHP_FE(xmlwriter_start_dtd_attlist,     arginfo_xmlwriter_start_dtd_attlist)
-       PHP_FE(xmlwriter_end_dtd_attlist,       arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_dtd_attlist,       arginfo_xmlwriter_end_dtd_attlist)
        PHP_FE(xmlwriter_write_dtd_attlist,     arginfo_xmlwriter_write_dtd_attlist)
        PHP_FE(xmlwriter_start_dtd_entity,      arginfo_xmlwriter_start_dtd_entity)
-       PHP_FE(xmlwriter_end_dtd_entity,        arginfo_xmlwriter_resource)
+       PHP_FE(xmlwriter_end_dtd_entity,        arginfo_xmlwriter_end_dtd_entity)
        PHP_FE(xmlwriter_write_dtd_entity,      arginfo_xmlwriter_write_dtd_entity)
        PHP_FE(xmlwriter_output_memory,         arginfo_xmlwriter_output_memory)
        PHP_FE(xmlwriter_flush,                         arginfo_xmlwriter_flush)
@@ -500,48 +197,48 @@ static const zend_function_entry xmlwriter_functions[] = {
 
 /* {{{ xmlwriter_class_functions */
 static const zend_function_entry xmlwriter_class_functions[] = {
-       PHP_ME_MAPPING(openUri,         xmlwriter_open_uri,             arginfo_xmlwriter_open_uri, 0)
-       PHP_ME_MAPPING(openMemory,      xmlwriter_open_memory,  arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(setIndent,       xmlwriter_set_indent,   arginfo_xmlwriter_method_set_indent, 0)
-       PHP_ME_MAPPING(setIndentString, xmlwriter_set_indent_string, arginfo_xmlwriter_method_set_indent_string, 0)
-       PHP_ME_MAPPING(startComment,    xmlwriter_start_comment,        arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(endComment,              xmlwriter_end_comment,          arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(startAttribute,  xmlwriter_start_attribute,      arginfo_xmlwriter_method_start_attribute, 0)
-       PHP_ME_MAPPING(endAttribute,    xmlwriter_end_attribute,        arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeAttribute,  xmlwriter_write_attribute,      arginfo_xmlwriter_method_write_attribute, 0)
-       PHP_ME_MAPPING(startAttributeNs,        xmlwriter_start_attribute_ns,arginfo_xmlwriter_method_start_attribute_ns, 0)
-       PHP_ME_MAPPING(writeAttributeNs,        xmlwriter_write_attribute_ns,arginfo_xmlwriter_method_write_attribute_ns, 0)
-       PHP_ME_MAPPING(startElement,    xmlwriter_start_element,        arginfo_xmlwriter_method_start_element, 0)
-       PHP_ME_MAPPING(endElement,              xmlwriter_end_element,          arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(fullEndElement,  xmlwriter_full_end_element,     arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(startElementNs,  xmlwriter_start_element_ns,     arginfo_xmlwriter_method_start_element_ns, 0)
-       PHP_ME_MAPPING(writeElement,    xmlwriter_write_element,        arginfo_xmlwriter_method_write_element, 0)
-       PHP_ME_MAPPING(writeElementNs,  xmlwriter_write_element_ns,     arginfo_xmlwriter_method_write_element_ns, 0)
-       PHP_ME_MAPPING(startPi,                 xmlwriter_start_pi,                     arginfo_xmlwriter_method_start_pi, 0)
-       PHP_ME_MAPPING(endPi,                   xmlwriter_end_pi,                       arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writePi,                 xmlwriter_write_pi,                     arginfo_xmlwriter_method_write_pi, 0)
-       PHP_ME_MAPPING(startCdata,              xmlwriter_start_cdata,          arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(endCdata,                xmlwriter_end_cdata,            arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeCdata,              xmlwriter_write_cdata,          arginfo_xmlwriter_method_write_cdata, 0)
-       PHP_ME_MAPPING(text,                    xmlwriter_text,                         arginfo_xmlwriter_method_text, 0)
-       PHP_ME_MAPPING(writeRaw,                xmlwriter_write_raw,            arginfo_xmlwriter_method_write_raw, 0)
-       PHP_ME_MAPPING(startDocument,   xmlwriter_start_document,       arginfo_xmlwriter_method_start_document, 0)
-       PHP_ME_MAPPING(endDocument,             xmlwriter_end_document,         arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeComment,    xmlwriter_write_comment,        arginfo_xmlwriter_method_write_comment, 0)
-       PHP_ME_MAPPING(startDtd,                xmlwriter_start_dtd,            arginfo_xmlwriter_method_start_dtd, 0)
-       PHP_ME_MAPPING(endDtd,                  xmlwriter_end_dtd,                      arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeDtd,                xmlwriter_write_dtd,            arginfo_xmlwriter_method_write_dtd, 0)
-       PHP_ME_MAPPING(startDtdElement, xmlwriter_start_dtd_element,arginfo_xmlwriter_method_start_dtd_element, 0)
-       PHP_ME_MAPPING(endDtdElement,   xmlwriter_end_dtd_element,      arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeDtdElement, xmlwriter_write_dtd_element,    arginfo_xmlwriter_method_write_dtd_element, 0)
-       PHP_ME_MAPPING(startDtdAttlist, xmlwriter_start_dtd_attlist,    arginfo_xmlwriter_method_start_dtd_attlist, 0)
-       PHP_ME_MAPPING(endDtdAttlist,   xmlwriter_end_dtd_attlist,      arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeDtdAttlist, xmlwriter_write_dtd_attlist,    arginfo_xmlwriter_method_write_dtd_attlist, 0)
-       PHP_ME_MAPPING(startDtdEntity,  xmlwriter_start_dtd_entity,     arginfo_xmlwriter_method_start_dtd_entity, 0)
-       PHP_ME_MAPPING(endDtdEntity,    xmlwriter_end_dtd_entity,       arginfo_xmlwriter_void, 0)
-       PHP_ME_MAPPING(writeDtdEntity,  xmlwriter_write_dtd_entity,     arginfo_xmlwriter_method_write_dtd_entity, 0)
-       PHP_ME_MAPPING(outputMemory,    xmlwriter_output_memory,        arginfo_xmlwriter_method_output_memory, 0)
-       PHP_ME_MAPPING(flush,                   xmlwriter_flush,                        arginfo_xmlwriter_method_flush, 0)
+       PHP_ME_MAPPING(openUri,         xmlwriter_open_uri,             arginfo_class_XMLWriter_openUri, 0)
+       PHP_ME_MAPPING(openMemory,      xmlwriter_open_memory,  arginfo_class_XMLWriter_openMemory, 0)
+       PHP_ME_MAPPING(setIndent,       xmlwriter_set_indent,   arginfo_class_XMLWriter_setIndent, 0)
+       PHP_ME_MAPPING(setIndentString, xmlwriter_set_indent_string, arginfo_class_XMLWriter_setIdentString, 0)
+       PHP_ME_MAPPING(startComment,    xmlwriter_start_comment,        arginfo_class_XMLWriter_startComment, 0)
+       PHP_ME_MAPPING(endComment,              xmlwriter_end_comment,          arginfo_class_XMLWriter_endComment, 0)
+       PHP_ME_MAPPING(startAttribute,  xmlwriter_start_attribute,      arginfo_class_XMLWriter_startAttribute, 0)
+       PHP_ME_MAPPING(endAttribute,    xmlwriter_end_attribute,        arginfo_class_XMLWriter_endAttribute, 0)
+       PHP_ME_MAPPING(writeAttribute,  xmlwriter_write_attribute,      arginfo_class_XMLWriter_writeAttribute, 0)
+       PHP_ME_MAPPING(startAttributeNs,        xmlwriter_start_attribute_ns,arginfo_class_XMLWriter_startAttributeNs, 0)
+       PHP_ME_MAPPING(writeAttributeNs,        xmlwriter_write_attribute_ns,arginfo_class_XMLWriter_writeAttributeNs, 0)
+       PHP_ME_MAPPING(startElement,    xmlwriter_start_element,        arginfo_class_XMLWriter_startElement, 0)
+       PHP_ME_MAPPING(endElement,              xmlwriter_end_element,          arginfo_class_XMLWriter_endElement, 0)
+       PHP_ME_MAPPING(fullEndElement,  xmlwriter_full_end_element,     arginfo_class_XMLWriter_fullEndElement, 0)
+       PHP_ME_MAPPING(startElementNs,  xmlwriter_start_element_ns,     arginfo_class_XMLWriter_startElementNs, 0)
+       PHP_ME_MAPPING(writeElement,    xmlwriter_write_element,        arginfo_class_XMLWriter_writeElement, 0)
+       PHP_ME_MAPPING(writeElementNs,  xmlwriter_write_element_ns,     arginfo_class_XMLWriter_writeElementNs, 0)
+       PHP_ME_MAPPING(startPi,                 xmlwriter_start_pi,                     arginfo_class_XMLWriter_startPi, 0)
+       PHP_ME_MAPPING(endPi,                   xmlwriter_end_pi,                       arginfo_class_XMLWriter_endPi, 0)
+       PHP_ME_MAPPING(writePi,                 xmlwriter_write_pi,                     arginfo_class_XMLWriter_writePi, 0)
+       PHP_ME_MAPPING(startCdata,              xmlwriter_start_cdata,          arginfo_class_XMLWriter_startCdata, 0)
+       PHP_ME_MAPPING(endCdata,                xmlwriter_end_cdata,            arginfo_class_XMLWriter_endCdata, 0)
+       PHP_ME_MAPPING(writeCdata,              xmlwriter_write_cdata,          arginfo_class_XMLWriter_writeCdata, 0)
+       PHP_ME_MAPPING(text,                    xmlwriter_text,                         arginfo_class_XMLWriter_text, 0)
+       PHP_ME_MAPPING(writeRaw,                xmlwriter_write_raw,            arginfo_class_XMLWriter_writeRaw, 0)
+       PHP_ME_MAPPING(startDocument,   xmlwriter_start_document,       arginfo_class_XMLWriter_startDocument, 0)
+       PHP_ME_MAPPING(endDocument,             xmlwriter_end_document,         arginfo_class_XMLWriter_endDocument, 0)
+       PHP_ME_MAPPING(writeComment,    xmlwriter_write_comment,        arginfo_class_XMLWriter_writeComment, 0)
+       PHP_ME_MAPPING(startDtd,                xmlwriter_start_dtd,            arginfo_class_XMLWriter_startDtd, 0)
+       PHP_ME_MAPPING(endDtd,                  xmlwriter_end_dtd,                      arginfo_class_XMLWriter_endDtd, 0)
+       PHP_ME_MAPPING(writeDtd,                xmlwriter_write_dtd,            arginfo_class_XMLWriter_writeDtd, 0)
+       PHP_ME_MAPPING(startDtdElement, xmlwriter_start_dtd_element,arginfo_class_XMLWriter_startDtdElement, 0)
+       PHP_ME_MAPPING(endDtdElement,   xmlwriter_end_dtd_element,      arginfo_class_XMLWriter_endDtdElement, 0)
+       PHP_ME_MAPPING(writeDtdElement, xmlwriter_write_dtd_element,    arginfo_class_XMLWriter_writeDtdElement, 0)
+       PHP_ME_MAPPING(startDtdAttlist, xmlwriter_start_dtd_attlist,    arginfo_class_XMLWriter_startDtdAttlist, 0)
+       PHP_ME_MAPPING(endDtdAttlist,   xmlwriter_end_dtd_attlist,      arginfo_class_XMLWriter_endDtdAttlist, 0)
+       PHP_ME_MAPPING(writeDtdAttlist, xmlwriter_write_dtd_attlist,    arginfo_class_XMLWriter_writeDtdAttlist, 0)
+       PHP_ME_MAPPING(startDtdEntity,  xmlwriter_start_dtd_entity,     arginfo_class_XMLWriter_startDtdEntity, 0)
+       PHP_ME_MAPPING(endDtdEntity,    xmlwriter_end_dtd_entity,       arginfo_class_XMLWriter_endDtdEntity, 0)
+       PHP_ME_MAPPING(writeDtdEntity,  xmlwriter_write_dtd_entity,     arginfo_class_XMLWriter_writeDtdEntity, 0)
+       PHP_ME_MAPPING(outputMemory,    xmlwriter_output_memory,        arginfo_class_XMLWriter_outputMemory, 0)
+       PHP_ME_MAPPING(flush,                   xmlwriter_flush,                        arginfo_class_XMLWriter_flush, 0)
        PHP_FE_END
 };
 /* }}} */
diff --git a/ext/xmlwriter/xmlwriter.stub.php b/ext/xmlwriter/xmlwriter.stub.php
new file mode 100644 (file)
index 0000000..857655e
--- /dev/null
@@ -0,0 +1,218 @@
+<?php
+
+/** @return resource|false */
+function xmlwriter_open_uri(string $uri) {}
+
+/** @return resource|false */
+function xmlwriter_open_memory() {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_set_indent($xmlwriter, bool $indent): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_set_indent_string($xmlwriter, string $indentString): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_comment($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_comment($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_attribute($xmlwriter, string $name): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_attribute($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_attribute($xmlwriter, string $name, string $value): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_attribute_ns($xmlwriter, string $prefix, string $name, string $uri): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_attribute_ns($xmlwriter, string $prefix, string $name, string $uri, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_element($xmlwriter, string $name): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_element($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_full_end_element($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_element_ns($xmlwriter, string $prefix, string $name, string $uri): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_element($xmlwriter, string $name, string $content = UNKNOWN): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_element_ns($xmlwriter, string $prefix, string $name, string $uri, string $content = UNKNOWN): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_pi($xmlwriter, string $target): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_pi($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_pi($xmlwriter, string $target, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_cdata($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_cdata($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_cdata($xmlwriter, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_text($xmlwriter, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_raw($xmlwriter, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_document($xmlwriter, string $version = '1.0', $encoding = UNKNOWN, $standalone = UNKNOWN) {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_document($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_comment($xmlwriter, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_dtd($xmlwriter, string $qualifiedName, string $publicId = UNKNOWN, string $systemId = UNKNOWN): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_dtd($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_dtd($xmlwriter, string $name, $publicId = UNKNOWN, $systemId = UNKNOWN, $subset = UNKNOWN): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_dtd_element($xmlwriter, string $qualifiedName): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_dtd_element($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_dtd_element($xmlwriter, string $name, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_dtd_attlist($xmlwriter, string $name): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_dtd_attlist($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_dtd_attlist($xmlwriter, string $name, string $content): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_start_dtd_entity($xmlwriter, string $name, bool $isparam): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_end_dtd_entity($xmlwriter): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_write_dtd_entity($xmlwriter, string $name, string $content, bool $isparam, string $publicId = UNKNOWN, string $systemId = UNKNOWN, string $ndataid = UNKNOWN): bool {}
+
+/** @param resource $xmlwriter */
+function xmlwriter_output_memory($xmlwriter, bool $flush = true): string {}
+
+/**
+ * @param resource $xmlwriter
+ * @return string|int
+ */
+function xmlwriter_flush($xmlwriter, bool $empty = true) {}
+
+class XMLWriter
+{
+    function openUri(string $uri): bool {}
+
+    function openMemory(): bool {}
+
+    function setIndent(bool $indent): bool {}
+
+    function setIdentString(string $indentString): bool {}
+
+    function startComment(): bool {}
+
+    function endComment(): bool {}
+
+    function startAttribute(string $name): bool {}
+
+    function endAttribute(): bool {}
+
+    function writeAttribute(string $name, string $value): bool {}
+
+    function startAttributeNs(string $prefix, string $name, string $uri): bool {}
+
+    function writeAttributeNs(string $prefix, string $name, string $uri, string $content): bool {}
+
+    function startElement(string $name): bool {}
+
+    function endElement(): bool {}
+
+    function fullEndElement(): bool {}
+
+    function startElementNs(string $prefix, string $name, string $uri): bool {}
+
+    function writeElement(string $name, string $content = UNKNOWN): bool {}
+
+    function writeElementNs(string $prefix, string $name, string $uri, string $content = UNKNOWN): bool {}
+
+    function startPi(string $target): bool {}
+
+    function endPi(): bool {}
+
+    function writePi(string $target, string $content): bool {}
+
+    function startCdata(): bool {}
+
+    function endCdata(): bool {}
+
+    function writeCdata(string $content): bool {}
+
+    function text(string $content): bool {}
+
+    function writeRaw(string $content): bool {}
+
+    function startDocument(string $version = '1.0', string $encoding = UNKNOWN, string $standalone = UNKNOWN): bool {}
+
+    function endDocument(): bool {}
+
+    function writeComment(string $content): bool {}
+
+    function startDtd(string $qualifiedName, string $publicId = UNKNOWN, string $systemId = UNKNOWN): bool {}
+
+    function endDtd(): bool {}
+
+    function writeDtd(string $name, string $publicId = UNKNOWN, string $systemId = UNKNOWN, string $subset = UNKNOWN): bool {}
+
+    function startDtdElement(string $qualifiedName): bool {}
+
+    function endDtdElement(): bool {}
+
+    function writeDtdElement(string $name, string $content): bool {}
+
+    function startDtdAttlist(string $name): bool {}
+
+    function endDtdAttlist(): bool {}
+
+    function writeDtdAttlist(string $name, string $content): bool {}
+
+    function startDtdEntity(string $name, bool $isparam): bool {}
+
+    function endDtdEntity(): bool {}
+
+    function writeDtdEntity(string $name, string $content, bool $isparam, string $publicId = UNKNOWN, string $systemId = UNKNOWN, string $ndataid = UNKNOWN): bool {}
+
+    function outputMemory(bool $flush = true): string {}
+
+    /** @return string|int */
+    function flush(bool $empty = true) {}
+}
diff --git a/ext/xmlwriter/xmlwriter_arginfo.h b/ext/xmlwriter/xmlwriter_arginfo.h
new file mode 100644 (file)
index 0000000..90788a1
--- /dev/null
@@ -0,0 +1,327 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_open_uri, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_open_memory, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_set_indent, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, indent, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_set_indent_string, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, indentString, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_comment, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_end_comment arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_attribute, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_end_attribute arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_attribute, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       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_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_attribute_ns, 0, 4, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_attribute_ns, 0, 5, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_start_element arginfo_xmlwriter_start_attribute
+
+#define arginfo_xmlwriter_end_element arginfo_xmlwriter_start_comment
+
+#define arginfo_xmlwriter_full_end_element arginfo_xmlwriter_start_comment
+
+#define arginfo_xmlwriter_start_element_ns arginfo_xmlwriter_start_attribute_ns
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_element, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_element_ns, 0, 4, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_pi, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_end_pi arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_pi, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_start_cdata arginfo_xmlwriter_start_comment
+
+#define arginfo_xmlwriter_end_cdata arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_cdata, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_text arginfo_xmlwriter_write_cdata
+
+#define arginfo_xmlwriter_write_raw arginfo_xmlwriter_write_cdata
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_start_document, 0, 0, 1)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
+       ZEND_ARG_INFO(0, encoding)
+       ZEND_ARG_INFO(0, standalone)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_end_document arginfo_xmlwriter_start_comment
+
+#define arginfo_xmlwriter_write_comment arginfo_xmlwriter_write_cdata
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_dtd, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       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()
+
+#define arginfo_xmlwriter_end_dtd arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_dtd, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_INFO(0, publicId)
+       ZEND_ARG_INFO(0, systemId)
+       ZEND_ARG_INFO(0, subset)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_dtd_element, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_end_dtd_element arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_dtd_element, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_start_dtd_attlist arginfo_xmlwriter_start_attribute
+
+#define arginfo_xmlwriter_end_dtd_attlist arginfo_xmlwriter_start_comment
+
+#define arginfo_xmlwriter_write_dtd_attlist arginfo_xmlwriter_write_dtd_element
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_start_dtd_entity, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, isparam, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_xmlwriter_end_dtd_entity arginfo_xmlwriter_start_comment
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_write_dtd_entity, 0, 4, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, isparam, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, publicId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, systemId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, ndataid, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlwriter_output_memory, 0, 1, IS_STRING, 0)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, flush, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlwriter_flush, 0, 0, 1)
+       ZEND_ARG_INFO(0, xmlwriter)
+       ZEND_ARG_TYPE_INFO(0, empty, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_openUri, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_openMemory, 0, 0, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_setIndent, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, indent, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_setIdentString, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, indentString, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_startComment arginfo_class_XMLWriter_openMemory
+
+#define arginfo_class_XMLWriter_endComment arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startAttribute, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_endAttribute arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeAttribute, 0, 2, _IS_BOOL, 0)
+       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_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startAttributeNs, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeAttributeNs, 0, 4, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_startElement arginfo_class_XMLWriter_startAttribute
+
+#define arginfo_class_XMLWriter_endElement arginfo_class_XMLWriter_openMemory
+
+#define arginfo_class_XMLWriter_fullEndElement arginfo_class_XMLWriter_openMemory
+
+#define arginfo_class_XMLWriter_startElementNs arginfo_class_XMLWriter_startAttributeNs
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeElement, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeElementNs, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startPi, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_endPi arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writePi, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, target, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_startCdata arginfo_class_XMLWriter_openMemory
+
+#define arginfo_class_XMLWriter_endCdata arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeCdata, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_text arginfo_class_XMLWriter_writeCdata
+
+#define arginfo_class_XMLWriter_writeRaw arginfo_class_XMLWriter_writeCdata
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startDocument, 0, 0, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, version, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, standalone, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_endDocument arginfo_class_XMLWriter_openMemory
+
+#define arginfo_class_XMLWriter_writeComment arginfo_class_XMLWriter_writeCdata
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startDtd, 0, 1, _IS_BOOL, 0)
+       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()
+
+#define arginfo_class_XMLWriter_endDtd arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeDtd, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, publicId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, systemId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, subset, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startDtdElement, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, qualifiedName, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_endDtdElement arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeDtdElement, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_startDtdAttlist arginfo_class_XMLWriter_startAttribute
+
+#define arginfo_class_XMLWriter_endDtdAttlist arginfo_class_XMLWriter_openMemory
+
+#define arginfo_class_XMLWriter_writeDtdAttlist arginfo_class_XMLWriter_writeDtdElement
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_startDtdEntity, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, isparam, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_XMLWriter_endDtdEntity arginfo_class_XMLWriter_openMemory
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_writeDtdEntity, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, content, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, isparam, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, publicId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, systemId, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, ndataid, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLWriter_outputMemory, 0, 0, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, flush, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLWriter_flush, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, empty, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()