Skip to content

Commit 60cae26

Browse files
authored
Declare ext/xmlreader constants in stubs (#9133)
1 parent 04f6fe4 commit 60cae26

File tree

4 files changed

+251
-39
lines changed

4 files changed

+251
-39
lines changed

ext/xmlreader/php_xmlreader.c

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323
#include "php_ini.h"
2424
#include "ext/standard/info.h"
2525
#include "php_xmlreader.h"
26-
#include "php_xmlreader_arginfo.h"
2726
#ifdef HAVE_DOM
2827
#include "ext/dom/xml_common.h"
2928
#include "ext/dom/dom_ce.h"
3029
#endif
3130
#include <libxml/xmlreader.h>
3231
#include <libxml/uri.h>
32+
#include "php_xmlreader_arginfo.h"
3333

3434
zend_class_entry *xmlreader_class_entry;
3535

@@ -1185,40 +1185,6 @@ PHP_MINIT_FUNCTION(xmlreader)
11851185
xmlreader_register_prop_handler(&xmlreader_prop_handlers, "value", NULL, xmlTextReaderConstValue, IS_STRING);
11861186
xmlreader_register_prop_handler(&xmlreader_prop_handlers, "xmlLang", NULL, xmlTextReaderConstXmlLang, IS_STRING);
11871187

1188-
/* Constants for NodeType - cannot define common types to share with dom as there are differences in these types */
1189-
1190-
REGISTER_XMLREADER_CLASS_CONST_LONG("NONE", XML_READER_TYPE_NONE);
1191-
REGISTER_XMLREADER_CLASS_CONST_LONG("ELEMENT", XML_READER_TYPE_ELEMENT);
1192-
REGISTER_XMLREADER_CLASS_CONST_LONG("ATTRIBUTE", XML_READER_TYPE_ATTRIBUTE);
1193-
REGISTER_XMLREADER_CLASS_CONST_LONG("TEXT", XML_READER_TYPE_TEXT);
1194-
REGISTER_XMLREADER_CLASS_CONST_LONG("CDATA", XML_READER_TYPE_CDATA);
1195-
REGISTER_XMLREADER_CLASS_CONST_LONG("ENTITY_REF", XML_READER_TYPE_ENTITY_REFERENCE);
1196-
REGISTER_XMLREADER_CLASS_CONST_LONG("ENTITY", XML_READER_TYPE_ENTITY);
1197-
REGISTER_XMLREADER_CLASS_CONST_LONG("PI", XML_READER_TYPE_PROCESSING_INSTRUCTION);
1198-
REGISTER_XMLREADER_CLASS_CONST_LONG("COMMENT", XML_READER_TYPE_COMMENT);
1199-
REGISTER_XMLREADER_CLASS_CONST_LONG("DOC", XML_READER_TYPE_DOCUMENT);
1200-
REGISTER_XMLREADER_CLASS_CONST_LONG("DOC_TYPE", XML_READER_TYPE_DOCUMENT_TYPE);
1201-
REGISTER_XMLREADER_CLASS_CONST_LONG("DOC_FRAGMENT", XML_READER_TYPE_DOCUMENT_FRAGMENT);
1202-
REGISTER_XMLREADER_CLASS_CONST_LONG("NOTATION", XML_READER_TYPE_NOTATION);
1203-
REGISTER_XMLREADER_CLASS_CONST_LONG("WHITESPACE", XML_READER_TYPE_WHITESPACE);
1204-
REGISTER_XMLREADER_CLASS_CONST_LONG("SIGNIFICANT_WHITESPACE", XML_READER_TYPE_SIGNIFICANT_WHITESPACE);
1205-
REGISTER_XMLREADER_CLASS_CONST_LONG("END_ELEMENT", XML_READER_TYPE_END_ELEMENT);
1206-
REGISTER_XMLREADER_CLASS_CONST_LONG("END_ENTITY", XML_READER_TYPE_END_ENTITY);
1207-
REGISTER_XMLREADER_CLASS_CONST_LONG("XML_DECLARATION", XML_READER_TYPE_XML_DECLARATION);
1208-
1209-
/* Constants for Parser options */
1210-
REGISTER_XMLREADER_CLASS_CONST_LONG("LOADDTD", XML_PARSER_LOADDTD);
1211-
REGISTER_XMLREADER_CLASS_CONST_LONG("DEFAULTATTRS", XML_PARSER_DEFAULTATTRS);
1212-
REGISTER_XMLREADER_CLASS_CONST_LONG("VALIDATE", XML_PARSER_VALIDATE);
1213-
REGISTER_XMLREADER_CLASS_CONST_LONG("SUBST_ENTITIES", XML_PARSER_SUBST_ENTITIES);
1214-
1215-
/* Constants for Errors when loading - not yet used until we implement custom error handling
1216-
REGISTER_XMLREADER_CLASS_CONST_LONG("VALIDITY_WARNING", XML_PARSER_SEVERITY_VALIDITY_WARNING, CONST_CS | CONST_PERSISTENT);
1217-
REGISTER_XMLREADER_CLASS_CONST_LONG("VALIDITY_ERROR", XML_PARSER_SEVERITY_VALIDITY_ERROR, CONST_CS | CONST_PERSISTENT);
1218-
REGISTER_XMLREADER_CLASS_CONST_LONG("WARNING", XML_PARSER_SEVERITY_WARNING, CONST_CS | CONST_PERSISTENT);
1219-
REGISTER_XMLREADER_CLASS_CONST_LONG("ERROR", XML_PARSER_SEVERITY_ERROR, CONST_CS | CONST_PERSISTENT);
1220-
*/
1221-
12221188
return SUCCESS;
12231189
}
12241190
/* }}} */

ext/xmlreader/php_xmlreader.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,4 @@ PHP_MINIT_FUNCTION(xmlreader);
5757
PHP_MSHUTDOWN_FUNCTION(xmlreader);
5858
PHP_MINFO_FUNCTION(xmlreader);
5959

60-
#define REGISTER_XMLREADER_CLASS_CONST_LONG(const_name, value) \
61-
zend_declare_class_constant_long(xmlreader_class_entry, const_name, sizeof(const_name)-1, (zend_long)value);
62-
6360
#endif /* PHP_XMLREADER_H */

ext/xmlreader/php_xmlreader.stub.php

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,123 @@
44

55
class XMLReader
66
{
7+
/* Constants for NodeType - cannot define common types to share with dom as there are differences in these types */
8+
9+
/**
10+
* @var int
11+
* @cvalue XML_READER_TYPE_NONE
12+
*/
13+
public const NONE = UNKNOWN;
14+
/**
15+
* @var int
16+
* @cvalue XML_READER_TYPE_ELEMENT
17+
*/
18+
public const ELEMENT = UNKNOWN;
19+
/**
20+
* @var int
21+
* @cvalue XML_READER_TYPE_ATTRIBUTE
22+
*/
23+
public const ATTRIBUTE = UNKNOWN;
24+
/**
25+
* @var int
26+
* @cvalue XML_READER_TYPE_TEXT
27+
*/
28+
public const TEXT = UNKNOWN;
29+
/**
30+
* @var int
31+
* @cvalue XML_READER_TYPE_CDATA
32+
*/
33+
public const CDATA = UNKNOWN;
34+
/**
35+
* @var int
36+
* @cvalue XML_READER_TYPE_ENTITY_REFERENCE
37+
*/
38+
public const ENTITY_REF = UNKNOWN;
39+
/**
40+
* @var int
41+
* @cvalue XML_READER_TYPE_ENTITY
42+
*/
43+
public const ENTITY = UNKNOWN;
44+
/**
45+
* @var int
46+
* @cvalue XML_READER_TYPE_PROCESSING_INSTRUCTION
47+
*/
48+
public const PI = UNKNOWN;
49+
/**
50+
* @var int
51+
* @cvalue XML_READER_TYPE_COMMENT
52+
*/
53+
public const COMMENT = UNKNOWN;
54+
/**
55+
* @var int
56+
* @cvalue XML_READER_TYPE_DOCUMENT
57+
*/
58+
public const DOC = UNKNOWN;
59+
/**
60+
* @var int
61+
* @cvalue XML_READER_TYPE_DOCUMENT_TYPE
62+
*/
63+
public const DOC_TYPE = UNKNOWN;
64+
/**
65+
* @var int
66+
* @cvalue XML_READER_TYPE_DOCUMENT_FRAGMENT
67+
*/
68+
public const DOC_FRAGMENT = UNKNOWN;
69+
/**
70+
* @var int
71+
* @cvalue XML_READER_TYPE_NOTATION
72+
*/
73+
public const NOTATION = UNKNOWN;
74+
/**
75+
* @var int
76+
* @cvalue XML_READER_TYPE_WHITESPACE
77+
*/
78+
public const WHITESPACE = UNKNOWN;
79+
/**
80+
* @var int
81+
* @cvalue XML_READER_TYPE_SIGNIFICANT_WHITESPACE
82+
*/
83+
public const SIGNIFICANT_WHITESPACE = UNKNOWN;
84+
/**
85+
* @var int
86+
* @cvalue XML_READER_TYPE_END_ELEMENT
87+
*/
88+
public const END_ELEMENT = UNKNOWN;
89+
/**
90+
* @var int
91+
* @cvalue XML_READER_TYPE_END_ENTITY
92+
*/
93+
public const END_ENTITY = UNKNOWN;
94+
/**
95+
* @var int
96+
* @cvalue XML_READER_TYPE_XML_DECLARATION
97+
*/
98+
public const XML_DECLARATION = UNKNOWN;
99+
100+
/* Constants for Parser options */
101+
102+
/**
103+
* @var int
104+
* @cvalue XML_PARSER_LOADDTD
105+
*/
106+
public const LOADDTD = UNKNOWN;
107+
/**
108+
* @var int
109+
* @cvalue XML_PARSER_DEFAULTATTRS
110+
*/
111+
public const DEFAULTATTRS = UNKNOWN;
112+
/**
113+
* @var int
114+
* @cvalue XML_PARSER_VALIDATE
115+
*/
116+
public const VALIDATE = UNKNOWN;
117+
/**
118+
* @var int
119+
* @cvalue XML_PARSER_SUBST_ENTITIES
120+
*/
121+
public const SUBST_ENTITIES = UNKNOWN;
122+
123+
7124
public int $attributeCount;
8125

9126
public string $baseURI;

ext/xmlreader/php_xmlreader_arginfo.h

Lines changed: 133 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)