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
was decided to remove the feature instead.
- Phar:
. The type of Phar class constants are now declared.
- Standard:
. The range() function has had various changes:
* 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
{
/**
* @var int
* @cvalue PHAR_ENT_COMPRESSED_BZ2
*/
const BZ2 = UNKNOWN;
const int BZ2 = UNKNOWN;
/**
* @var int
* @cvalue PHAR_ENT_COMPRESSED_GZ
*/
const GZ = UNKNOWN;
const int GZ = UNKNOWN;
/**
* @var int
* @cvalue PHAR_ENT_COMPRESSED_NONE
*/
const NONE = UNKNOWN;
const int NONE = UNKNOWN;
/**
* @var int
* @cvalue PHAR_FORMAT_PHAR
*/
const PHAR = UNKNOWN;
const int PHAR = UNKNOWN;
/**
* @var int
* @cvalue PHAR_FORMAT_TAR
*/
const TAR = UNKNOWN;
const int TAR = UNKNOWN;
/**
* @var int
* @cvalue PHAR_FORMAT_ZIP
*/
const ZIP = UNKNOWN;
const int ZIP = UNKNOWN;
/**
* @var int
* @cvalue PHAR_ENT_COMPRESSION_MASK
*/
const COMPRESSED = UNKNOWN;
const int COMPRESSED = UNKNOWN;
/**
* @var int
* @cvalue PHAR_MIME_PHP
*/
const PHP = UNKNOWN;
const int PHP = UNKNOWN;
/**
* @var int
* @cvalue PHAR_MIME_PHPS
*/
const PHPS = UNKNOWN;
const int PHPS = UNKNOWN;
/**
* @var int
* @cvalue PHAR_SIG_MD5
*/
const MD5 = UNKNOWN;
const int MD5 = UNKNOWN;
/**
* @var int
* @cvalue PHAR_SIG_OPENSSL
*/
const OPENSSL = UNKNOWN;
const int OPENSSL = UNKNOWN;
/**
* @var int
* @cvalue PHAR_SIG_OPENSSL_SHA256
*/
const OPENSSL_SHA256 = UNKNOWN;
const int OPENSSL_SHA256 = UNKNOWN;
/**
* @var int
* @cvalue PHAR_SIG_OPENSSL_SHA512
*/
const OPENSSL_SHA512 = UNKNOWN;
const int OPENSSL_SHA512 = UNKNOWN;
/**
* @var int
* @cvalue PHAR_SIG_SHA1
*/
const SHA1 = UNKNOWN;
const int SHA1 = UNKNOWN;
/**
* @var int
* @cvalue PHAR_SIG_SHA256
*/
const SHA256 = UNKNOWN;
const int SHA256 = UNKNOWN;
/**
* @var int
* @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) {}

View File

@@ -1,5 +1,5 @@
/* 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_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_LONG(&const_BZ2_value, PHAR_ENT_COMPRESSED_BZ2);
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);
zval const_GZ_value;
ZVAL_LONG(&const_GZ_value, PHAR_ENT_COMPRESSED_GZ);
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);
zval const_NONE_value;
ZVAL_LONG(&const_NONE_value, PHAR_ENT_COMPRESSED_NONE);
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);
zval const_PHAR_value;
ZVAL_LONG(&const_PHAR_value, PHAR_FORMAT_PHAR);
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);
zval const_TAR_value;
ZVAL_LONG(&const_TAR_value, PHAR_FORMAT_TAR);
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);
zval const_ZIP_value;
ZVAL_LONG(&const_ZIP_value, PHAR_FORMAT_ZIP);
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);
zval const_COMPRESSED_value;
ZVAL_LONG(&const_COMPRESSED_value, PHAR_ENT_COMPRESSION_MASK);
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);
zval const_PHP_value;
ZVAL_LONG(&const_PHP_value, PHAR_MIME_PHP);
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);
zval const_PHPS_value;
ZVAL_LONG(&const_PHPS_value, PHAR_MIME_PHPS);
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);
zval const_MD5_value;
ZVAL_LONG(&const_MD5_value, PHAR_SIG_MD5);
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);
zval const_OPENSSL_value;
ZVAL_LONG(&const_OPENSSL_value, PHAR_SIG_OPENSSL);
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);
zval const_OPENSSL_SHA256_value;
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_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);
zval const_OPENSSL_SHA512_value;
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_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);
zval const_SHA1_value;
ZVAL_LONG(&const_SHA1_value, PHAR_SIG_SHA1);
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);
zval const_SHA256_value;
ZVAL_LONG(&const_SHA256_value, PHAR_SIG_SHA256);
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);
zval const_SHA512_value;
ZVAL_LONG(&const_SHA512_value, PHAR_SIG_SHA512);
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);
return class_entry;