]> granicus.if.org Git - php/commitdiff
Add ext/phar arginfo stubs
authorChristoph M. Becker <cmbecker69@gmx.de>
Sat, 2 Nov 2019 10:39:31 +0000 (11:39 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Sat, 2 Nov 2019 10:55:11 +0000 (11:55 +0100)
ext/phar/phar_object.c
ext/phar/phar_object.stub.php [new file with mode: 0644]
ext/phar/phar_object_arginfo.h [new file with mode: 0644]

index 9f8ccd94200b69d43c030b09984debc4eea046ea..5eadcc91fa7fb89dd6dc45a5f975e297f5ebac6a 100644 (file)
@@ -19,6 +19,7 @@
 
 #include "phar_internal.h"
 #include "func_interceptors.h"
+#include "phar_object_arginfo.h"
 
 static zend_class_entry *phar_ce_archive;
 static zend_class_entry *phar_ce_data;
@@ -5127,312 +5128,145 @@ PHP_METHOD(PharFileInfo, decompress)
 /* }}} */
 
 /* {{{ phar methods */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar___construct, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-       ZEND_ARG_INFO(0, flags)
-       ZEND_ARG_INFO(0, alias)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_createDS, 0, 0, 0)
-       ZEND_ARG_INFO(0, index)
-       ZEND_ARG_INFO(0, webindex)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_cancompress, 0, 0, 0)
-       ZEND_ARG_INFO(0, method)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_isvalidpharfilename, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-       ZEND_ARG_INFO(0, executable)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_loadPhar, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-       ZEND_ARG_INFO(0, alias)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_mapPhar, 0, 0, 0)
-       ZEND_ARG_INFO(0, alias)
-       ZEND_ARG_INFO(0, offset)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_mount, 0, 0, 2)
-       ZEND_ARG_INFO(0, inphar)
-       ZEND_ARG_INFO(0, externalfile)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_mungServer, 0, 0, 1)
-       ZEND_ARG_INFO(0, munglist)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_webPhar, 0, 0, 0)
-       ZEND_ARG_INFO(0, alias)
-       ZEND_ARG_INFO(0, index)
-       ZEND_ARG_INFO(0, f404)
-       ZEND_ARG_INFO(0, mimetypes)
-       ZEND_ARG_INFO(0, rewrites)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_running, 0, 0, 0)
-       ZEND_ARG_INFO(0, retphar)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_ua, 0, 0, 1)
-       ZEND_ARG_INFO(0, archive)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_build, 0, 0, 1)
-       ZEND_ARG_INFO(0, iterator)
-       ZEND_ARG_INFO(0, base_directory)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_conv, 0, 0, 0)
-       ZEND_ARG_INFO(0, format)
-       ZEND_ARG_INFO(0, compression_type)
-       ZEND_ARG_INFO(0, file_ext)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_comps, 0, 0, 1)
-       ZEND_ARG_INFO(0, compression_type)
-       ZEND_ARG_INFO(0, file_ext)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_decomp, 0, 0, 0)
-       ZEND_ARG_INFO(0, file_ext)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_comp, 0, 0, 1)
-       ZEND_ARG_INFO(0, compression_type)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_compo, 0, 0, 0)
-       ZEND_ARG_INFO(0, compression_type)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_copy, 0, 0, 2)
-       ZEND_ARG_INFO(0, newfile)
-       ZEND_ARG_INFO(0, oldfile)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_delete, 0, 0, 1)
-       ZEND_ARG_INFO(0, entry)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_fromdir, 0, 0, 1)
-       ZEND_ARG_INFO(0, base_dir)
-       ZEND_ARG_INFO(0, regex)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_offsetExists, 0, 0, 1)
-       ZEND_ARG_INFO(0, entry)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_offsetSet, 0, 0, 2)
-       ZEND_ARG_INFO(0, entry)
-       ZEND_ARG_INFO(0, value)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_setAlias, 0, 0, 1)
-       ZEND_ARG_INFO(0, alias)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_setMetadata, 0, 0, 1)
-       ZEND_ARG_INFO(0, metadata)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_setSigAlgo, 0, 0, 1)
-       ZEND_ARG_INFO(0, algorithm)
-       ZEND_ARG_INFO(0, privatekey)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_setStub, 0, 0, 1)
-       ZEND_ARG_INFO(0, newstub)
-       ZEND_ARG_INFO(0, maxlen)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_emptydir, 0, 0, 0)
-       ZEND_ARG_INFO(0, dirname)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_extract, 0, 0, 1)
-       ZEND_ARG_INFO(0, pathto)
-       ZEND_ARG_INFO(0, files)
-       ZEND_ARG_INFO(0, overwrite)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_addfile, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-       ZEND_ARG_INFO(0, localname)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_fromstring, 0, 0, 1)
-       ZEND_ARG_INFO(0, localname)
-       ZEND_ARG_INFO(0, contents)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_phar_isff, 0, 0, 1)
-       ZEND_ARG_INFO(0, fileformat)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_phar__void, 0)
-ZEND_END_ARG_INFO()
-
 
 static const zend_function_entry php_archive_methods[] = {
-       PHP_ME(Phar, __construct,           arginfo_phar___construct,  ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, __destruct,            arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, addEmptyDir,           arginfo_phar_emptydir,     ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, addFile,               arginfo_phar_addfile,      ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, addFromString,         arginfo_phar_fromstring,   ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, buildFromDirectory,    arginfo_phar_fromdir,      ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, buildFromIterator,     arginfo_phar_build,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, compressFiles,         arginfo_phar_comp,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, decompressFiles,       arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, compress,              arginfo_phar_comps,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, decompress,            arginfo_phar_decomp,       ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToExecutable,   arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, convertToData,         arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, copy,                  arginfo_phar_copy,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, count,                 arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, delete,                arginfo_phar_delete,       ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, delMetadata,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, extractTo,             arginfo_phar_extract,      ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getAlias,              arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getPath,               arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getMetadata,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getModified,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getSignature,          arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getStub,               arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, getVersion,            arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, hasMetadata,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, isBuffering,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, isCompressed,          arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, isFileFormat,          arginfo_phar_isff,         ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, isWritable,            arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, offsetExists,          arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, offsetGet,             arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, offsetSet,             arginfo_phar_offsetSet,    ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, offsetUnset,           arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, setAlias,              arginfo_phar_setAlias,     ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, setDefaultStub,        arginfo_phar_createDS,     ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, setMetadata,           arginfo_phar_setMetadata,  ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, setSignatureAlgorithm, arginfo_phar_setSigAlgo,   ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, setStub,               arginfo_phar_setStub,      ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, startBuffering,        arginfo_phar__void,        ZEND_ACC_PUBLIC)
-       PHP_ME(Phar, stopBuffering,         arginfo_phar__void,        ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, __construct,           arginfo_class_Phar___construct,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, __destruct,            arginfo_class_Phar___destruct,               ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, addEmptyDir,           arginfo_class_Phar_addEmptyDir,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, addFile,               arginfo_class_Phar_addFile,                  ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, addFromString,         arginfo_class_Phar_addFromString,            ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, buildFromDirectory,    arginfo_class_Phar_buildFromDirectory,       ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, buildFromIterator,     arginfo_class_Phar_buildFromIterator,        ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, compressFiles,         arginfo_class_Phar_compressFiles,            ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, decompressFiles,       arginfo_class_Phar_decompressFiles,          ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, compress,              arginfo_class_Phar_compress,                 ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, decompress,            arginfo_class_Phar_decompress,               ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, convertToExecutable,   arginfo_class_Phar_convertToExecutable,      ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, convertToData,         arginfo_class_Phar_convertToData,            ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, copy,                  arginfo_class_Phar_copy,                     ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, count,                 arginfo_class_Phar_count,                    ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, delete,                arginfo_class_Phar_delete,                   ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, delMetadata,           arginfo_class_Phar_delMetadata,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, extractTo,             arginfo_class_Phar_extractTo,                ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getAlias,              arginfo_class_Phar_getAlias,                 ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getPath,               arginfo_class_Phar_getPath,                  ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getMetadata,           arginfo_class_Phar_getMetadata,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getModified,           arginfo_class_Phar_getModified,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getSignature,          arginfo_class_Phar_getSignature,             ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getStub,               arginfo_class_Phar_getStub,                  ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, getVersion,            arginfo_class_Phar_getVersion,               ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, hasMetadata,           arginfo_class_Phar_hasMetadata,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, isBuffering,           arginfo_class_Phar_isBuffering,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, isCompressed,          arginfo_class_Phar_isCompressed,             ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, isFileFormat,          arginfo_class_Phar_isFileFormat,             ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, isWritable,            arginfo_class_Phar_isWritable,               ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, offsetExists,          arginfo_class_Phar_offsetExists,             ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, offsetGet,             arginfo_class_Phar_offsetGet,                ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, offsetSet,             arginfo_class_Phar_offsetSet,                ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, offsetUnset,           arginfo_class_Phar_offsetUnset,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, setAlias,              arginfo_class_Phar_setAlias,                 ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, setDefaultStub,        arginfo_class_Phar_setDefaultStub,               ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, setMetadata,           arginfo_class_Phar_setMetadata,              ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, setSignatureAlgorithm, arginfo_class_Phar_setSignatureAlgorithm,    ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, setStub,               arginfo_class_Phar_setStub,                  ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, startBuffering,        arginfo_class_Phar_startBuffering,           ZEND_ACC_PUBLIC)
+       PHP_ME(Phar, stopBuffering,         arginfo_class_Phar_stopBuffering,            ZEND_ACC_PUBLIC)
        /* static member functions */
-       PHP_ME(Phar, apiVersion,            arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, canCompress,           arginfo_phar_cancompress,  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, canWrite,              arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, createDefaultStub,     arginfo_phar_createDS,     ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, getSupportedCompression,arginfo_phar__void,       ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, getSupportedSignatures,arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, interceptFileFuncs,    arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, isValidPharFilename,   arginfo_phar_isvalidpharfilename, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, loadPhar,              arginfo_phar_loadPhar,     ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, mapPhar,               arginfo_phar_mapPhar,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, running,               arginfo_phar_running,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, mount,                 arginfo_phar_mount,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, mungServer,            arginfo_phar_mungServer,   ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, unlinkArchive,         arginfo_phar_ua,           ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-       PHP_ME(Phar, webPhar,               arginfo_phar_webPhar,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, apiVersion,            arginfo_class_Phar_apiVersion,               ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, canCompress,           arginfo_class_Phar_canCompress,              ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, canWrite,              arginfo_class_Phar_canWrite,                 ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, createDefaultStub,     arginfo_class_Phar_createDefaultStub,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, getSupportedCompression,arginfo_class_Phar_getSupportedCompression, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, getSupportedSignatures,arginfo_class_Phar_getSupportedSignatures,   ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, interceptFileFuncs,    arginfo_class_Phar_interceptFileFuncs,       ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, isValidPharFilename,   arginfo_class_Phar_isValidPharFilename,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, loadPhar,              arginfo_class_Phar_loadPhar,                 ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, mapPhar,               arginfo_class_Phar_mapPhar,                  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, running,               arginfo_class_Phar_running,                  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, mount,                 arginfo_class_Phar_mount,                    ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, mungServer,            arginfo_class_Phar_mungServer,               ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, unlinkArchive,         arginfo_class_Phar_unlinkArchive,            ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+       PHP_ME(Phar, webPhar,               arginfo_class_Phar_webPhar,                  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
        PHP_FE_END
 };
 
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_data___construct, 0, 0, 1)
-    ZEND_ARG_INFO(0, filename)
-    ZEND_ARG_INFO(0, flags)
-    ZEND_ARG_INFO(0, alias)
-    ZEND_ARG_INFO(0, fileformat)
-ZEND_END_ARG_INFO()
-
 static const zend_function_entry php_data_methods[] = {
-    PHP_ME(Phar, __construct,           arginfo_data___construct,  ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, __destruct,            arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, addEmptyDir,           arginfo_phar_emptydir,     ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, addFile,               arginfo_phar_addfile,      ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, addFromString,         arginfo_phar_fromstring,   ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, buildFromDirectory,    arginfo_phar_fromdir,      ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, buildFromIterator,     arginfo_phar_build,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, compressFiles,         arginfo_phar_comp,         ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, decompressFiles,       arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, compress,              arginfo_phar_comps,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, decompress,            arginfo_phar_decomp,       ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, convertToExecutable,   arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, convertToData,         arginfo_phar_conv,         ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, copy,                  arginfo_phar_copy,         ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, count,                 arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, delete,                arginfo_phar_delete,       ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, delMetadata,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, extractTo,             arginfo_phar_extract,      ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getAlias,              arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getPath,               arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getMetadata,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getModified,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getSignature,          arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getStub,               arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, getVersion,            arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, hasMetadata,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, isBuffering,           arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, isCompressed,          arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, isFileFormat,          arginfo_phar_isff,         ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, isWritable,            arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, offsetExists,          arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, offsetGet,             arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, offsetSet,             arginfo_phar_offsetSet,    ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, offsetUnset,           arginfo_phar_offsetExists, ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, setAlias,              arginfo_phar_setAlias,     ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, setDefaultStub,        arginfo_phar_createDS,     ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, setMetadata,           arginfo_phar_setMetadata,  ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, setSignatureAlgorithm, arginfo_phar_setSigAlgo,   ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, setStub,               arginfo_phar_setStub,      ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, startBuffering,        arginfo_phar__void,        ZEND_ACC_PUBLIC)
-    PHP_ME(Phar, stopBuffering,         arginfo_phar__void,        ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, __construct,           arginfo_class_PharData___construct,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, __destruct,            arginfo_class_PharData___destruct,               ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, addEmptyDir,           arginfo_class_PharData_addEmptyDir,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, addFile,               arginfo_class_PharData_addFile,                  ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, addFromString,         arginfo_class_PharData_addFromString,            ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, buildFromDirectory,    arginfo_class_PharData_buildFromDirectory,       ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, buildFromIterator,     arginfo_class_PharData_buildFromIterator,        ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, compressFiles,         arginfo_class_PharData_compressFiles,            ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, decompressFiles,       arginfo_class_PharData_decompressFiles,          ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, compress,              arginfo_class_PharData_compress,                 ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, decompress,            arginfo_class_PharData_decompress,               ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, convertToExecutable,   arginfo_class_PharData_convertToExecutable,      ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, convertToData,         arginfo_class_PharData_convertToData,            ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, copy,                  arginfo_class_PharData_copy,                     ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, count,                 arginfo_class_PharData_count,                    ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, delete,                arginfo_class_PharData_delete,                   ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, delMetadata,           arginfo_class_PharData_delMetadata,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, extractTo,             arginfo_class_PharData_extractTo,                ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getAlias,              arginfo_class_PharData_getAlias,                 ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getPath,               arginfo_class_PharData_getPath,                  ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getMetadata,           arginfo_class_PharData_getMetadata,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getModified,           arginfo_class_PharData_getModified,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getSignature,          arginfo_class_PharData_getSignature,             ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getStub,               arginfo_class_PharData_getStub,                  ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, getVersion,            arginfo_class_PharData_getVersion,               ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, hasMetadata,           arginfo_class_PharData_hasMetadata,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, isBuffering,           arginfo_class_PharData_isBuffering,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, isCompressed,          arginfo_class_PharData_isCompressed,             ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, isFileFormat,          arginfo_class_PharData_isFileFormat,             ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, isWritable,            arginfo_class_PharData_isWritable,               ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, offsetExists,          arginfo_class_PharData_offsetExists,             ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, offsetGet,             arginfo_class_PharData_offsetGet,                ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, offsetSet,             arginfo_class_PharData_offsetSet,                ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, offsetUnset,           arginfo_class_PharData_offsetUnset,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, setAlias,              arginfo_class_PharData_setAlias,                 ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, setDefaultStub,        arginfo_class_PharData_setDefaultStub,           ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, setMetadata,           arginfo_class_PharData_setMetadata,              ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, setSignatureAlgorithm, arginfo_class_PharData_setSignatureAlgorithm,    ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, setStub,               arginfo_class_PharData_setStub,                  ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, startBuffering,        arginfo_class_PharData_startBuffering,           ZEND_ACC_PUBLIC)
+    PHP_ME(Phar, stopBuffering,         arginfo_class_PharData_stopBuffering,            ZEND_ACC_PUBLIC)
     /* static member functions */
-    PHP_ME(Phar, apiVersion,            arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, canCompress,           arginfo_phar_cancompress,  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, canWrite,              arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, createDefaultStub,     arginfo_phar_createDS,     ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, getSupportedCompression,arginfo_phar__void,       ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, getSupportedSignatures,arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, interceptFileFuncs,    arginfo_phar__void,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, isValidPharFilename,   arginfo_phar_isvalidpharfilename, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, loadPhar,              arginfo_phar_loadPhar,     ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, mapPhar,               arginfo_phar_mapPhar,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, running,               arginfo_phar_running,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, mount,                 arginfo_phar_mount,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, mungServer,            arginfo_phar_mungServer,   ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, unlinkArchive,         arginfo_phar_ua,           ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
-    PHP_ME(Phar, webPhar,               arginfo_phar_webPhar,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, apiVersion,            arginfo_class_PharData_apiVersion,               ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, canCompress,           arginfo_class_PharData_canCompress,              ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, canWrite,              arginfo_class_PharData_canWrite,                 ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, createDefaultStub,     arginfo_class_PharData_createDefaultStub,        ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, getSupportedCompression,arginfo_class_PharData_getSupportedCompression, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, getSupportedSignatures,arginfo_class_PharData_getSupportedSignatures,   ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, interceptFileFuncs,    arginfo_class_PharData_interceptFileFuncs,       ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, isValidPharFilename,   arginfo_class_PharData_isValidPharFilename,      ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, loadPhar,              arginfo_class_PharData_loadPhar,                 ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, mapPhar,               arginfo_class_PharData_mapPhar,                  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, running,               arginfo_class_PharData_running,                  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, mount,                 arginfo_class_PharData_mount,                    ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, mungServer,            arginfo_class_PharData_mungServer,               ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, unlinkArchive,         arginfo_class_PharData_unlinkArchive,            ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
+    PHP_ME(Phar, webPhar,               arginfo_class_PharData_webPhar,                  ZEND_ACC_PUBLIC|ZEND_ACC_STATIC|ZEND_ACC_FINAL)
     PHP_FE_END
 };
 
-ZEND_BEGIN_ARG_INFO_EX(arginfo_entry___construct, 0, 0, 1)
-       ZEND_ARG_INFO(0, filename)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_entry_chmod, 0, 0, 1)
-       ZEND_ARG_INFO(0, perms)
-ZEND_END_ARG_INFO()
-
 static const zend_function_entry php_entry_methods[] = {
-       PHP_ME(PharFileInfo, __construct,        arginfo_entry___construct,  ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, __destruct,         arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, chmod,              arginfo_entry_chmod,        ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, compress,           arginfo_phar_comp,          ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, decompress,         arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, delMetadata,        arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, getCompressedSize,  arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, getCRC32,           arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, getContent,         arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, getMetadata,        arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, getPharFlags,       arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, hasMetadata,        arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, isCompressed,       arginfo_phar_compo,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, isCRCChecked,       arginfo_phar__void,         ZEND_ACC_PUBLIC)
-       PHP_ME(PharFileInfo, setMetadata,        arginfo_phar_setMetadata,   ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, __construct,        arginfo_class_PharFileInfo___construct,       ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, __destruct,         arginfo_class_PharFileInfo___destruct,        ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, chmod,              arginfo_class_PharFileInfo_chmod,             ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, compress,           arginfo_class_PharFileInfo_compress,          ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, decompress,         arginfo_class_PharFileInfo_decompress,        ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, delMetadata,        arginfo_class_PharFileInfo_delMetadata,       ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, getCompressedSize,  arginfo_class_PharFileInfo_getCompressedSize, ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, getCRC32,           arginfo_class_PharFileInfo_getCRC32,          ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, getContent,         arginfo_class_PharFileInfo_getContent,        ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, getMetadata,        arginfo_class_PharFileInfo_getMetadata,       ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, getPharFlags,       arginfo_class_PharFileInfo_getPharFlags,      ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, hasMetadata,        arginfo_class_PharFileInfo_hasMetadata,       ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, isCompressed,       arginfo_class_PharFileInfo_isCompressed,      ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, isCRCChecked,       arginfo_class_PharFileInfo_isCRCChecked,      ZEND_ACC_PUBLIC)
+       PHP_ME(PharFileInfo, setMetadata,        arginfo_class_PharFileInfo_setMetadata,       ZEND_ACC_PUBLIC)
        PHP_FE_END
 };
 
diff --git a/ext/phar/phar_object.stub.php b/ext/phar/phar_object.stub.php
new file mode 100644 (file)
index 0000000..a1719fd
--- /dev/null
@@ -0,0 +1,422 @@
+<?php
+
+class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess
+{
+    public function __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS|FilesystemIterator::UNIX_PATHS, ?string $alias = null) {}
+
+    public function __destruct() {}
+
+    /** @return void */
+    public function addEmptyDir(string $dirname) {}
+
+    /** @return void */
+    public function addFile(string $filename, string $localname = UNKNOWN) {}
+
+    /** @return void */
+    public function addFromString(string $localname, string $contents) {}
+
+    /** @return array|false */
+    public function buildFromDirectory(string $base_dir, string $regex = UNKNOWN) {}
+
+    /** @return array|false */
+    public function buildFromIterator(Traversable $iterator, string $base_directory = UNKNOWN) {}
+
+    /** @return void */
+    public function compressFiles(int $compression_type) {}
+
+    /** @return bool */
+    public function decompressFiles() {}
+
+    /** @return ?Phar */
+    public function compress(int $compression_type, string $file_ext = UNKNOWN) {}
+
+    /** @return ?Phar */
+    public function decompress(string $file_ext = UNKNOWN) {}
+
+    /** @return ?Phar */
+    public function convertToExecutable(int $format = 9021976, int $compression_type = 9021976, string $file_ext = UNKNOWN) {}
+
+    /** @return ?Phar */
+    public function convertToData(int $format = 9021976, int $compression_type = 9021976, string $file_ext = UNKNOWN) {}
+
+    /** @return bool */
+    public function copy(string $newfile, string $oldfile) {}
+
+    /** @return int */
+    public function count(int $mode = UNKNOWN) {}
+
+    /** @return bool */
+    public function delete(string $entry) {}
+
+    /** @return bool */
+    public function delMetadata() {}
+
+    /** @return bool */
+    public function extractTo(string $pathto, $files = null, bool $overwrite = false) {}
+
+    /** @return ?string */
+    public function getAlias() {}
+
+    /** @return string */
+    public function getPath() {}
+
+    /** @return mixed */
+    public function getMetadata() {}
+
+    /** @return bool */
+    public function getModified() {}
+
+    /** @return array|false */
+    public function getSignature() {}
+
+    /** @return string */
+    public function getStub() {}
+
+    /** @return string */
+    public function getVersion() {}
+
+    /** @return bool */
+    public function hasMetadata() {}
+
+    /** @return bool */
+    public function isBuffering() {}
+
+    /** @return int|false */
+    public function isCompressed() {}
+
+    /** @return bool */
+    public function isFileFormat(int $fileformat) {}
+
+    /** @return bool */
+    public function isWritable() {}
+
+    /**
+     * @param string $entry
+     * @return bool
+     */
+    public function offsetExists($entry) {}
+
+    /** 
+     * @param string $entry
+     * @return PharFileInfo
+     */
+    public function offsetGet($entry) {}
+
+    /**
+     * @param string $entry
+     * @param resource|string $value
+     * @return void
+     */
+    public function offsetSet($entry, $value) {}
+
+    /**
+     * @param string $entry
+     * @return bool
+     */
+    public function offsetUnset($entry) {}
+
+    /** @return bool */
+    public function setAlias(string $alias) {}
+
+    /** @return bool */
+    public function setDefaultStub(?string $index = null, string $webindex = UNKNOWN) {}
+
+    /**
+     * @param mixed $metadata
+     * @return void
+     */
+    public function setMetadata($metadata) {}
+
+    /** @return void */
+    public function setSignatureAlgorithm(int $algorithm, string $privatekey = UNKNOWN) {}
+
+    /** 
+     * @param resource $newstub
+     * @return bool
+     */
+    public function setStub($newstub, $maxlen = -1) {}
+
+    /** @return void */
+    public function startBuffering() {}
+
+    /** @return void */
+    public function stopBuffering() {}
+
+    /** @return string */
+    final public static function apiVersion() {}
+
+    /** @return bool */
+    final public static function canCompress(int $method = 0) {}
+
+    /** @return bool */
+    final public static function canWrite() {}
+
+    /** @return string */
+    final public static function createDefaultStub(string $index = UNKNOWN, string $webindex = UNKNOWN) {}
+
+    /** @return array */
+    final public static function getSupportedCompression() {}
+
+    /** @return array */
+    final public static function getSupportedSignatures() {}
+
+    /** @return void */
+    final public static function interceptFileFuncs() {}
+
+    /** @return bool */
+    final public static function isValidPharFilename(string $filename, bool $executable = true) {}
+
+    /** @return bool */
+    final public static function loadPhar(string $filename, ?string $alias = null) {}
+
+    /** @return bool */
+    final public static function mapPhar(?string $alias = null, int $offset = 0) {}
+
+    /** @return string */
+    final public static function running(bool $retphar = true) {}
+
+    /** @return void */
+    final public static function mount(string $inphar, string $externalfile) {}
+
+    /** @return void */
+    final public static function mungServer(array $munglist) {}
+
+    /** @return bool */
+    final public static function unlinkArchive(string $archive) {}
+
+    /** @return void */
+    final public static function webPhar(?string $alias = null, ?string $index = null, string $f404 = UNKNOWN, array $mimetypes = [], $rewrites = UNKNOWN) {}
+}
+
+class PharData extends RecursiveDirectoryIterator implements Countable, ArrayAccess
+{
+    public function __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS|FilesystemIterator::UNIX_PATHS, ?string $alias = null, $fileformat = 0) {}
+
+    public function __destruct() {}
+
+    /** @return void */
+    public function addEmptyDir(string $dirname) {}
+
+    /** @return void */
+    public function addFile(string $filename, string $localname = UNKNOWN) {}
+
+    /** @return void */
+    public function addFromString(string $localname, string $contents) {}
+
+    /** @return array|false */
+    public function buildFromDirectory(string $base_dir, string $regex = UNKNOWN) {}
+
+    /** @return array|false */
+    public function buildFromIterator(Traversable $iterator, string $base_directory = UNKNOWN) {}
+
+    /** @return void */
+    public function compressFiles(int $compression_type) {}
+
+    /** @return bool */
+    public function decompressFiles() {}
+
+    /** @return ?Phar */
+    public function compress(int $compression_type, string $file_ext = UNKNOWN) {}
+
+    /** @return ?Phar */
+    public function decompress(string $file_ext = UNKNOWN) {}
+
+    /** @return ?Phar */
+    public function convertToExecutable(int $format = 9021976, int $compression_type = 9021976, string $file_ext = UNKNOWN) {}
+
+    /** @return ?Phar */
+    public function convertToData(int $format = 9021976, int $compression_type = 9021976, string $file_ext = UNKNOWN) {}
+
+    /** @return bool */
+    public function copy(string $newfile, string $oldfile) {}
+
+    /** @return int */
+    public function count(int $mode = UNKNOWN) {}
+
+    /** @return bool */
+    public function delete(string $entry) {}
+
+    /** @return bool */
+    public function delMetadata() {}
+
+    /** @return bool */
+    public function extractTo(string $pathto, $files = null, bool $overwrite = false) {}
+
+    /** @return ?string */
+    public function getAlias() {}
+
+    /** @return string */
+    public function getPath() {}
+
+    /** @return mixed */
+    public function getMetadata() {}
+
+    /** @return bool */
+    public function getModified() {}
+
+    /** @return array|false */
+    public function getSignature() {}
+
+    /** @return string */
+    public function getStub() {}
+
+    /** @return string */
+    public function getVersion() {}
+
+    /** @return bool */
+    public function hasMetadata() {}
+
+    /** @return bool */
+    public function isBuffering() {}
+
+    /** @return int|false */
+    public function isCompressed() {}
+
+    /** @return bool */
+    public function isFileFormat(int $fileformat) {}
+
+    /** @return bool */
+    public function isWritable() {}
+
+    /**
+     * @param string $entry
+     * @return bool
+     */
+    public function offsetExists($entry) {}
+
+    /**
+     * @param string $entry
+     * @return PharFileInfo
+     */
+    public function offsetGet($entry) {}
+
+    /**
+     * @param string $entry
+     * @param resource|string $value
+     * @return void
+     */
+    public function offsetSet($entry, $value) {}
+
+    /**
+     * @param string $entry
+     * @return bool
+     */
+    public function offsetUnset($entry) {}
+
+    /** @return bool */
+    public function setAlias(string $alias) {}
+
+    /** @return bool */
+    public function setDefaultStub(?string $index = null, string $webindex = UNKNOWN) {}
+
+    /**
+     * @param mixed $metadata
+     * @return void
+     */
+    public function setMetadata($metadata) {}
+
+    /** @return void */
+    public function setSignatureAlgorithm(int $algorithm, string $privatekey = UNKNOWN) {}
+
+    /** 
+     * @param resource $newstub
+     * @return bool
+     */
+    public function setStub($newstub, $maxlen = -1) {}
+
+    /** @return void */
+    public function startBuffering() {}
+
+    /** @return void */
+    public function stopBuffering() {}
+
+    /** @return string */
+    final public static function apiVersion() {}
+
+    /** @return bool */
+    final public static function canCompress(int $method = 0) {}
+
+    /** @return bool */
+    final public static function canWrite() {}
+
+    /** @return string */
+    final public static function createDefaultStub(string $index = UNKNOWN, string $webindex = UNKNOWN) {}
+
+    /** @return array */
+    final public static function getSupportedCompression() {}
+
+    /** @return array */
+    final public static function getSupportedSignatures() {}
+
+    /** @return void */
+    final public static function interceptFileFuncs() {}
+
+    /** @return bool */
+    final public static function isValidPharFilename(string $filename, bool $executable = true) {}
+
+    /** @return bool */
+    final public static function loadPhar(string $filename, ?string $alias = null) {}
+
+    /** @return bool */
+    final public static function mapPhar(?string $alias = null, int $offset = 0) {}
+
+    /** @return string */
+    final public static function running(bool $retphar = true) {}
+
+    /** @return void */
+    final public static function mount(string $inphar, string $externalfile) {}
+
+    /** @return void */
+    final public static function mungServer(array $munglist) {}
+
+    /** @return bool */
+    final public static function unlinkArchive(string $archive) {}
+
+    /** @return void */
+    final public static function webPhar(?string $alias = null, ?string $index = null, string $f404 = UNKNOWN, array $mimetypes = [], $rewrites = UNKNOWN) {}
+}
+
+class PharFileInfo extends SplFileInfo
+{
+    public function __construct(string $filename) {}
+
+    public function __destruct() {}
+
+    /** @return void */
+    public function chmod(int $perms) {}
+
+    /** @return bool */
+    public function compress(int $compression_type) {}
+
+    /** @return bool */
+    public function decompress() {}
+
+    /** @return bool */
+    public function delMetadata() {}
+
+    /** @return int */
+    public function getCompressedSize() {}
+
+    /** @return int */
+    public function getCRC32() {}
+
+    /** @return string */
+    public function getContent() {}
+
+    public function getMetadata() {}
+
+    /** @return int */
+    public function getPharFlags() {}
+
+    /** @return bool */
+    public function hasMetadata() {}
+
+    /** @return bool */
+    public function isCompressed($compression_type = 9021976) {}
+
+    /** @return bool */
+    public function isCRCChecked() {}
+
+    /** @return void */
+    public function setMetadata($metadata) {}
+}
diff --git a/ext/phar/phar_object_arginfo.h b/ext/phar/phar_object_arginfo.h
new file mode 100644 (file)
index 0000000..ef19b6e
--- /dev/null
@@ -0,0 +1,356 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar___construct, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar___destruct, 0, 0, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_addEmptyDir, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, dirname, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_addFile, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, localname, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_addFromString, 0, 0, 2)
+       ZEND_ARG_TYPE_INFO(0, localname, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, contents, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_buildFromDirectory, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, base_dir, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, regex, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_buildFromIterator, 0, 0, 1)
+       ZEND_ARG_OBJ_INFO(0, iterator, Traversable, 0)
+       ZEND_ARG_TYPE_INFO(0, base_directory, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_compressFiles, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, compression_type, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_decompressFiles arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_compress, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, compression_type, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, file_ext, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_decompress, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, file_ext, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_convertToExecutable, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, format, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, compression_type, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, file_ext, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_convertToData arginfo_class_Phar_convertToExecutable
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_copy, 0, 0, 2)
+       ZEND_ARG_TYPE_INFO(0, newfile, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, oldfile, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_count, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_delete, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, entry, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_delMetadata arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_extractTo, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, pathto, IS_STRING, 0)
+       ZEND_ARG_INFO(0, files)
+       ZEND_ARG_TYPE_INFO(0, overwrite, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_getAlias arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getPath arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getModified arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getSignature arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getStub arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getVersion arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_hasMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_isBuffering arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_isCompressed arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_isFileFormat, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, fileformat, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_isWritable arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_offsetExists, 0, 0, 1)
+       ZEND_ARG_INFO(0, entry)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_offsetGet arginfo_class_Phar_offsetExists
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_offsetSet, 0, 0, 2)
+       ZEND_ARG_INFO(0, entry)
+       ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_offsetUnset arginfo_class_Phar_offsetExists
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_setAlias, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_setDefaultStub, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 1)
+       ZEND_ARG_TYPE_INFO(0, webindex, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_setMetadata, 0, 0, 1)
+       ZEND_ARG_INFO(0, metadata)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_setSignatureAlgorithm, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, algorithm, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, privatekey, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_setStub, 0, 0, 1)
+       ZEND_ARG_INFO(0, newstub)
+       ZEND_ARG_INFO(0, maxlen)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_startBuffering arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_stopBuffering arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_apiVersion arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_canCompress, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, method, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_canWrite arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_createDefaultStub, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, webindex, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_Phar_getSupportedCompression arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_getSupportedSignatures arginfo_class_Phar___destruct
+
+#define arginfo_class_Phar_interceptFileFuncs arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_isValidPharFilename, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, executable, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_loadPhar, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 1)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_mapPhar, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 1)
+       ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_running, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, retphar, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_mount, 0, 0, 2)
+       ZEND_ARG_TYPE_INFO(0, inphar, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, externalfile, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_mungServer, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, munglist, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_unlinkArchive, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, archive, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar_webPhar, 0, 0, 0)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 1)
+       ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 1)
+       ZEND_ARG_TYPE_INFO(0, f404, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, mimetypes, IS_ARRAY, 0)
+       ZEND_ARG_INFO(0, rewrites)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PharData___construct, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+       ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, alias, IS_STRING, 1)
+       ZEND_ARG_INFO(0, fileformat)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PharData___destruct arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_addEmptyDir arginfo_class_Phar_addEmptyDir
+
+#define arginfo_class_PharData_addFile arginfo_class_Phar_addFile
+
+#define arginfo_class_PharData_addFromString arginfo_class_Phar_addFromString
+
+#define arginfo_class_PharData_buildFromDirectory arginfo_class_Phar_buildFromDirectory
+
+#define arginfo_class_PharData_buildFromIterator arginfo_class_Phar_buildFromIterator
+
+#define arginfo_class_PharData_compressFiles arginfo_class_Phar_compressFiles
+
+#define arginfo_class_PharData_decompressFiles arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_compress arginfo_class_Phar_compress
+
+#define arginfo_class_PharData_decompress arginfo_class_Phar_decompress
+
+#define arginfo_class_PharData_convertToExecutable arginfo_class_Phar_convertToExecutable
+
+#define arginfo_class_PharData_convertToData arginfo_class_Phar_convertToExecutable
+
+#define arginfo_class_PharData_copy arginfo_class_Phar_copy
+
+#define arginfo_class_PharData_count arginfo_class_Phar_count
+
+#define arginfo_class_PharData_delete arginfo_class_Phar_delete
+
+#define arginfo_class_PharData_delMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_extractTo arginfo_class_Phar_extractTo
+
+#define arginfo_class_PharData_getAlias arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getPath arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getModified arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getSignature arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getStub arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getVersion arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_hasMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_isBuffering arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_isCompressed arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_isFileFormat arginfo_class_Phar_isFileFormat
+
+#define arginfo_class_PharData_isWritable arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_offsetExists arginfo_class_Phar_offsetExists
+
+#define arginfo_class_PharData_offsetGet arginfo_class_Phar_offsetExists
+
+#define arginfo_class_PharData_offsetSet arginfo_class_Phar_offsetSet
+
+#define arginfo_class_PharData_offsetUnset arginfo_class_Phar_offsetExists
+
+#define arginfo_class_PharData_setAlias arginfo_class_Phar_setAlias
+
+#define arginfo_class_PharData_setDefaultStub arginfo_class_Phar_setDefaultStub
+
+#define arginfo_class_PharData_setMetadata arginfo_class_Phar_setMetadata
+
+#define arginfo_class_PharData_setSignatureAlgorithm arginfo_class_Phar_setSignatureAlgorithm
+
+#define arginfo_class_PharData_setStub arginfo_class_Phar_setStub
+
+#define arginfo_class_PharData_startBuffering arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_stopBuffering arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_apiVersion arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_canCompress arginfo_class_Phar_canCompress
+
+#define arginfo_class_PharData_canWrite arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_createDefaultStub arginfo_class_Phar_createDefaultStub
+
+#define arginfo_class_PharData_getSupportedCompression arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_getSupportedSignatures arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_interceptFileFuncs arginfo_class_Phar___destruct
+
+#define arginfo_class_PharData_isValidPharFilename arginfo_class_Phar_isValidPharFilename
+
+#define arginfo_class_PharData_loadPhar arginfo_class_Phar_loadPhar
+
+#define arginfo_class_PharData_mapPhar arginfo_class_Phar_mapPhar
+
+#define arginfo_class_PharData_running arginfo_class_Phar_running
+
+#define arginfo_class_PharData_mount arginfo_class_Phar_mount
+
+#define arginfo_class_PharData_mungServer arginfo_class_Phar_mungServer
+
+#define arginfo_class_PharData_unlinkArchive arginfo_class_Phar_unlinkArchive
+
+#define arginfo_class_PharData_webPhar arginfo_class_Phar_webPhar
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PharFileInfo___construct, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PharFileInfo___destruct arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PharFileInfo_chmod, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, perms, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PharFileInfo_compress arginfo_class_Phar_compressFiles
+
+#define arginfo_class_PharFileInfo_decompress arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_delMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_getCompressedSize arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_getCRC32 arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_getContent arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_getMetadata arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_getPharFlags arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_hasMetadata arginfo_class_Phar___destruct
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PharFileInfo_isCompressed, 0, 0, 0)
+       ZEND_ARG_INFO(0, compression_type)
+ZEND_END_ARG_INFO()
+
+#define arginfo_class_PharFileInfo_isCRCChecked arginfo_class_Phar___destruct
+
+#define arginfo_class_PharFileInfo_setMetadata arginfo_class_Phar_setMetadata