Declare ext/xmlreader constants in stubs (#9133)

This commit is contained in:
Máté Kocsis 2022-07-26 05:57:11 +02:00 committed by GitHub
parent 04f6fe4b25
commit 60cae26be7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 251 additions and 39 deletions

View file

@ -23,13 +23,13 @@
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_xmlreader.h"
#include "php_xmlreader_arginfo.h"
#ifdef HAVE_DOM
#include "ext/dom/xml_common.h"
#include "ext/dom/dom_ce.h"
#endif
#include <libxml/xmlreader.h>
#include <libxml/uri.h>
#include "php_xmlreader_arginfo.h"
zend_class_entry *xmlreader_class_entry;
@ -1185,40 +1185,6 @@ PHP_MINIT_FUNCTION(xmlreader)
xmlreader_register_prop_handler(&xmlreader_prop_handlers, "value", NULL, xmlTextReaderConstValue, IS_STRING);
xmlreader_register_prop_handler(&xmlreader_prop_handlers, "xmlLang", NULL, xmlTextReaderConstXmlLang, IS_STRING);
/* Constants for NodeType - cannot define common types to share with dom as there are differences in these types */
REGISTER_XMLREADER_CLASS_CONST_LONG("NONE", XML_READER_TYPE_NONE);
REGISTER_XMLREADER_CLASS_CONST_LONG("ELEMENT", XML_READER_TYPE_ELEMENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("ATTRIBUTE", XML_READER_TYPE_ATTRIBUTE);
REGISTER_XMLREADER_CLASS_CONST_LONG("TEXT", XML_READER_TYPE_TEXT);
REGISTER_XMLREADER_CLASS_CONST_LONG("CDATA", XML_READER_TYPE_CDATA);
REGISTER_XMLREADER_CLASS_CONST_LONG("ENTITY_REF", XML_READER_TYPE_ENTITY_REFERENCE);
REGISTER_XMLREADER_CLASS_CONST_LONG("ENTITY", XML_READER_TYPE_ENTITY);
REGISTER_XMLREADER_CLASS_CONST_LONG("PI", XML_READER_TYPE_PROCESSING_INSTRUCTION);
REGISTER_XMLREADER_CLASS_CONST_LONG("COMMENT", XML_READER_TYPE_COMMENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("DOC", XML_READER_TYPE_DOCUMENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("DOC_TYPE", XML_READER_TYPE_DOCUMENT_TYPE);
REGISTER_XMLREADER_CLASS_CONST_LONG("DOC_FRAGMENT", XML_READER_TYPE_DOCUMENT_FRAGMENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("NOTATION", XML_READER_TYPE_NOTATION);
REGISTER_XMLREADER_CLASS_CONST_LONG("WHITESPACE", XML_READER_TYPE_WHITESPACE);
REGISTER_XMLREADER_CLASS_CONST_LONG("SIGNIFICANT_WHITESPACE", XML_READER_TYPE_SIGNIFICANT_WHITESPACE);
REGISTER_XMLREADER_CLASS_CONST_LONG("END_ELEMENT", XML_READER_TYPE_END_ELEMENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("END_ENTITY", XML_READER_TYPE_END_ENTITY);
REGISTER_XMLREADER_CLASS_CONST_LONG("XML_DECLARATION", XML_READER_TYPE_XML_DECLARATION);
/* Constants for Parser options */
REGISTER_XMLREADER_CLASS_CONST_LONG("LOADDTD", XML_PARSER_LOADDTD);
REGISTER_XMLREADER_CLASS_CONST_LONG("DEFAULTATTRS", XML_PARSER_DEFAULTATTRS);
REGISTER_XMLREADER_CLASS_CONST_LONG("VALIDATE", XML_PARSER_VALIDATE);
REGISTER_XMLREADER_CLASS_CONST_LONG("SUBST_ENTITIES", XML_PARSER_SUBST_ENTITIES);
/* Constants for Errors when loading - not yet used until we implement custom error handling
REGISTER_XMLREADER_CLASS_CONST_LONG("VALIDITY_WARNING", XML_PARSER_SEVERITY_VALIDITY_WARNING, CONST_CS | CONST_PERSISTENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("VALIDITY_ERROR", XML_PARSER_SEVERITY_VALIDITY_ERROR, CONST_CS | CONST_PERSISTENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("WARNING", XML_PARSER_SEVERITY_WARNING, CONST_CS | CONST_PERSISTENT);
REGISTER_XMLREADER_CLASS_CONST_LONG("ERROR", XML_PARSER_SEVERITY_ERROR, CONST_CS | CONST_PERSISTENT);
*/
return SUCCESS;
}
/* }}} */

View file

@ -57,7 +57,4 @@ PHP_MINIT_FUNCTION(xmlreader);
PHP_MSHUTDOWN_FUNCTION(xmlreader);
PHP_MINFO_FUNCTION(xmlreader);
#define REGISTER_XMLREADER_CLASS_CONST_LONG(const_name, value) \
zend_declare_class_constant_long(xmlreader_class_entry, const_name, sizeof(const_name)-1, (zend_long)value);
#endif /* PHP_XMLREADER_H */

View file

@ -4,6 +4,123 @@
class XMLReader
{
/* Constants for NodeType - cannot define common types to share with dom as there are differences in these types */
/**
* @var int
* @cvalue XML_READER_TYPE_NONE
*/
public const NONE = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_ELEMENT
*/
public const ELEMENT = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_ATTRIBUTE
*/
public const ATTRIBUTE = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_TEXT
*/
public const TEXT = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_CDATA
*/
public const CDATA = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_ENTITY_REFERENCE
*/
public const ENTITY_REF = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_ENTITY
*/
public const ENTITY = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_PROCESSING_INSTRUCTION
*/
public const PI = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_COMMENT
*/
public const COMMENT = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_DOCUMENT
*/
public const DOC = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_DOCUMENT_TYPE
*/
public const DOC_TYPE = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_DOCUMENT_FRAGMENT
*/
public const DOC_FRAGMENT = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_NOTATION
*/
public const NOTATION = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_WHITESPACE
*/
public const WHITESPACE = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_SIGNIFICANT_WHITESPACE
*/
public const SIGNIFICANT_WHITESPACE = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_END_ELEMENT
*/
public const END_ELEMENT = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_END_ENTITY
*/
public const END_ENTITY = UNKNOWN;
/**
* @var int
* @cvalue XML_READER_TYPE_XML_DECLARATION
*/
public const XML_DECLARATION = UNKNOWN;
/* Constants for Parser options */
/**
* @var int
* @cvalue XML_PARSER_LOADDTD
*/
public const LOADDTD = UNKNOWN;
/**
* @var int
* @cvalue XML_PARSER_DEFAULTATTRS
*/
public const DEFAULTATTRS = UNKNOWN;
/**
* @var int
* @cvalue XML_PARSER_VALIDATE
*/
public const VALIDATE = UNKNOWN;
/**
* @var int
* @cvalue XML_PARSER_SUBST_ENTITIES
*/
public const SUBST_ENTITIES = UNKNOWN;
public int $attributeCount;
public string $baseURI;

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: 1601e86ad66e337a6af7d09ec7ba703926bdb8c7 */
* Stub hash: 0102030bdd0ca8806bbd881ed3f6788d4b18c462 */
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_close, 0, 0, 0)
ZEND_END_ARG_INFO()
@ -155,6 +155,138 @@ static zend_class_entry *register_class_XMLReader(void)
INIT_CLASS_ENTRY(ce, "XMLReader", class_XMLReader_methods);
class_entry = zend_register_internal_class_ex(&ce, NULL);
zval const_NONE_value;
ZVAL_LONG(&const_NONE_value, XML_READER_TYPE_NONE);
zend_string *const_NONE_name = zend_string_init_interned("NONE", sizeof("NONE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_NONE_name, &const_NONE_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_NONE_name);
zval const_ELEMENT_value;
ZVAL_LONG(&const_ELEMENT_value, XML_READER_TYPE_ELEMENT);
zend_string *const_ELEMENT_name = zend_string_init_interned("ELEMENT", sizeof("ELEMENT") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_ELEMENT_name, &const_ELEMENT_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_ELEMENT_name);
zval const_ATTRIBUTE_value;
ZVAL_LONG(&const_ATTRIBUTE_value, XML_READER_TYPE_ATTRIBUTE);
zend_string *const_ATTRIBUTE_name = zend_string_init_interned("ATTRIBUTE", sizeof("ATTRIBUTE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_ATTRIBUTE_name, &const_ATTRIBUTE_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_ATTRIBUTE_name);
zval const_TEXT_value;
ZVAL_LONG(&const_TEXT_value, XML_READER_TYPE_TEXT);
zend_string *const_TEXT_name = zend_string_init_interned("TEXT", sizeof("TEXT") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_TEXT_name, &const_TEXT_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_TEXT_name);
zval const_CDATA_value;
ZVAL_LONG(&const_CDATA_value, XML_READER_TYPE_CDATA);
zend_string *const_CDATA_name = zend_string_init_interned("CDATA", sizeof("CDATA") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_CDATA_name, &const_CDATA_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_CDATA_name);
zval const_ENTITY_REF_value;
ZVAL_LONG(&const_ENTITY_REF_value, XML_READER_TYPE_ENTITY_REFERENCE);
zend_string *const_ENTITY_REF_name = zend_string_init_interned("ENTITY_REF", sizeof("ENTITY_REF") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_ENTITY_REF_name, &const_ENTITY_REF_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_ENTITY_REF_name);
zval const_ENTITY_value;
ZVAL_LONG(&const_ENTITY_value, XML_READER_TYPE_ENTITY);
zend_string *const_ENTITY_name = zend_string_init_interned("ENTITY", sizeof("ENTITY") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_ENTITY_name, &const_ENTITY_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_ENTITY_name);
zval const_PI_value;
ZVAL_LONG(&const_PI_value, XML_READER_TYPE_PROCESSING_INSTRUCTION);
zend_string *const_PI_name = zend_string_init_interned("PI", sizeof("PI") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_PI_name, &const_PI_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_PI_name);
zval const_COMMENT_value;
ZVAL_LONG(&const_COMMENT_value, XML_READER_TYPE_COMMENT);
zend_string *const_COMMENT_name = zend_string_init_interned("COMMENT", sizeof("COMMENT") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_COMMENT_name, &const_COMMENT_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_COMMENT_name);
zval const_DOC_value;
ZVAL_LONG(&const_DOC_value, XML_READER_TYPE_DOCUMENT);
zend_string *const_DOC_name = zend_string_init_interned("DOC", sizeof("DOC") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_DOC_name, &const_DOC_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_DOC_name);
zval const_DOC_TYPE_value;
ZVAL_LONG(&const_DOC_TYPE_value, XML_READER_TYPE_DOCUMENT_TYPE);
zend_string *const_DOC_TYPE_name = zend_string_init_interned("DOC_TYPE", sizeof("DOC_TYPE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_DOC_TYPE_name, &const_DOC_TYPE_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_DOC_TYPE_name);
zval const_DOC_FRAGMENT_value;
ZVAL_LONG(&const_DOC_FRAGMENT_value, XML_READER_TYPE_DOCUMENT_FRAGMENT);
zend_string *const_DOC_FRAGMENT_name = zend_string_init_interned("DOC_FRAGMENT", sizeof("DOC_FRAGMENT") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_DOC_FRAGMENT_name, &const_DOC_FRAGMENT_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_DOC_FRAGMENT_name);
zval const_NOTATION_value;
ZVAL_LONG(&const_NOTATION_value, XML_READER_TYPE_NOTATION);
zend_string *const_NOTATION_name = zend_string_init_interned("NOTATION", sizeof("NOTATION") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_NOTATION_name, &const_NOTATION_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_NOTATION_name);
zval const_WHITESPACE_value;
ZVAL_LONG(&const_WHITESPACE_value, XML_READER_TYPE_WHITESPACE);
zend_string *const_WHITESPACE_name = zend_string_init_interned("WHITESPACE", sizeof("WHITESPACE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_WHITESPACE_name, &const_WHITESPACE_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_WHITESPACE_name);
zval const_SIGNIFICANT_WHITESPACE_value;
ZVAL_LONG(&const_SIGNIFICANT_WHITESPACE_value, XML_READER_TYPE_SIGNIFICANT_WHITESPACE);
zend_string *const_SIGNIFICANT_WHITESPACE_name = zend_string_init_interned("SIGNIFICANT_WHITESPACE", sizeof("SIGNIFICANT_WHITESPACE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_SIGNIFICANT_WHITESPACE_name, &const_SIGNIFICANT_WHITESPACE_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_SIGNIFICANT_WHITESPACE_name);
zval const_END_ELEMENT_value;
ZVAL_LONG(&const_END_ELEMENT_value, XML_READER_TYPE_END_ELEMENT);
zend_string *const_END_ELEMENT_name = zend_string_init_interned("END_ELEMENT", sizeof("END_ELEMENT") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_END_ELEMENT_name, &const_END_ELEMENT_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_END_ELEMENT_name);
zval const_END_ENTITY_value;
ZVAL_LONG(&const_END_ENTITY_value, XML_READER_TYPE_END_ENTITY);
zend_string *const_END_ENTITY_name = zend_string_init_interned("END_ENTITY", sizeof("END_ENTITY") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_END_ENTITY_name, &const_END_ENTITY_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_END_ENTITY_name);
zval const_XML_DECLARATION_value;
ZVAL_LONG(&const_XML_DECLARATION_value, XML_READER_TYPE_XML_DECLARATION);
zend_string *const_XML_DECLARATION_name = zend_string_init_interned("XML_DECLARATION", sizeof("XML_DECLARATION") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_XML_DECLARATION_name, &const_XML_DECLARATION_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_XML_DECLARATION_name);
zval const_LOADDTD_value;
ZVAL_LONG(&const_LOADDTD_value, XML_PARSER_LOADDTD);
zend_string *const_LOADDTD_name = zend_string_init_interned("LOADDTD", sizeof("LOADDTD") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_LOADDTD_name, &const_LOADDTD_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_LOADDTD_name);
zval const_DEFAULTATTRS_value;
ZVAL_LONG(&const_DEFAULTATTRS_value, XML_PARSER_DEFAULTATTRS);
zend_string *const_DEFAULTATTRS_name = zend_string_init_interned("DEFAULTATTRS", sizeof("DEFAULTATTRS") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_DEFAULTATTRS_name, &const_DEFAULTATTRS_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_DEFAULTATTRS_name);
zval const_VALIDATE_value;
ZVAL_LONG(&const_VALIDATE_value, XML_PARSER_VALIDATE);
zend_string *const_VALIDATE_name = zend_string_init_interned("VALIDATE", sizeof("VALIDATE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_VALIDATE_name, &const_VALIDATE_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_VALIDATE_name);
zval const_SUBST_ENTITIES_value;
ZVAL_LONG(&const_SUBST_ENTITIES_value, XML_PARSER_SUBST_ENTITIES);
zend_string *const_SUBST_ENTITIES_name = zend_string_init_interned("SUBST_ENTITIES", sizeof("SUBST_ENTITIES") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_SUBST_ENTITIES_name, &const_SUBST_ENTITIES_value, ZEND_ACC_PUBLIC, NULL);
zend_string_release(const_SUBST_ENTITIES_name);
zval property_attributeCount_default_value;
ZVAL_UNDEF(&property_attributeCount_default_value);
zend_string *property_attributeCount_name = zend_string_init("attributeCount", sizeof("attributeCount") - 1, 1);