Skip to content

Commit 616027c

Browse files
committed
Add ext/xmlreader stubs
1 parent f3dad04 commit 616027c

File tree

3 files changed

+176
-125
lines changed

3 files changed

+176
-125
lines changed

ext/xmlreader/php_xmlreader.c

Lines changed: 26 additions & 125 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#endif
3232
#include <libxml/xmlreader.h>
3333
#include <libxml/uri.h>
34+
#include "xmlreader_arginfo.h"
3435

3536
zend_class_entry *xmlreader_class_entry;
3637

@@ -1132,135 +1133,35 @@ PHP_METHOD(xmlreader, expand)
11321133
}
11331134
/* }}} */
11341135

1135-
/* {{{ arginfo */
1136-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_close, 0)
1137-
ZEND_END_ARG_INFO()
1138-
1139-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_getAttribute, 0)
1140-
ZEND_ARG_INFO(0, name)
1141-
ZEND_END_ARG_INFO()
1142-
1143-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_getAttributeNo, 0)
1144-
ZEND_ARG_INFO(0, index)
1145-
ZEND_END_ARG_INFO()
1146-
1147-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_getAttributeNs, 0)
1148-
ZEND_ARG_INFO(0, name)
1149-
ZEND_ARG_INFO(0, namespaceURI)
1150-
ZEND_END_ARG_INFO()
1151-
1152-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_getParserProperty, 0)
1153-
ZEND_ARG_INFO(0, property)
1154-
ZEND_END_ARG_INFO()
1155-
1156-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_isValid, 0)
1157-
ZEND_END_ARG_INFO()
1158-
1159-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_lookupNamespace, 0)
1160-
ZEND_ARG_INFO(0, prefix)
1161-
ZEND_END_ARG_INFO()
1162-
1163-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_moveToAttribute, 0)
1164-
ZEND_ARG_INFO(0, name)
1165-
ZEND_END_ARG_INFO()
1166-
1167-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_moveToAttributeNo, 0)
1168-
ZEND_ARG_INFO(0, index)
1169-
ZEND_END_ARG_INFO()
1170-
1171-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_moveToAttributeNs, 0)
1172-
ZEND_ARG_INFO(0, name)
1173-
ZEND_ARG_INFO(0, namespaceURI)
1174-
ZEND_END_ARG_INFO()
1175-
1176-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_moveToElement, 0)
1177-
ZEND_END_ARG_INFO()
1178-
1179-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_moveToFirstAttribute, 0)
1180-
ZEND_END_ARG_INFO()
1181-
1182-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_moveToNextAttribute, 0)
1183-
ZEND_END_ARG_INFO()
1184-
1185-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_read, 0)
1186-
ZEND_END_ARG_INFO()
1187-
1188-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlreader_next, 0, 0, 0)
1189-
ZEND_ARG_INFO(0, localname)
1190-
ZEND_END_ARG_INFO()
1191-
1192-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlreader_open, 0, 0, 1)
1193-
ZEND_ARG_INFO(0, URI)
1194-
ZEND_ARG_INFO(0, encoding)
1195-
ZEND_ARG_INFO(0, options)
1196-
ZEND_END_ARG_INFO()
1197-
1198-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_readInnerXml, 0)
1199-
ZEND_END_ARG_INFO()
1200-
1201-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_readOuterXml, 0)
1202-
ZEND_END_ARG_INFO()
1203-
1204-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_readString, 0)
1205-
ZEND_END_ARG_INFO()
1206-
1207-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_setSchema, 0)
1208-
ZEND_ARG_INFO(0, filename)
1209-
ZEND_END_ARG_INFO()
1210-
1211-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_setParserProperty, 0)
1212-
ZEND_ARG_INFO(0, property)
1213-
ZEND_ARG_INFO(0, value)
1214-
ZEND_END_ARG_INFO()
1215-
1216-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_setRelaxNGSchema, 0)
1217-
ZEND_ARG_INFO(0, filename)
1218-
ZEND_END_ARG_INFO()
1219-
1220-
ZEND_BEGIN_ARG_INFO(arginfo_xmlreader_setRelaxNGSchemaSource, 0)
1221-
ZEND_ARG_INFO(0, source)
1222-
ZEND_END_ARG_INFO()
1223-
1224-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlreader_XML, 0, 0, 1)
1225-
ZEND_ARG_INFO(0, source)
1226-
ZEND_ARG_INFO(0, encoding)
1227-
ZEND_ARG_INFO(0, options)
1228-
ZEND_END_ARG_INFO()
1229-
1230-
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlreader_expand, 0, 0, 0)
1231-
ZEND_ARG_INFO(0, basenode)
1232-
ZEND_END_ARG_INFO()
1233-
/* }}} */
1234-
12351136
static const zend_function_entry xmlreader_functions[] /* {{{ */ = {
1236-
PHP_ME(xmlreader, close, arginfo_xmlreader_close, ZEND_ACC_PUBLIC)
1237-
PHP_ME(xmlreader, getAttribute, arginfo_xmlreader_getAttribute, ZEND_ACC_PUBLIC)
1238-
PHP_ME(xmlreader, getAttributeNo, arginfo_xmlreader_getAttributeNo, ZEND_ACC_PUBLIC)
1239-
PHP_ME(xmlreader, getAttributeNs, arginfo_xmlreader_getAttributeNs, ZEND_ACC_PUBLIC)
1240-
PHP_ME(xmlreader, getParserProperty, arginfo_xmlreader_getParserProperty, ZEND_ACC_PUBLIC)
1241-
PHP_ME(xmlreader, isValid, arginfo_xmlreader_isValid, ZEND_ACC_PUBLIC)
1242-
PHP_ME(xmlreader, lookupNamespace, arginfo_xmlreader_lookupNamespace, ZEND_ACC_PUBLIC)
1243-
PHP_ME(xmlreader, moveToAttributeNo, arginfo_xmlreader_moveToAttributeNo, ZEND_ACC_PUBLIC)
1244-
PHP_ME(xmlreader, moveToAttribute, arginfo_xmlreader_moveToAttribute, ZEND_ACC_PUBLIC)
1245-
PHP_ME(xmlreader, moveToAttributeNs, arginfo_xmlreader_moveToAttributeNs, ZEND_ACC_PUBLIC)
1246-
PHP_ME(xmlreader, moveToElement, arginfo_xmlreader_moveToElement, ZEND_ACC_PUBLIC)
1247-
PHP_ME(xmlreader, moveToFirstAttribute, arginfo_xmlreader_moveToFirstAttribute, ZEND_ACC_PUBLIC)
1248-
PHP_ME(xmlreader, moveToNextAttribute, arginfo_xmlreader_moveToNextAttribute, ZEND_ACC_PUBLIC)
1249-
PHP_ME(xmlreader, open, arginfo_xmlreader_open, ZEND_ACC_PUBLIC)
1250-
PHP_ME(xmlreader, read, arginfo_xmlreader_read, ZEND_ACC_PUBLIC)
1251-
PHP_ME(xmlreader, next, arginfo_xmlreader_next, ZEND_ACC_PUBLIC)
1252-
PHP_ME(xmlreader, readInnerXml, arginfo_xmlreader_readInnerXml, ZEND_ACC_PUBLIC)
1253-
PHP_ME(xmlreader, readOuterXml, arginfo_xmlreader_readOuterXml, ZEND_ACC_PUBLIC)
1254-
PHP_ME(xmlreader, readString, arginfo_xmlreader_readString, ZEND_ACC_PUBLIC)
1255-
PHP_ME(xmlreader, setSchema, arginfo_xmlreader_setSchema, ZEND_ACC_PUBLIC)
1137+
PHP_ME(xmlreader, close, arginfo_class_XMLReader_close, ZEND_ACC_PUBLIC)
1138+
PHP_ME(xmlreader, getAttribute, arginfo_class_XMLReader_getAttribute, ZEND_ACC_PUBLIC)
1139+
PHP_ME(xmlreader, getAttributeNo, arginfo_class_XMLReader_getAttributeNo, ZEND_ACC_PUBLIC)
1140+
PHP_ME(xmlreader, getAttributeNs, arginfo_class_XMLReader_getAttributeNs, ZEND_ACC_PUBLIC)
1141+
PHP_ME(xmlreader, getParserProperty, arginfo_class_XMLReader_getParserProperty, ZEND_ACC_PUBLIC)
1142+
PHP_ME(xmlreader, isValid, arginfo_class_XMLReader_isValid, ZEND_ACC_PUBLIC)
1143+
PHP_ME(xmlreader, lookupNamespace, arginfo_class_XMLReader_lookupNamespace, ZEND_ACC_PUBLIC)
1144+
PHP_ME(xmlreader, moveToAttributeNo, arginfo_class_XMLReader_moveToAttributeNo, ZEND_ACC_PUBLIC)
1145+
PHP_ME(xmlreader, moveToAttribute, arginfo_class_XMLReader_moveToAttribute, ZEND_ACC_PUBLIC)
1146+
PHP_ME(xmlreader, moveToAttributeNs, arginfo_class_XMLReader_moveToAttributeNs, ZEND_ACC_PUBLIC)
1147+
PHP_ME(xmlreader, moveToElement, arginfo_class_XMLReader_moveToElement, ZEND_ACC_PUBLIC)
1148+
PHP_ME(xmlreader, moveToFirstAttribute, arginfo_class_XMLReader_moveToFirstAttribute, ZEND_ACC_PUBLIC)
1149+
PHP_ME(xmlreader, moveToNextAttribute, arginfo_class_XMLReader_moveToNextAttribute, ZEND_ACC_PUBLIC)
1150+
PHP_ME(xmlreader, open, arginfo_class_XMLReader_open, ZEND_ACC_PUBLIC)
1151+
PHP_ME(xmlreader, read, arginfo_class_XMLReader_read, ZEND_ACC_PUBLIC)
1152+
PHP_ME(xmlreader, next, arginfo_class_XMLReader_next, ZEND_ACC_PUBLIC)
1153+
PHP_ME(xmlreader, readInnerXml, arginfo_class_XMLReader_readInnerXml, ZEND_ACC_PUBLIC)
1154+
PHP_ME(xmlreader, readOuterXml, arginfo_class_XMLReader_readOuterXml, ZEND_ACC_PUBLIC)
1155+
PHP_ME(xmlreader, readString, arginfo_class_XMLReader_readString, ZEND_ACC_PUBLIC)
1156+
PHP_ME(xmlreader, setSchema, arginfo_class_XMLReader_setSchema, ZEND_ACC_PUBLIC)
12561157
/* Not Yet Implemented though defined in libxml as of 2.6.9dev
12571158
PHP_ME(xmlreader, resetState, NULL, ZEND_ACC_PUBLIC)
12581159
*/
1259-
PHP_ME(xmlreader, setParserProperty, arginfo_xmlreader_setParserProperty, ZEND_ACC_PUBLIC)
1260-
PHP_ME(xmlreader, setRelaxNGSchema, arginfo_xmlreader_setRelaxNGSchema, ZEND_ACC_PUBLIC)
1261-
PHP_ME(xmlreader, setRelaxNGSchemaSource, arginfo_xmlreader_setRelaxNGSchemaSource, ZEND_ACC_PUBLIC)
1262-
PHP_ME(xmlreader, XML, arginfo_xmlreader_XML, ZEND_ACC_PUBLIC)
1263-
PHP_ME(xmlreader, expand, arginfo_xmlreader_expand, ZEND_ACC_PUBLIC)
1160+
PHP_ME(xmlreader, setParserProperty, arginfo_class_XMLReader_setParserProperty, ZEND_ACC_PUBLIC)
1161+
PHP_ME(xmlreader, setRelaxNGSchema, arginfo_class_XMLReader_setRelaxNGSchema, ZEND_ACC_PUBLIC)
1162+
PHP_ME(xmlreader, setRelaxNGSchemaSource, arginfo_class_XMLReader_setRelaxNGSchemaSource, ZEND_ACC_PUBLIC)
1163+
PHP_ME(xmlreader, XML, arginfo_class_XMLReader_XML, ZEND_ACC_PUBLIC)
1164+
PHP_ME(xmlreader, expand, arginfo_class_XMLReader_expand, ZEND_ACC_PUBLIC)
12641165
PHP_FE_END
12651166
}; /* }}} */
12661167

ext/xmlreader/xmlreader.stub.php

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?php
2+
3+
class XMLReader
4+
{
5+
function close(): bool {}
6+
7+
/** @return string|null|false */
8+
function getAttribute(string $name) {}
9+
10+
function getAttributeNo(int $index): ?string {}
11+
12+
/** @return string|null|false */
13+
function getAttributeNs(string $name, string $namespaceURI) {}
14+
15+
function getParserProperty(int $property): bool {}
16+
17+
function isValid(): bool {}
18+
19+
/** @return string|null|false */
20+
function lookupNamespace(string $prefix) {}
21+
22+
function moveToAttribute(string $name): bool {}
23+
24+
function moveToAttributeNo(int $index): bool {}
25+
26+
function moveToAttributeNs(string $name, string $namespaceURI): bool {}
27+
28+
function moveToElement(): bool {}
29+
30+
function moveToFirstAttribute(): bool {}
31+
32+
function moveToNextAttribute(): bool {}
33+
34+
function read(): bool {}
35+
36+
function next(string $localname = UNKNOWN): bool {}
37+
38+
function open(string $URI, ?string $encoding = null, int $options = 0): bool {}
39+
40+
function readInnerXml(): string {}
41+
42+
function readOuterXml(): string {}
43+
44+
function readString(): string {}
45+
46+
function setSchema(?string $filename) {}
47+
48+
function setParserProperty(int $property, bool $value): bool {}
49+
50+
function setRelaxNGSchema(?string $filename): bool {}
51+
52+
function setRelaxNGSchemaSource(?string $source): bool {}
53+
54+
function XML(string $source, ?string $encoding = null, int $options = 0): bool {}
55+
56+
/** @return DOMNode|bool */
57+
function expand(?DOMNode $basenode = null) {}
58+
}

ext/xmlreader/xmlreader_arginfo.h

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
/* This is a generated file, edit the .stub.php file instead. */
2+
3+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_close, 0, 0, _IS_BOOL, 0)
4+
ZEND_END_ARG_INFO()
5+
6+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_getAttribute, 0, 0, 1)
7+
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
8+
ZEND_END_ARG_INFO()
9+
10+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_getAttributeNo, 0, 1, IS_STRING, 1)
11+
ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
12+
ZEND_END_ARG_INFO()
13+
14+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_getAttributeNs, 0, 0, 2)
15+
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
16+
ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
17+
ZEND_END_ARG_INFO()
18+
19+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_getParserProperty, 0, 1, _IS_BOOL, 0)
20+
ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
21+
ZEND_END_ARG_INFO()
22+
23+
#define arginfo_class_XMLReader_isValid arginfo_class_XMLReader_close
24+
25+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_lookupNamespace, 0, 0, 1)
26+
ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0)
27+
ZEND_END_ARG_INFO()
28+
29+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_moveToAttribute, 0, 1, _IS_BOOL, 0)
30+
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
31+
ZEND_END_ARG_INFO()
32+
33+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_moveToAttributeNo, 0, 1, _IS_BOOL, 0)
34+
ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
35+
ZEND_END_ARG_INFO()
36+
37+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_moveToAttributeNs, 0, 2, _IS_BOOL, 0)
38+
ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0)
39+
ZEND_ARG_TYPE_INFO(0, namespaceURI, IS_STRING, 0)
40+
ZEND_END_ARG_INFO()
41+
42+
#define arginfo_class_XMLReader_moveToElement arginfo_class_XMLReader_close
43+
44+
#define arginfo_class_XMLReader_moveToFirstAttribute arginfo_class_XMLReader_close
45+
46+
#define arginfo_class_XMLReader_moveToNextAttribute arginfo_class_XMLReader_close
47+
48+
#define arginfo_class_XMLReader_read arginfo_class_XMLReader_close
49+
50+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_next, 0, 0, _IS_BOOL, 0)
51+
ZEND_ARG_TYPE_INFO(0, localname, IS_STRING, 0)
52+
ZEND_END_ARG_INFO()
53+
54+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_open, 0, 1, _IS_BOOL, 0)
55+
ZEND_ARG_TYPE_INFO(0, URI, IS_STRING, 0)
56+
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 1)
57+
ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
58+
ZEND_END_ARG_INFO()
59+
60+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_readInnerXml, 0, 0, IS_STRING, 0)
61+
ZEND_END_ARG_INFO()
62+
63+
#define arginfo_class_XMLReader_readOuterXml arginfo_class_XMLReader_readInnerXml
64+
65+
#define arginfo_class_XMLReader_readString arginfo_class_XMLReader_readInnerXml
66+
67+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_setSchema, 0, 0, 1)
68+
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 1)
69+
ZEND_END_ARG_INFO()
70+
71+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_setParserProperty, 0, 2, _IS_BOOL, 0)
72+
ZEND_ARG_TYPE_INFO(0, property, IS_LONG, 0)
73+
ZEND_ARG_TYPE_INFO(0, value, _IS_BOOL, 0)
74+
ZEND_END_ARG_INFO()
75+
76+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_setRelaxNGSchema, 0, 1, _IS_BOOL, 0)
77+
ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 1)
78+
ZEND_END_ARG_INFO()
79+
80+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_setRelaxNGSchemaSource, 0, 1, _IS_BOOL, 0)
81+
ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 1)
82+
ZEND_END_ARG_INFO()
83+
84+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_XMLReader_XML, 0, 1, _IS_BOOL, 0)
85+
ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0)
86+
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 1)
87+
ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
88+
ZEND_END_ARG_INFO()
89+
90+
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_expand, 0, 0, 0)
91+
ZEND_ARG_OBJ_INFO(0, basenode, DOMNode, 1)
92+
ZEND_END_ARG_INFO()

0 commit comments

Comments
 (0)