Bug #81681 [Opn->Ver]: ReflectionEnum throwing exceptions
| From: | cmb@php.net | Date: | Wed, 01 Dec 2021 10:52:05 +0000 |
| Subject: | Bug #81681 [Opn->Ver]: ReflectionEnum throwing exceptions | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-238079@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=81681&edit=1
ID: 81681
Updated by: cmb@php.net
Reported by: brucekwells at gmail dot com
Summary: ReflectionEnum throwing exceptions
-Status: Open
+Status: Verified
Type: Bug
Package: Reflection related
Operating System: Windows 10 build 19043.1348
PHP Version: 8.1.0
Block user comment: N
Private report: N
New Comment:
Confirmed: <https://3v4l.org/Etoga>.
Previous Comments:
------------------------------------------------------------------------
[2021-12-01 03:21:16] brucekwells at gmail dot com
Description:
------------
ReflectionEnum::isInstantiable returns true (should return false)
ReflectionEnum::isCloneable throws exception (should return false)
Probably other issues, but ran into these first, which are obviously wrong. All methods in
ReflectionEnum inherited from ReflectionClass should return reasonable values for an enum.
Test script:
---------------
Status.php:
enum Status
{
case Draft;
case Published;
case Archived;
}
Test script:
include 'yourautoloader.php';
$reflectionClass = new \ReflectionEnum('\Status');
echo $reflectionClass->isInstantiable();
echo "\n";
echo $reflectionClass->isCloneable();
Expected result:
----------------
0
0
Actual result:
--------------
1
Fatal error: Uncaught Error: Cannot instantiate enum Status ....
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=81681&edit=1