1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00

Add class constant types to Phar extension (#11826)

This commit is contained in:
Ayesh Karunaratne
2023-08-21 13:14:45 +08:00
committed by GitHub
parent 278a57f95a
commit 1887f02b0b
3 changed files with 36 additions and 49 deletions

View File

@@ -73,6 +73,9 @@ PHP 8.3 UPGRADE NOTES
modifiable pointers but was rejected due to complexity. For this reason, it modifiable pointers but was rejected due to complexity. For this reason, it
was decided to remove the feature instead. was decided to remove the feature instead.
- Phar:
. The type of Phar class constants are now declared.
- Standard: - Standard:
. The range() function has had various changes: . The range() function has had various changes:
* A TypeError is now thrown when passing objects, resources, or arrays * A TypeError is now thrown when passing objects, resources, or arrays

View File

@@ -9,85 +9,69 @@ class PharException extends Exception
class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess
{ {
/** /**
* @var int
* @cvalue PHAR_ENT_COMPRESSED_BZ2 * @cvalue PHAR_ENT_COMPRESSED_BZ2
*/ */
const BZ2 = UNKNOWN; const int BZ2 = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_ENT_COMPRESSED_GZ * @cvalue PHAR_ENT_COMPRESSED_GZ
*/ */
const GZ = UNKNOWN; const int GZ = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_ENT_COMPRESSED_NONE * @cvalue PHAR_ENT_COMPRESSED_NONE
*/ */
const NONE = UNKNOWN; const int NONE = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_FORMAT_PHAR * @cvalue PHAR_FORMAT_PHAR
*/ */
const PHAR = UNKNOWN; const int PHAR = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_FORMAT_TAR * @cvalue PHAR_FORMAT_TAR
*/ */
const TAR = UNKNOWN; const int TAR = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_FORMAT_ZIP * @cvalue PHAR_FORMAT_ZIP
*/ */
const ZIP = UNKNOWN; const int ZIP = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_ENT_COMPRESSION_MASK * @cvalue PHAR_ENT_COMPRESSION_MASK
*/ */
const COMPRESSED = UNKNOWN; const int COMPRESSED = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_MIME_PHP * @cvalue PHAR_MIME_PHP
*/ */
const PHP = UNKNOWN; const int PHP = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_MIME_PHPS * @cvalue PHAR_MIME_PHPS
*/ */
const PHPS = UNKNOWN; const int PHPS = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_MD5 * @cvalue PHAR_SIG_MD5
*/ */
const MD5 = UNKNOWN; const int MD5 = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_OPENSSL * @cvalue PHAR_SIG_OPENSSL
*/ */
const OPENSSL = UNKNOWN; const int OPENSSL = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_OPENSSL_SHA256 * @cvalue PHAR_SIG_OPENSSL_SHA256
*/ */
const OPENSSL_SHA256 = UNKNOWN; const int OPENSSL_SHA256 = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_OPENSSL_SHA512 * @cvalue PHAR_SIG_OPENSSL_SHA512
*/ */
const OPENSSL_SHA512 = UNKNOWN; const int OPENSSL_SHA512 = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_SHA1 * @cvalue PHAR_SIG_SHA1
*/ */
const SHA1 = UNKNOWN; const int SHA1 = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_SHA256 * @cvalue PHAR_SIG_SHA256
*/ */
const SHA256 = UNKNOWN; const int SHA256 = UNKNOWN;
/** /**
* @var int
* @cvalue PHAR_SIG_SHA512 * @cvalue PHAR_SIG_SHA512
*/ */
const SHA512 = UNKNOWN; const int SHA512 = UNKNOWN;
public function __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS|FilesystemIterator::UNIX_PATHS, ?string $alias = null) {} public function __construct(string $filename, int $flags = FilesystemIterator::SKIP_DOTS|FilesystemIterator::UNIX_PATHS, ?string $alias = null) {}

View File

@@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead. /* This is a generated file, edit the .stub.php file instead.
* Stub hash: 799b653b10dbdfa58747e41715700cfd5300fa4f */ * Stub hash: 00f5d4fc74e8b7dc67da6f12180c9fae343954cc */
ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar___construct, 0, 0, 1) 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, filename, IS_STRING, 0)
@@ -625,97 +625,97 @@ static zend_class_entry *register_class_Phar(zend_class_entry *class_entry_Recur
zval const_BZ2_value; zval const_BZ2_value;
ZVAL_LONG(&const_BZ2_value, PHAR_ENT_COMPRESSED_BZ2); ZVAL_LONG(&const_BZ2_value, PHAR_ENT_COMPRESSED_BZ2);
zend_string *const_BZ2_name = zend_string_init_interned("BZ2", sizeof("BZ2") - 1, 1); zend_string *const_BZ2_name = zend_string_init_interned("BZ2", sizeof("BZ2") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_BZ2_name, &const_BZ2_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_BZ2_name, &const_BZ2_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_BZ2_name); zend_string_release(const_BZ2_name);
zval const_GZ_value; zval const_GZ_value;
ZVAL_LONG(&const_GZ_value, PHAR_ENT_COMPRESSED_GZ); ZVAL_LONG(&const_GZ_value, PHAR_ENT_COMPRESSED_GZ);
zend_string *const_GZ_name = zend_string_init_interned("GZ", sizeof("GZ") - 1, 1); zend_string *const_GZ_name = zend_string_init_interned("GZ", sizeof("GZ") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_GZ_name, &const_GZ_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_GZ_name, &const_GZ_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_GZ_name); zend_string_release(const_GZ_name);
zval const_NONE_value; zval const_NONE_value;
ZVAL_LONG(&const_NONE_value, PHAR_ENT_COMPRESSED_NONE); ZVAL_LONG(&const_NONE_value, PHAR_ENT_COMPRESSED_NONE);
zend_string *const_NONE_name = zend_string_init_interned("NONE", sizeof("NONE") - 1, 1); zend_string *const_NONE_name = zend_string_init_interned("NONE", sizeof("NONE") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_NONE_name, &const_NONE_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_NONE_name, &const_NONE_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_NONE_name); zend_string_release(const_NONE_name);
zval const_PHAR_value; zval const_PHAR_value;
ZVAL_LONG(&const_PHAR_value, PHAR_FORMAT_PHAR); ZVAL_LONG(&const_PHAR_value, PHAR_FORMAT_PHAR);
zend_string *const_PHAR_name = zend_string_init_interned("PHAR", sizeof("PHAR") - 1, 1); zend_string *const_PHAR_name = zend_string_init_interned("PHAR", sizeof("PHAR") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_PHAR_name, &const_PHAR_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_PHAR_name, &const_PHAR_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_PHAR_name); zend_string_release(const_PHAR_name);
zval const_TAR_value; zval const_TAR_value;
ZVAL_LONG(&const_TAR_value, PHAR_FORMAT_TAR); ZVAL_LONG(&const_TAR_value, PHAR_FORMAT_TAR);
zend_string *const_TAR_name = zend_string_init_interned("TAR", sizeof("TAR") - 1, 1); zend_string *const_TAR_name = zend_string_init_interned("TAR", sizeof("TAR") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_TAR_name, &const_TAR_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_TAR_name, &const_TAR_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_TAR_name); zend_string_release(const_TAR_name);
zval const_ZIP_value; zval const_ZIP_value;
ZVAL_LONG(&const_ZIP_value, PHAR_FORMAT_ZIP); ZVAL_LONG(&const_ZIP_value, PHAR_FORMAT_ZIP);
zend_string *const_ZIP_name = zend_string_init_interned("ZIP", sizeof("ZIP") - 1, 1); zend_string *const_ZIP_name = zend_string_init_interned("ZIP", sizeof("ZIP") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_ZIP_name, &const_ZIP_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_ZIP_name, &const_ZIP_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_ZIP_name); zend_string_release(const_ZIP_name);
zval const_COMPRESSED_value; zval const_COMPRESSED_value;
ZVAL_LONG(&const_COMPRESSED_value, PHAR_ENT_COMPRESSION_MASK); ZVAL_LONG(&const_COMPRESSED_value, PHAR_ENT_COMPRESSION_MASK);
zend_string *const_COMPRESSED_name = zend_string_init_interned("COMPRESSED", sizeof("COMPRESSED") - 1, 1); zend_string *const_COMPRESSED_name = zend_string_init_interned("COMPRESSED", sizeof("COMPRESSED") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_COMPRESSED_name, &const_COMPRESSED_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_COMPRESSED_name, &const_COMPRESSED_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_COMPRESSED_name); zend_string_release(const_COMPRESSED_name);
zval const_PHP_value; zval const_PHP_value;
ZVAL_LONG(&const_PHP_value, PHAR_MIME_PHP); ZVAL_LONG(&const_PHP_value, PHAR_MIME_PHP);
zend_string *const_PHP_name = zend_string_init_interned("PHP", sizeof("PHP") - 1, 1); zend_string *const_PHP_name = zend_string_init_interned("PHP", sizeof("PHP") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_PHP_name, &const_PHP_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_PHP_name, &const_PHP_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_PHP_name); zend_string_release(const_PHP_name);
zval const_PHPS_value; zval const_PHPS_value;
ZVAL_LONG(&const_PHPS_value, PHAR_MIME_PHPS); ZVAL_LONG(&const_PHPS_value, PHAR_MIME_PHPS);
zend_string *const_PHPS_name = zend_string_init_interned("PHPS", sizeof("PHPS") - 1, 1); zend_string *const_PHPS_name = zend_string_init_interned("PHPS", sizeof("PHPS") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_PHPS_name, &const_PHPS_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_PHPS_name, &const_PHPS_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_PHPS_name); zend_string_release(const_PHPS_name);
zval const_MD5_value; zval const_MD5_value;
ZVAL_LONG(&const_MD5_value, PHAR_SIG_MD5); ZVAL_LONG(&const_MD5_value, PHAR_SIG_MD5);
zend_string *const_MD5_name = zend_string_init_interned("MD5", sizeof("MD5") - 1, 1); zend_string *const_MD5_name = zend_string_init_interned("MD5", sizeof("MD5") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_MD5_name, &const_MD5_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_MD5_name, &const_MD5_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_MD5_name); zend_string_release(const_MD5_name);
zval const_OPENSSL_value; zval const_OPENSSL_value;
ZVAL_LONG(&const_OPENSSL_value, PHAR_SIG_OPENSSL); ZVAL_LONG(&const_OPENSSL_value, PHAR_SIG_OPENSSL);
zend_string *const_OPENSSL_name = zend_string_init_interned("OPENSSL", sizeof("OPENSSL") - 1, 1); zend_string *const_OPENSSL_name = zend_string_init_interned("OPENSSL", sizeof("OPENSSL") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_OPENSSL_name, &const_OPENSSL_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_OPENSSL_name, &const_OPENSSL_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_OPENSSL_name); zend_string_release(const_OPENSSL_name);
zval const_OPENSSL_SHA256_value; zval const_OPENSSL_SHA256_value;
ZVAL_LONG(&const_OPENSSL_SHA256_value, PHAR_SIG_OPENSSL_SHA256); ZVAL_LONG(&const_OPENSSL_SHA256_value, PHAR_SIG_OPENSSL_SHA256);
zend_string *const_OPENSSL_SHA256_name = zend_string_init_interned("OPENSSL_SHA256", sizeof("OPENSSL_SHA256") - 1, 1); zend_string *const_OPENSSL_SHA256_name = zend_string_init_interned("OPENSSL_SHA256", sizeof("OPENSSL_SHA256") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_OPENSSL_SHA256_name, &const_OPENSSL_SHA256_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_OPENSSL_SHA256_name, &const_OPENSSL_SHA256_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_OPENSSL_SHA256_name); zend_string_release(const_OPENSSL_SHA256_name);
zval const_OPENSSL_SHA512_value; zval const_OPENSSL_SHA512_value;
ZVAL_LONG(&const_OPENSSL_SHA512_value, PHAR_SIG_OPENSSL_SHA512); ZVAL_LONG(&const_OPENSSL_SHA512_value, PHAR_SIG_OPENSSL_SHA512);
zend_string *const_OPENSSL_SHA512_name = zend_string_init_interned("OPENSSL_SHA512", sizeof("OPENSSL_SHA512") - 1, 1); zend_string *const_OPENSSL_SHA512_name = zend_string_init_interned("OPENSSL_SHA512", sizeof("OPENSSL_SHA512") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_OPENSSL_SHA512_name, &const_OPENSSL_SHA512_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_OPENSSL_SHA512_name, &const_OPENSSL_SHA512_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_OPENSSL_SHA512_name); zend_string_release(const_OPENSSL_SHA512_name);
zval const_SHA1_value; zval const_SHA1_value;
ZVAL_LONG(&const_SHA1_value, PHAR_SIG_SHA1); ZVAL_LONG(&const_SHA1_value, PHAR_SIG_SHA1);
zend_string *const_SHA1_name = zend_string_init_interned("SHA1", sizeof("SHA1") - 1, 1); zend_string *const_SHA1_name = zend_string_init_interned("SHA1", sizeof("SHA1") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_SHA1_name, &const_SHA1_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_SHA1_name, &const_SHA1_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_SHA1_name); zend_string_release(const_SHA1_name);
zval const_SHA256_value; zval const_SHA256_value;
ZVAL_LONG(&const_SHA256_value, PHAR_SIG_SHA256); ZVAL_LONG(&const_SHA256_value, PHAR_SIG_SHA256);
zend_string *const_SHA256_name = zend_string_init_interned("SHA256", sizeof("SHA256") - 1, 1); zend_string *const_SHA256_name = zend_string_init_interned("SHA256", sizeof("SHA256") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_SHA256_name, &const_SHA256_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_SHA256_name, &const_SHA256_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_SHA256_name); zend_string_release(const_SHA256_name);
zval const_SHA512_value; zval const_SHA512_value;
ZVAL_LONG(&const_SHA512_value, PHAR_SIG_SHA512); ZVAL_LONG(&const_SHA512_value, PHAR_SIG_SHA512);
zend_string *const_SHA512_name = zend_string_init_interned("SHA512", sizeof("SHA512") - 1, 1); zend_string *const_SHA512_name = zend_string_init_interned("SHA512", sizeof("SHA512") - 1, 1);
zend_declare_class_constant_ex(class_entry, const_SHA512_name, &const_SHA512_value, ZEND_ACC_PUBLIC, NULL); zend_declare_typed_class_constant(class_entry, const_SHA512_name, &const_SHA512_value, ZEND_ACC_PUBLIC, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_LONG));
zend_string_release(const_SHA512_name); zend_string_release(const_SHA512_name);
return class_entry; return class_entry;