Skip to content

Commit c650e67

Browse files
committedJul 7, 2022
Fixed bug GH-8943 Reflection::getModifiersNames() with readonly modifier
1 parent de202a5 commit c650e67

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed
 

‎ext/reflection/php_reflection.c

+4
Original file line numberDiff line numberDiff line change
@@ -1550,6 +1550,10 @@ ZEND_METHOD(Reflection, getModifierNames)
15501550
if (modifiers & ZEND_ACC_STATIC) {
15511551
add_next_index_stringl(return_value, "static", sizeof("static")-1);
15521552
}
1553+
1554+
if (modifiers & ZEND_ACC_READONLY) {
1555+
add_next_index_stringl(return_value, "readonly", sizeof("readonly")-1);
1556+
}
15531557
}
15541558
/* }}} */
15551559

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--TEST--
2+
Reflection::getModifierNames() basic
3+
--FILE--
4+
<?php
5+
6+
function printModifiers($modifiers) {
7+
echo implode(',', Reflection::getModifierNames($modifiers)), PHP_EOL;
8+
}
9+
10+
printModifiers(ReflectionProperty::IS_PRIVATE);
11+
printModifiers(ReflectionProperty::IS_PROTECTED | ReflectionProperty::IS_STATIC);
12+
printModifiers(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_READONLY);
13+
printModifiers(ReflectionClass::IS_EXPLICIT_ABSTRACT);
14+
printModifiers(ReflectionMethod::IS_ABSTRACT | ReflectionMethod::IS_FINAL);
15+
printModifiers(ReflectionProperty::IS_PUBLIC | ReflectionProperty::IS_STATIC | ReflectionProperty::IS_READONLY);
16+
?>
17+
--EXPECT--
18+
private
19+
protected,static
20+
public,readonly
21+
abstract
22+
abstract,final
23+
public,static,readonly

0 commit comments

Comments
 (0)
Please sign in to comment.