mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-8.1'
* PHP-8.1: Fix #81681: ReflectionEnum throwing exceptions
This commit is contained in:
commit
2658925e60
2 changed files with 20 additions and 2 deletions
|
@ -4751,7 +4751,7 @@ ZEND_METHOD(ReflectionClass, isInstantiable)
|
||||||
RETURN_THROWS();
|
RETURN_THROWS();
|
||||||
}
|
}
|
||||||
GET_REFLECTION_OBJECT_PTR(ce);
|
GET_REFLECTION_OBJECT_PTR(ce);
|
||||||
if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) {
|
if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS | ZEND_ACC_ENUM)) {
|
||||||
RETURN_FALSE;
|
RETURN_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4776,7 +4776,7 @@ ZEND_METHOD(ReflectionClass, isCloneable)
|
||||||
RETURN_THROWS();
|
RETURN_THROWS();
|
||||||
}
|
}
|
||||||
GET_REFLECTION_OBJECT_PTR(ce);
|
GET_REFLECTION_OBJECT_PTR(ce);
|
||||||
if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS)) {
|
if (ce->ce_flags & (ZEND_ACC_INTERFACE | ZEND_ACC_TRAIT | ZEND_ACC_EXPLICIT_ABSTRACT_CLASS | ZEND_ACC_IMPLICIT_ABSTRACT_CLASS | ZEND_ACC_ENUM)) {
|
||||||
RETURN_FALSE;
|
RETURN_FALSE;
|
||||||
}
|
}
|
||||||
if (!Z_ISUNDEF(intern->obj)) {
|
if (!Z_ISUNDEF(intern->obj)) {
|
||||||
|
|
18
ext/reflection/tests/bug81681.phpt
Normal file
18
ext/reflection/tests/bug81681.phpt
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #81681 (ReflectionEnum throwing exceptions)
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
enum Status
|
||||||
|
{
|
||||||
|
case Draft;
|
||||||
|
case Published;
|
||||||
|
case Archived;
|
||||||
|
}
|
||||||
|
|
||||||
|
$reflectionEnum = new \ReflectionEnum('\Status');
|
||||||
|
var_dump($reflectionEnum->isInstantiable());
|
||||||
|
var_dump($reflectionEnum->isCloneable());
|
||||||
|
?>
|
||||||
|
--EXPECT--
|
||||||
|
bool(false)
|
||||||
|
bool(false)
|
Loading…
Add table
Add a link
Reference in a new issue