Convert gettext functions arginfo to php stubs

Closes GH-4506
This commit is contained in:
Craig Duncan 2019-08-10 15:39:25 +01:00 committed by Craig Duncan
parent b98bc5bd92
commit f9980e609e
3 changed files with 96 additions and 60 deletions

View file

@ -27,66 +27,7 @@
#include <stdio.h>
#include "ext/standard/info.h"
#include "php_gettext.h"
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO(arginfo_textdomain, 0)
ZEND_ARG_INFO(0, domain)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_gettext, 0)
ZEND_ARG_INFO(0, msgid)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_dgettext, 0)
ZEND_ARG_INFO(0, domain_name)
ZEND_ARG_INFO(0, msgid)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_dcgettext, 0)
ZEND_ARG_INFO(0, domain_name)
ZEND_ARG_INFO(0, msgid)
ZEND_ARG_INFO(0, category)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_bindtextdomain, 0)
ZEND_ARG_INFO(0, domain_name)
ZEND_ARG_INFO(0, dir)
ZEND_END_ARG_INFO()
#if HAVE_NGETTEXT
ZEND_BEGIN_ARG_INFO(arginfo_ngettext, 0)
ZEND_ARG_INFO(0, msgid1)
ZEND_ARG_INFO(0, msgid2)
ZEND_ARG_INFO(0, count)
ZEND_END_ARG_INFO()
#endif
#if HAVE_DNGETTEXT
ZEND_BEGIN_ARG_INFO(arginfo_dngettext, 0)
ZEND_ARG_INFO(0, domain)
ZEND_ARG_INFO(0, msgid1)
ZEND_ARG_INFO(0, msgid2)
ZEND_ARG_INFO(0, count)
ZEND_END_ARG_INFO()
#endif
#if HAVE_DCNGETTEXT
ZEND_BEGIN_ARG_INFO(arginfo_dcngettext, 0)
ZEND_ARG_INFO(0, domain)
ZEND_ARG_INFO(0, msgid1)
ZEND_ARG_INFO(0, msgid2)
ZEND_ARG_INFO(0, count)
ZEND_ARG_INFO(0, category)
ZEND_END_ARG_INFO()
#endif
#if HAVE_BIND_TEXTDOMAIN_CODESET
ZEND_BEGIN_ARG_INFO(arginfo_bind_textdomain_codeset, 0)
ZEND_ARG_INFO(0, domain)
ZEND_ARG_INFO(0, codeset)
ZEND_END_ARG_INFO()
#endif
/* }}} */
#include "gettext_arginfo.h"
/* {{{ php_gettext_functions[]
*/

View file

@ -0,0 +1,36 @@
<?php
/** @return string|false */
function textdomain(?string $domain) {}
/** @return string|false */
function gettext(string $msgid) {}
/** @return string|false */
function dgettext(string $domain_name, string $msgid) {}
/** @return string|false */
function dcgettext(string $domain_name, string $msgid, int $category) {}
/** @return string|false */
function bindtextdomain(string $domain_name, string $dir) {}
#if HAVE_NGETTEXT
/** @return string|false */
function ngettext(string $msgid1, string $msgid2, int $n) {}
#endif
#if HAVE_DNGETTEXT
/** @return string|false */
function dngettext(string $domain, string $msgid1, string $msgid2, int $count) {}
#endif
#if HAVE_DCNGETTEXT
/** @return string|false */
function dcngettext(string $domain, string $msgid1, string $msgid2, int $count, int $category) {}
#endif
#if HAVE_BIND_TEXTDOMAIN_CODESET
/** @return string|false */
function bind_textdomain_codeset(string $domain, string $codeset) {}
#endif

View file

@ -0,0 +1,59 @@
/* This is a generated file, edit the .stub.php file instead. */
ZEND_BEGIN_ARG_INFO_EX(arginfo_textdomain, 0, 0, 0)
ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_gettext, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, msgid, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_dgettext, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, domain_name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_dcgettext, 0, 0, 3)
ZEND_ARG_TYPE_INFO(0, domain_name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, category, IS_LONG, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_bindtextdomain, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, domain_name, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, dir, IS_STRING, 0)
ZEND_END_ARG_INFO()
#if HAVE_NGETTEXT
ZEND_BEGIN_ARG_INFO_EX(arginfo_ngettext, 0, 0, 3)
ZEND_ARG_TYPE_INFO(0, msgid1, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid2, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif
#if HAVE_DNGETTEXT
ZEND_BEGIN_ARG_INFO_EX(arginfo_dngettext, 0, 0, 4)
ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid1, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid2, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif
#if HAVE_DCNGETTEXT
ZEND_BEGIN_ARG_INFO_EX(arginfo_dcngettext, 0, 0, 5)
ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid1, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, msgid2, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, category, IS_LONG, 0)
ZEND_END_ARG_INFO()
#endif
#if HAVE_BIND_TEXTDOMAIN_CODESET
ZEND_BEGIN_ARG_INFO_EX(arginfo_bind_textdomain_codeset, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, codeset, IS_STRING, 0)
ZEND_END_ARG_INFO()
#endif