Skip to content

Commit e8d8a5f

Browse files
authored
Typed constants in reflection extension (#12378)
1 parent b6bf7a0 commit e8d8a5f

File tree

3 files changed

+66
-124
lines changed

3 files changed

+66
-124
lines changed

UPGRADING

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ PHP 8.4 UPGRADE NOTES
139139
- Spl:
140140
. The class constants are typed now.
141141

142+
- Reflection:
143+
. The class constants are typed now.
144+
142145
========================================
143146
10. New Global Constants
144147
========================================

ext/reflection/php_reflection.stub.php

Lines changed: 41 additions & 102 deletions
Original file line numberDiff line numberDiff line change
@@ -116,11 +116,8 @@ public function getAttributes(?string $name = null, int $flags = 0): array {}
116116

117117
class ReflectionFunction extends ReflectionFunctionAbstract
118118
{
119-
/**
120-
* @var int
121-
* @cvalue ZEND_ACC_DEPRECATED
122-
*/
123-
public const IS_DEPRECATED = UNKNOWN;
119+
/** @cvalue ZEND_ACC_DEPRECATED */
120+
public const int IS_DEPRECATED = UNKNOWN;
124121

125122
public function __construct(Closure|string $function) {}
126123

@@ -170,36 +167,18 @@ public function getExecutingGenerator(): Generator {}
170167

171168
class ReflectionMethod extends ReflectionFunctionAbstract
172169
{
173-
/**
174-
* @var int
175-
* @cvalue ZEND_ACC_STATIC
176-
*/
177-
public const IS_STATIC = UNKNOWN;
178-
/**
179-
* @var int
180-
* @cvalue ZEND_ACC_PUBLIC
181-
*/
182-
public const IS_PUBLIC = UNKNOWN;
183-
/**
184-
* @var int
185-
* @cvalue ZEND_ACC_PROTECTED
186-
*/
187-
public const IS_PROTECTED = UNKNOWN;
188-
/**
189-
* @var int
190-
* @cvalue ZEND_ACC_PRIVATE
191-
*/
192-
public const IS_PRIVATE = UNKNOWN;
193-
/**
194-
* @var int
195-
* @cvalue ZEND_ACC_ABSTRACT
196-
*/
197-
public const IS_ABSTRACT = UNKNOWN;
198-
/**
199-
* @var int
200-
* @cvalue ZEND_ACC_FINAL
201-
*/
202-
public const IS_FINAL = UNKNOWN;
170+
/** @cvalue ZEND_ACC_STATIC */
171+
public const int IS_STATIC = UNKNOWN;
172+
/** @cvalue ZEND_ACC_PUBLIC */
173+
public const int IS_PUBLIC = UNKNOWN;
174+
/** @cvalue ZEND_ACC_PROTECTED */
175+
public const int IS_PROTECTED = UNKNOWN;
176+
/** @cvalue ZEND_ACC_PRIVATE */
177+
public const int IS_PRIVATE = UNKNOWN;
178+
/** @cvalue ZEND_ACC_ABSTRACT */
179+
public const int IS_ABSTRACT = UNKNOWN;
180+
/** @cvalue ZEND_ACC_FINAL */
181+
public const int IS_FINAL = UNKNOWN;
203182

204183
public string $class;
205184

@@ -258,26 +237,16 @@ public function setAccessible(bool $accessible): void {}
258237
class ReflectionClass implements Reflector
259238
{
260239
/**
261-
* @var int
262240
* @cvalue ZEND_ACC_IMPLICIT_ABSTRACT_CLASS
263241
* @todo deprecate
264242
*/
265-
public const IS_IMPLICIT_ABSTRACT = UNKNOWN;
266-
/**
267-
* @var int
268-
* @cvalue ZEND_ACC_EXPLICIT_ABSTRACT_CLASS
269-
*/
270-
public const IS_EXPLICIT_ABSTRACT = UNKNOWN;
271-
/**
272-
* @var int
273-
* @cvalue ZEND_ACC_FINAL
274-
*/
275-
public const IS_FINAL = UNKNOWN;
276-
/**
277-
* @var int
278-
* @cvalue ZEND_ACC_READONLY_CLASS
279-
*/
280-
public const IS_READONLY = UNKNOWN;
243+
public const int IS_IMPLICIT_ABSTRACT = UNKNOWN;
244+
/** @cvalue ZEND_ACC_EXPLICIT_ABSTRACT_CLASS */
245+
public const int IS_EXPLICIT_ABSTRACT = UNKNOWN;
246+
/** @cvalue ZEND_ACC_FINAL */
247+
public const int IS_FINAL = UNKNOWN;
248+
/** @cvalue ZEND_ACC_READONLY_CLASS */
249+
public const int IS_READONLY = UNKNOWN;
281250

282251
public string $name;
283252

@@ -455,31 +424,16 @@ public function __construct(object $object) {}
455424
/** @not-serializable */
456425
class ReflectionProperty implements Reflector
457426
{
458-
/**
459-
* @var int
460-
* @cvalue ZEND_ACC_STATIC
461-
*/
462-
public const IS_STATIC = UNKNOWN;
463-
/**
464-
* @var int
465-
* @cvalue ZEND_ACC_READONLY
466-
*/
467-
public const IS_READONLY = UNKNOWN;
468-
/**
469-
* @var int
470-
* @cvalue ZEND_ACC_PUBLIC
471-
*/
472-
public const IS_PUBLIC = UNKNOWN;
473-
/**
474-
* @var int
475-
* @cvalue ZEND_ACC_PROTECTED
476-
*/
477-
public const IS_PROTECTED = UNKNOWN;
478-
/**
479-
* @var int
480-
* @cvalue ZEND_ACC_PRIVATE
481-
*/
482-
public const IS_PRIVATE = UNKNOWN;
427+
/** @cvalue ZEND_ACC_STATIC */
428+
public const int IS_STATIC = UNKNOWN;
429+
/** @cvalue ZEND_ACC_READONLY */
430+
public const int IS_READONLY = UNKNOWN;
431+
/** @cvalue ZEND_ACC_PUBLIC */
432+
public const int IS_PUBLIC = UNKNOWN;
433+
/** @cvalue ZEND_ACC_PROTECTED */
434+
public const int IS_PROTECTED = UNKNOWN;
435+
/** @cvalue ZEND_ACC_PRIVATE */
436+
public const int IS_PRIVATE = UNKNOWN;
483437

484438
public string $name;
485439
public string $class;
@@ -551,26 +505,14 @@ public function getAttributes(?string $name = null, int $flags = 0): array {}
551505
/** @not-serializable */
552506
class ReflectionClassConstant implements Reflector
553507
{
554-
/**
555-
* @var int
556-
* @cvalue ZEND_ACC_PUBLIC
557-
*/
558-
public const IS_PUBLIC = UNKNOWN;
559-
/**
560-
* @var int
561-
* @cvalue ZEND_ACC_PROTECTED
562-
*/
563-
public const IS_PROTECTED = UNKNOWN;
564-
/**
565-
* @var int
566-
* @cvalue ZEND_ACC_PRIVATE
567-
*/
568-
public const IS_PRIVATE = UNKNOWN;
569-
/**
570-
* @var int
571-
* @cvalue ZEND_ACC_FINAL
572-
*/
573-
public const IS_FINAL = UNKNOWN;
508+
/** @cvalue ZEND_ACC_PUBLIC */
509+
public const int IS_PUBLIC = UNKNOWN;
510+
/** @cvalue ZEND_ACC_PROTECTED */
511+
public const int IS_PROTECTED = UNKNOWN;
512+
/** @cvalue ZEND_ACC_PRIVATE */
513+
public const int IS_PRIVATE = UNKNOWN;
514+
/** @cvalue ZEND_ACC_FINAL */
515+
public const int IS_FINAL = UNKNOWN;
574516

575517
public string $name;
576518
public string $class;
@@ -819,11 +761,8 @@ private function __construct() {}
819761
/** @not-serializable */
820762
class ReflectionAttribute implements Reflector
821763
{
822-
/**
823-
* @var int
824-
* @cvalue REFLECTION_ATTRIBUTE_IS_INSTANCEOF
825-
*/
826-
public const IS_INSTANCEOF = UNKNOWN;
764+
/** @cvalue REFLECTION_ATTRIBUTE_IS_INSTANCEOF */
765+
public const int IS_INSTANCEOF = UNKNOWN;
827766

828767
public function getName(): string {}
829768
public function getTarget(): int {}

ext/reflection/php_reflection_arginfo.h

Lines changed: 22 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)