Skip to content

Commit 7f36328

Browse files
committed
Add ext/tidy stubs
1 parent 6072fe4 commit 7f36328

File tree

3 files changed

+357
-158
lines changed

3 files changed

+357
-158
lines changed

ext/tidy/tidy.c

+31-158
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040
#include "buffio.h"
4141
#endif
4242

43+
#include "tidy_arginfo.h"
44+
4345
/* compatibility with older versions of libtidy */
4446
#ifndef TIDY_CALL
4547
#define TIDY_CALL
@@ -280,135 +282,6 @@ STD_PHP_INI_ENTRY("tidy.default_config", "", PHP_INI_SYSTEM, OnUpdateString,
280282
STD_PHP_INI_ENTRY("tidy.clean_output", "0", PHP_INI_USER, php_tidy_set_clean_output, clean_output, zend_tidy_globals, tidy_globals)
281283
PHP_INI_END()
282284

283-
/* {{{ arginfo */
284-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_parse_string, 0, 0, 1)
285-
ZEND_ARG_INFO(0, input)
286-
ZEND_ARG_INFO(0, config_options)
287-
ZEND_ARG_INFO(0, encoding)
288-
ZEND_END_ARG_INFO()
289-
290-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_error_buffer, 0, 0, 1)
291-
ZEND_ARG_INFO(0, object)
292-
ZEND_END_ARG_INFO()
293-
294-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_output, 0, 0, 1)
295-
ZEND_ARG_INFO(0, object)
296-
ZEND_END_ARG_INFO()
297-
298-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_parse_file, 0, 0, 1)
299-
ZEND_ARG_INFO(0, file)
300-
ZEND_ARG_INFO(0, config_options)
301-
ZEND_ARG_INFO(0, encoding)
302-
ZEND_ARG_INFO(0, use_include_path)
303-
ZEND_END_ARG_INFO()
304-
305-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_clean_repair, 0, 0, 1)
306-
ZEND_ARG_INFO(0, object)
307-
ZEND_END_ARG_INFO()
308-
309-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_repair_string, 0, 0, 1)
310-
ZEND_ARG_INFO(0, data)
311-
ZEND_ARG_INFO(0, config_file)
312-
ZEND_ARG_INFO(0, encoding)
313-
ZEND_END_ARG_INFO()
314-
315-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_repair_file, 0, 0, 1)
316-
ZEND_ARG_INFO(0, filename)
317-
ZEND_ARG_INFO(0, config_file)
318-
ZEND_ARG_INFO(0, encoding)
319-
ZEND_ARG_INFO(0, use_include_path)
320-
ZEND_END_ARG_INFO()
321-
322-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_diagnose, 0, 0, 1)
323-
ZEND_ARG_INFO(0, object)
324-
ZEND_END_ARG_INFO()
325-
326-
ZEND_BEGIN_ARG_INFO(arginfo_tidy_no_args, 0)
327-
ZEND_END_ARG_INFO()
328-
329-
ZEND_BEGIN_ARG_INFO(arginfo_tidy_get_release, 0)
330-
ZEND_END_ARG_INFO()
331-
332-
#if HAVE_TIDYOPTGETDOC
333-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_opt_doc, 0, 0, 2)
334-
ZEND_ARG_INFO(0, resource)
335-
ZEND_ARG_INFO(0, optname)
336-
ZEND_END_ARG_INFO()
337-
338-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_opt_doc_method, 0, 0, 1)
339-
ZEND_ARG_INFO(0, optname)
340-
ZEND_END_ARG_INFO()
341-
#endif
342-
343-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_config, 0, 0, 1)
344-
ZEND_ARG_INFO(0, object)
345-
ZEND_END_ARG_INFO()
346-
347-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_status, 0, 0, 1)
348-
ZEND_ARG_INFO(0, object)
349-
ZEND_END_ARG_INFO()
350-
351-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_html_ver, 0, 0, 1)
352-
ZEND_ARG_INFO(0, object)
353-
ZEND_END_ARG_INFO()
354-
355-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_is_xhtml, 0, 0, 1)
356-
ZEND_ARG_INFO(0, object)
357-
ZEND_END_ARG_INFO()
358-
359-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_is_xml, 0, 0, 1)
360-
ZEND_ARG_INFO(0, object)
361-
ZEND_END_ARG_INFO()
362-
363-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_error_count, 0, 0, 1)
364-
ZEND_ARG_INFO(0, object)
365-
ZEND_END_ARG_INFO()
366-
367-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_warning_count, 0, 0, 1)
368-
ZEND_ARG_INFO(0, object)
369-
ZEND_END_ARG_INFO()
370-
371-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_access_count, 0, 0, 1)
372-
ZEND_ARG_INFO(0, object)
373-
ZEND_END_ARG_INFO()
374-
375-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_config_count, 0, 0, 1)
376-
ZEND_ARG_INFO(0, object)
377-
ZEND_END_ARG_INFO()
378-
379-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_getopt_method, 0, 0, 1)
380-
ZEND_ARG_INFO(0, option)
381-
ZEND_END_ARG_INFO()
382-
383-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_getopt, 0, 0, 2)
384-
ZEND_ARG_INFO(0, object)
385-
ZEND_ARG_INFO(0, option)
386-
ZEND_END_ARG_INFO()
387-
388-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_root, 0, 0, 1)
389-
ZEND_ARG_INFO(0, object)
390-
ZEND_END_ARG_INFO()
391-
392-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_html, 0, 0, 1)
393-
ZEND_ARG_INFO(0, object)
394-
ZEND_END_ARG_INFO()
395-
396-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_head, 0, 0, 1)
397-
ZEND_ARG_INFO(0, object)
398-
ZEND_END_ARG_INFO()
399-
400-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_get_body, 0, 0, 1)
401-
ZEND_ARG_INFO(0, tidy)
402-
ZEND_END_ARG_INFO()
403-
404-
ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_construct, 0, 0, 0)
405-
ZEND_ARG_INFO(0, filename)
406-
ZEND_ARG_INFO(0, config_file)
407-
ZEND_ARG_INFO(0, encoding)
408-
ZEND_ARG_INFO(0, use_include_path)
409-
ZEND_END_ARG_INFO()
410-
/* }}} */
411-
412285
static const zend_function_entry tidy_functions[] = {
413286
PHP_FE(tidy_getopt, arginfo_tidy_getopt)
414287
PHP_FE(tidy_parse_string, arginfo_tidy_parse_string)
@@ -440,41 +313,41 @@ static const zend_function_entry tidy_functions[] = {
440313
};
441314

442315
static const zend_function_entry tidy_funcs_doc[] = {
443-
TIDY_METHOD_MAP(getOpt, tidy_getopt, arginfo_tidy_getopt_method)
444-
TIDY_METHOD_MAP(cleanRepair, tidy_clean_repair, arginfo_tidy_no_args)
445-
TIDY_DOC_ME(parseFile, arginfo_tidy_parse_file)
446-
TIDY_DOC_ME(parseString, arginfo_tidy_parse_string)
447-
TIDY_METHOD_MAP(repairString, tidy_repair_string, arginfo_tidy_repair_string)
448-
TIDY_METHOD_MAP(repairFile, tidy_repair_file, arginfo_tidy_repair_file)
449-
TIDY_METHOD_MAP(diagnose, tidy_diagnose, arginfo_tidy_no_args)
450-
TIDY_METHOD_MAP(getRelease, tidy_get_release, arginfo_tidy_no_args)
451-
TIDY_METHOD_MAP(getConfig, tidy_get_config, arginfo_tidy_no_args)
452-
TIDY_METHOD_MAP(getStatus, tidy_get_status, arginfo_tidy_no_args)
453-
TIDY_METHOD_MAP(getHtmlVer, tidy_get_html_ver, arginfo_tidy_no_args)
316+
TIDY_METHOD_MAP(getOpt, tidy_getopt, arginfo_class_tidy_getOpt)
317+
TIDY_METHOD_MAP(cleanRepair, tidy_clean_repair, arginfo_class_tidy_cleanRepair)
318+
TIDY_DOC_ME(parseFile, arginfo_class_tidy_parseFile)
319+
TIDY_DOC_ME(parseString, arginfo_class_tidy_parseString)
320+
TIDY_METHOD_MAP(repairString, tidy_repair_string, arginfo_class_tidy_repairString)
321+
TIDY_METHOD_MAP(repairFile, tidy_repair_file, arginfo_class_tidy_repairFile)
322+
TIDY_METHOD_MAP(diagnose, tidy_diagnose, arginfo_class_tidy_diagnose)
323+
TIDY_METHOD_MAP(getRelease, tidy_get_release, arginfo_class_tidy_getRelease)
324+
TIDY_METHOD_MAP(getConfig, tidy_get_config, arginfo_class_tidy_getConfig)
325+
TIDY_METHOD_MAP(getStatus, tidy_get_status, arginfo_class_tidy_getStatus)
326+
TIDY_METHOD_MAP(getHtmlVer, tidy_get_html_ver, arginfo_class_tidy_getHtmlVer)
454327
#if HAVE_TIDYOPTGETDOC
455-
TIDY_METHOD_MAP(getOptDoc, tidy_get_opt_doc, arginfo_tidy_get_opt_doc_method)
328+
TIDY_METHOD_MAP(getOptDoc, tidy_get_opt_doc, arginfo_class_tidy_getOptDoc)
456329
#endif
457-
TIDY_METHOD_MAP(isXhtml, tidy_is_xhtml, arginfo_tidy_no_args)
458-
TIDY_METHOD_MAP(isXml, tidy_is_xml, arginfo_tidy_no_args)
459-
TIDY_METHOD_MAP(root, tidy_get_root, arginfo_tidy_no_args)
460-
TIDY_METHOD_MAP(head, tidy_get_head, arginfo_tidy_no_args)
461-
TIDY_METHOD_MAP(html, tidy_get_html, arginfo_tidy_no_args)
462-
TIDY_METHOD_MAP(body, tidy_get_body, arginfo_tidy_no_args)
463-
TIDY_DOC_ME(__construct, arginfo_tidy_construct)
330+
TIDY_METHOD_MAP(isXhtml, tidy_is_xhtml, arginfo_class_tidy_isXhtml)
331+
TIDY_METHOD_MAP(isXml, tidy_is_xml, arginfo_class_tidy_isXml)
332+
TIDY_METHOD_MAP(root, tidy_get_root, arginfo_class_tidy_root)
333+
TIDY_METHOD_MAP(head, tidy_get_head, arginfo_class_tidy_head)
334+
TIDY_METHOD_MAP(html, tidy_get_html, arginfo_class_tidy_html)
335+
TIDY_METHOD_MAP(body, tidy_get_body, arginfo_class_tidy_body)
336+
TIDY_DOC_ME(__construct, arginfo_class_tidy___construct)
464337
PHP_FE_END
465338
};
466339

467340
static const zend_function_entry tidy_funcs_node[] = {
468-
TIDY_NODE_ME(hasChildren, arginfo_tidy_no_args)
469-
TIDY_NODE_ME(hasSiblings, arginfo_tidy_no_args)
470-
TIDY_NODE_ME(isComment, arginfo_tidy_no_args)
471-
TIDY_NODE_ME(isHtml, arginfo_tidy_no_args)
472-
TIDY_NODE_ME(isText, arginfo_tidy_no_args)
473-
TIDY_NODE_ME(isJste, arginfo_tidy_no_args)
474-
TIDY_NODE_ME(isAsp, arginfo_tidy_no_args)
475-
TIDY_NODE_ME(isPhp, arginfo_tidy_no_args)
476-
TIDY_NODE_ME(getParent, arginfo_tidy_no_args)
477-
TIDY_NODE_PRIVATE_ME(__construct, arginfo_tidy_no_args)
341+
TIDY_NODE_ME(hasChildren, arginfo_class_tidyNode_hasChildren)
342+
TIDY_NODE_ME(hasSiblings, arginfo_class_tidyNode_hasSiblings)
343+
TIDY_NODE_ME(isComment, arginfo_class_tidyNode_isComment)
344+
TIDY_NODE_ME(isHtml, arginfo_class_tidyNode_isHtml)
345+
TIDY_NODE_ME(isText, arginfo_class_tidyNode_isText)
346+
TIDY_NODE_ME(isJste, arginfo_class_tidyNode_isJste)
347+
TIDY_NODE_ME(isAsp, arginfo_class_tidyNode_isAsp)
348+
TIDY_NODE_ME(isPhp, arginfo_class_tidyNode_isPhp)
349+
TIDY_NODE_ME(getParent, arginfo_class_tidyNode_getParent)
350+
TIDY_NODE_PRIVATE_ME(__construct, arginfo_class_tidyNode___construct)
478351
PHP_FE_END
479352
};
480353

ext/tidy/tidy.stub.php

+143
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?php
2+
3+
/**
4+
* @param array|string $config_options
5+
* @return tidy|false
6+
*/
7+
function tidy_parse_string(string $input, $config_options = UNKNOWN, string $encoding = UNKNOWN) {}
8+
9+
/** @return string|false */
10+
function tidy_get_error_buffer(tidy $object) {}
11+
12+
function tidy_get_output(tidy $object): string {}
13+
14+
/**
15+
* @param array|string $config_options
16+
* @return tidy|false
17+
*/
18+
function tidy_parse_file(string $file, $config_options = UNKNOWN, string $encoding = UNKNOWN, bool $use_include_path = false) {}
19+
20+
function tidy_clean_repair(tidy $object): bool {}
21+
22+
/**
23+
* @param array|string $config_options
24+
* @return string|false
25+
*/
26+
function tidy_repair_string(string $data, $config_file = UNKNOWN, string $encoding = UNKNOWN, bool $use_include_path = false) {}
27+
28+
/**
29+
* @param array|string $config_options
30+
* @return string|false
31+
*/
32+
function tidy_repair_file(string $filename, $config_file = UNKNOWN, string $encoding = UNKNOWN, bool $use_include_path = false) {}
33+
34+
function tidy_diagnose(tidy $object): bool {}
35+
36+
function tidy_get_release(): string {}
37+
38+
#if HAVE_TIDYOPTGETDOC
39+
/** @return string|false */
40+
function tidy_get_opt_doc(tidy $object, string $optname) {}
41+
#endif
42+
43+
function tidy_get_config(tidy $object): array {}
44+
45+
function tidy_get_status(tidy $object): int {}
46+
47+
function tidy_get_html_ver(tidy $object): int {}
48+
49+
function tidy_is_xhtml(tidy $object): bool {}
50+
51+
function tidy_is_xml(tidy $object): bool {}
52+
53+
function tidy_error_count(tidy $object): int {}
54+
55+
function tidy_warning_count(tidy $object): int {}
56+
57+
function tidy_access_count(tidy $object): int {}
58+
59+
function tidy_config_count(tidy $object): int {}
60+
61+
/** @return string|int|bool */
62+
function tidy_getopt(tidy $object, string $option) {}
63+
64+
function tidy_get_root(tidy $object): ?tidyNode {}
65+
66+
function tidy_get_html(tidy $object): ?tidyNode {}
67+
68+
function tidy_get_head(tidy $object): ?tidyNode {}
69+
70+
function tidy_get_body(tidy $tidy): ?tidyNode {}
71+
72+
class tidy
73+
{
74+
/** @param array|string $config_options */
75+
public function __construct(string $filename = UNKNOWN, $config_file = UNKNOWN, string $encoding = UNKNOWN, bool $use_include_path = false) {}
76+
77+
/** @return string|int|bool */
78+
public function getOpt(string $option) {}
79+
80+
public function cleanRepair(): bool {}
81+
82+
/** @param array|string $config_options */
83+
public function parseFile(string $file, $config_options = UNKNOWN, string $encoding = UNKNOWN, bool $use_include_path = false): bool {}
84+
85+
/** @param array|string $config_options */
86+
public function parseString(string $input, $config_optinons = UNKNOWN, string $encoding = UNKNOWN): bool {}
87+
88+
/** @param array|string $config_options */
89+
public function repairString(string $data, $config_file = UNKNOWN, string $encoding = UNKNOWN): bool {}
90+
91+
/** @param array|string $config_options */
92+
public function repairFile(string $filename, $config_file = UNKNOWN, string $encoding = UNKNOWN, bool $use_include_path = false): bool {}
93+
94+
public function diagnose(): bool {}
95+
96+
public function getRelease(): string {}
97+
98+
public function getConfig(): array {}
99+
100+
public function getStatus(): int {}
101+
102+
public function getHtmlVer(): int {}
103+
104+
#if HAVE_TIDYOPTGETDOC
105+
/** @return string|false */
106+
public function getOptDoc(string $optname) {}
107+
#endif
108+
109+
public function isXhtml(): bool {}
110+
111+
public function isXml(): bool {}
112+
113+
public function root(): ?tidyNode {}
114+
115+
public function head(): ?tidyNode {}
116+
117+
public function html(): ?tidyNode {}
118+
119+
public function body(): ?tidyNode {}
120+
}
121+
122+
class tidyNode
123+
{
124+
private function __construct() {}
125+
126+
public function hasChildren(): bool {}
127+
128+
public function hasSiblings(): bool {}
129+
130+
public function isComment(): bool {}
131+
132+
public function isHtml(): bool {}
133+
134+
public function isText(): bool {}
135+
136+
public function isJste(): bool {}
137+
138+
public function isAsp(): bool {}
139+
140+
public function isPhp(): bool {}
141+
142+
public function getParent(): ?tidyNode {}
143+
}

0 commit comments

Comments
 (0)