/* This is a generated file, edit the .stub.php file instead. */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_textdomain, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_textdomain, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 1)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_json_decode, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, json, IS_STRING, 0)
- ZEND_ARG_TYPE_INFO(0, assoc, _IS_BOOL, 0)
+ ZEND_ARG_TYPE_INFO(0, assoc, _IS_BOOL, 1)
ZEND_ARG_TYPE_INFO(0, depth, IS_LONG, 0)
ZEND_ARG_TYPE_INFO(0, options, IS_LONG, 0)
ZEND_END_ARG_INFO()
exit(1);
}
-if ($argc < 2) {
- die("Usage: php gen_stub.php foobar.stub.php\n");
+if ($argc >= 2) {
+ // Generate single file.
+ processStubFile($argv[1]);
+} else {
+ // Regenerate all stub files we can find.
+ $it = new RecursiveIteratorIterator(
+ new RecursiveDirectoryIterator('.'),
+ RecursiveIteratorIterator::LEAVES_ONLY
+ );
+ foreach ($it as $file) {
+ $pathName = $file->getPathName();
+ if (preg_match('/\.stub\.php$/', $pathName)) {
+ processStubFile($pathName);
+ }
+ }
}
-$stubFile = $argv[1];
-$arginfoFile = str_replace('.stub.php', '', $stubFile) . '_arginfo.h';
+function processStubFile(string $stubFile) {
+ $arginfoFile = str_replace('.stub.php', '', $stubFile) . '_arginfo.h';
-try {
- $funcInfos = parseStubFile($stubFile);
- $arginfoCode = generateArgInfoCode($funcInfos);
- file_put_contents($arginfoFile, $arginfoCode);
-} catch (Exception $e) {
- echo "Caught {$e->getMessage()} while processing $stubFile\n";
- exit(1);
+ try {
+ $funcInfos = parseStubFile($stubFile);
+ $arginfoCode = generateArgInfoCode($funcInfos);
+ file_put_contents($arginfoFile, $arginfoCode);
+ } catch (Exception $e) {
+ echo "Caught {$e->getMessage()} while processing $stubFile\n";
+ exit(1);
+ }
}
class Type {