Skip to content

Declare ext/xmlreader constants in stubs #9133

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 1 addition & 35 deletions ext/xmlreader/php_xmlreader.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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);
*/
Comment on lines -1215 to -1220
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Particularly nice to get rid of these. :)


return SUCCESS;
}
/* }}} */
Expand Down
3 changes: 0 additions & 3 deletions ext/xmlreader/php_xmlreader.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
117 changes: 117 additions & 0 deletions ext/xmlreader/php_xmlreader.stub.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
134 changes: 133 additions & 1 deletion ext/xmlreader/php_xmlreader_arginfo.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.