Skip to content

Commit 920302e

Browse files
committed
Indicate that tidy's object methods expect 0 args
This prevents subclasses from being written with incompatible implementations, e.g. expecting more required args.
1 parent 879cd04 commit 920302e

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

ext/tidy/tidy.c

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_tidy_diagnose, 0, 0, 1)
329329
ZEND_ARG_INFO(0, object)
330330
ZEND_END_ARG_INFO()
331331

332+
ZEND_BEGIN_ARG_INFO(arginfo_tidy_no_args, 0)
333+
ZEND_END_ARG_INFO()
334+
332335
ZEND_BEGIN_ARG_INFO(arginfo_tidy_get_release, 0)
333336
ZEND_END_ARG_INFO()
334337

@@ -444,40 +447,40 @@ static const zend_function_entry tidy_functions[] = {
444447

445448
static const zend_function_entry tidy_funcs_doc[] = {
446449
TIDY_METHOD_MAP(getOpt, tidy_getopt, arginfo_tidy_getopt_method)
447-
TIDY_METHOD_MAP(cleanRepair, tidy_clean_repair, NULL)
450+
TIDY_METHOD_MAP(cleanRepair, tidy_clean_repair, arginfo_tidy_no_args)
448451
TIDY_DOC_ME(parseFile, arginfo_tidy_parse_file)
449452
TIDY_DOC_ME(parseString, arginfo_tidy_parse_string)
450453
TIDY_METHOD_MAP(repairString, tidy_repair_string, arginfo_tidy_repair_string)
451454
TIDY_METHOD_MAP(repairFile, tidy_repair_file, arginfo_tidy_repair_file)
452-
TIDY_METHOD_MAP(diagnose, tidy_diagnose, NULL)
453-
TIDY_METHOD_MAP(getRelease, tidy_get_release, NULL)
454-
TIDY_METHOD_MAP(getConfig, tidy_get_config, NULL)
455-
TIDY_METHOD_MAP(getStatus, tidy_get_status, NULL)
456-
TIDY_METHOD_MAP(getHtmlVer, tidy_get_html_ver, NULL)
455+
TIDY_METHOD_MAP(diagnose, tidy_diagnose, arginfo_tidy_no_args)
456+
TIDY_METHOD_MAP(getRelease, tidy_get_release, arginfo_tidy_no_args)
457+
TIDY_METHOD_MAP(getConfig, tidy_get_config, arginfo_tidy_no_args)
458+
TIDY_METHOD_MAP(getStatus, tidy_get_status, arginfo_tidy_no_args)
459+
TIDY_METHOD_MAP(getHtmlVer, tidy_get_html_ver, arginfo_tidy_no_args)
457460
#if HAVE_TIDYOPTGETDOC
458461
TIDY_METHOD_MAP(getOptDoc, tidy_get_opt_doc, arginfo_tidy_get_opt_doc_method)
459462
#endif
460-
TIDY_METHOD_MAP(isXhtml, tidy_is_xhtml, NULL)
461-
TIDY_METHOD_MAP(isXml, tidy_is_xml, NULL)
462-
TIDY_METHOD_MAP(root, tidy_get_root, NULL)
463-
TIDY_METHOD_MAP(head, tidy_get_head, NULL)
464-
TIDY_METHOD_MAP(html, tidy_get_html, NULL)
465-
TIDY_METHOD_MAP(body, tidy_get_body, NULL)
463+
TIDY_METHOD_MAP(isXhtml, tidy_is_xhtml, arginfo_tidy_no_args)
464+
TIDY_METHOD_MAP(isXml, tidy_is_xml, arginfo_tidy_no_args)
465+
TIDY_METHOD_MAP(root, tidy_get_root, arginfo_tidy_no_args)
466+
TIDY_METHOD_MAP(head, tidy_get_head, arginfo_tidy_no_args)
467+
TIDY_METHOD_MAP(html, tidy_get_html, arginfo_tidy_no_args)
468+
TIDY_METHOD_MAP(body, tidy_get_body, arginfo_tidy_no_args)
466469
TIDY_DOC_ME(__construct, arginfo_tidy_construct)
467470
PHP_FE_END
468471
};
469472

470473
static const zend_function_entry tidy_funcs_node[] = {
471-
TIDY_NODE_ME(hasChildren, NULL)
472-
TIDY_NODE_ME(hasSiblings, NULL)
473-
TIDY_NODE_ME(isComment, NULL)
474-
TIDY_NODE_ME(isHtml, NULL)
475-
TIDY_NODE_ME(isText, NULL)
476-
TIDY_NODE_ME(isJste, NULL)
477-
TIDY_NODE_ME(isAsp, NULL)
478-
TIDY_NODE_ME(isPhp, NULL)
479-
TIDY_NODE_ME(getParent, NULL)
480-
TIDY_NODE_PRIVATE_ME(__construct, NULL)
474+
TIDY_NODE_ME(hasChildren, arginfo_tidy_no_args)
475+
TIDY_NODE_ME(hasSiblings, arginfo_tidy_no_args)
476+
TIDY_NODE_ME(isComment, arginfo_tidy_no_args)
477+
TIDY_NODE_ME(isHtml, arginfo_tidy_no_args)
478+
TIDY_NODE_ME(isText, arginfo_tidy_no_args)
479+
TIDY_NODE_ME(isJste, arginfo_tidy_no_args)
480+
TIDY_NODE_ME(isAsp, arginfo_tidy_no_args)
481+
TIDY_NODE_ME(isPhp, arginfo_tidy_no_args)
482+
TIDY_NODE_ME(getParent, arginfo_tidy_no_args)
483+
TIDY_NODE_PRIVATE_ME(__construct, arginfo_tidy_no_args)
481484
PHP_FE_END
482485
};
483486

0 commit comments

Comments
 (0)