Skip to content

Commit acf7ba8

Browse files
Reflection: improve error messages for lazy initialization errors
Improve error messages from `reflection_property_check_lazy_compatible()`, as triggered by both `ReflectionProperty::setRawValueWithoutLazyInitialization()` and `ReflectionProperty::skipLazyInitialization()`. Say "cannot" instead of "can not", and include parentheses after the method name.
1 parent e0693e9 commit acf7ba8

6 files changed

Lines changed: 26 additions & 26 deletions

Zend/tests/lazy_objects/setRawValueWithoutLazyInitialization_no_dynamic_prop.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ test('Proxy', $obj);
3838
?>
3939
--EXPECT--
4040
# Ghost
41-
ReflectionException: Can not use setRawValueWithoutLazyInitialization on dynamic property C::$dyn
41+
ReflectionException: Cannot use setRawValueWithoutLazyInitialization() on dynamic property C::$dyn
4242
# Proxy
43-
ReflectionException: Can not use setRawValueWithoutLazyInitialization on dynamic property C::$dyn
43+
ReflectionException: Cannot use setRawValueWithoutLazyInitialization() on dynamic property C::$dyn

Zend/tests/lazy_objects/skipLazyInitialization.phpt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -198,10 +198,10 @@ getValue(): string(5) "value"
198198
## Property [ public static $static = 'static' ]
199199

200200
skipInitializerForProperty():
201-
ReflectionException: Can not use skipLazyInitialization on static property A::$static
201+
ReflectionException: Cannot use skipLazyInitialization() on static property A::$static
202202

203203
setRawValueWithoutLazyInitialization():
204-
ReflectionException: Can not use setRawValueWithoutLazyInitialization on static property A::$static
204+
ReflectionException: Cannot use setRawValueWithoutLazyInitialization() on static property A::$static
205205

206206
## Property [ public $noDefault = NULL ]
207207

@@ -238,10 +238,10 @@ getValue(): string(5) "value"
238238
## Property [ public virtual $virtual { get; set; } ]
239239

240240
skipInitializerForProperty():
241-
ReflectionException: Can not use skipLazyInitialization on virtual property A::$virtual
241+
ReflectionException: Cannot use skipLazyInitialization() on virtual property A::$virtual
242242

243243
setRawValueWithoutLazyInitialization():
244-
ReflectionException: Can not use setRawValueWithoutLazyInitialization on virtual property A::$virtual
244+
ReflectionException: Cannot use setRawValueWithoutLazyInitialization() on virtual property A::$virtual
245245

246246
## Property [ $dynamicProp ]
247247

@@ -295,10 +295,10 @@ getValue(): string(5) "value"
295295
## Property [ public static $static = 'static' ]
296296

297297
skipInitializerForProperty():
298-
ReflectionException: Can not use skipLazyInitialization on static property A::$static
298+
ReflectionException: Cannot use skipLazyInitialization() on static property A::$static
299299

300300
setRawValueWithoutLazyInitialization():
301-
ReflectionException: Can not use setRawValueWithoutLazyInitialization on static property A::$static
301+
ReflectionException: Cannot use setRawValueWithoutLazyInitialization() on static property A::$static
302302

303303
## Property [ public $noDefault = NULL ]
304304

@@ -335,10 +335,10 @@ getValue(): string(5) "value"
335335
## Property [ public virtual $virtual { get; set; } ]
336336

337337
skipInitializerForProperty():
338-
ReflectionException: Can not use skipLazyInitialization on virtual property A::$virtual
338+
ReflectionException: Cannot use skipLazyInitialization() on virtual property A::$virtual
339339

340340
setRawValueWithoutLazyInitialization():
341-
ReflectionException: Can not use setRawValueWithoutLazyInitialization on virtual property A::$virtual
341+
ReflectionException: Cannot use setRawValueWithoutLazyInitialization() on virtual property A::$virtual
342342

343343
## Property [ $dynamicProp ]
344344

Zend/tests/lazy_objects/skipLazyInitialization_no_dynamic_prop.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ test('Proxy', $obj);
3838
?>
3939
--EXPECT--
4040
# Ghost
41-
ReflectionException: Can not use skipLazyInitialization on dynamic property C::$dyn
41+
ReflectionException: Cannot use skipLazyInitialization() on dynamic property C::$dyn
4242
# Proxy
43-
ReflectionException: Can not use skipLazyInitialization on dynamic property C::$dyn
43+
ReflectionException: Cannot use skipLazyInitialization() on dynamic property C::$dyn

ext/reflection/php_reflection.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6039,23 +6039,23 @@ static zend_result reflection_property_check_lazy_compatible(
60396039
{
60406040
if (!prop) {
60416041
zend_throw_exception_ex(reflection_exception_ptr, 0,
6042-
"Can not use %s on dynamic property %s::$%s",
6042+
"Cannot use %s() on dynamic property %s::$%s",
60436043
method, ZSTR_VAL(scope->name),
60446044
ZSTR_VAL(unmangled_name));
60456045
return FAILURE;
60466046
}
60476047

60486048
if (prop->flags & ZEND_ACC_STATIC) {
60496049
zend_throw_exception_ex(reflection_exception_ptr, 0,
6050-
"Can not use %s on static property %s::$%s",
6050+
"Cannot use %s() on static property %s::$%s",
60516051
method, ZSTR_VAL(prop->ce->name),
60526052
ZSTR_VAL(unmangled_name));
60536053
return FAILURE;
60546054
}
60556055

60566056
if (prop->flags & ZEND_ACC_VIRTUAL) {
60576057
zend_throw_exception_ex(reflection_exception_ptr, 0,
6058-
"Can not use %s on virtual property %s::$%s",
6058+
"Cannot use %s() on virtual property %s::$%s",
60596059
method, ZSTR_VAL(prop->ce->name),
60606060
ZSTR_VAL(unmangled_name));
60616061
return FAILURE;
@@ -6065,7 +6065,7 @@ static zend_result reflection_property_check_lazy_compatible(
60656065
&& !zend_class_can_be_lazy(object->ce)
60666066
) {
60676067
zend_throw_exception_ex(reflection_exception_ptr, 0,
6068-
"Can not use %s on internal class %s",
6068+
"Cannot use %s() on internal class %s",
60696069
method, ZSTR_VAL(object->ce->name));
60706070
return FAILURE;
60716071
}

ext/reflection/tests/ReflectionProperty_lazy_initialization_errors.phpt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ test($obj, 'name');
3838

3939
?>
4040
--EXPECT--
41-
Can not use setRawValueWithoutLazyInitialization on static property Demo::$myStatic
42-
Can not use skipLazyInitialization on static property Demo::$myStatic
41+
Cannot use setRawValueWithoutLazyInitialization() on static property Demo::$myStatic
42+
Cannot use skipLazyInitialization() on static property Demo::$myStatic
4343

44-
Can not use setRawValueWithoutLazyInitialization on virtual property Demo::$myVirtual
45-
Can not use skipLazyInitialization on virtual property Demo::$myVirtual
44+
Cannot use setRawValueWithoutLazyInitialization() on virtual property Demo::$myVirtual
45+
Cannot use skipLazyInitialization() on virtual property Demo::$myVirtual
4646

47-
Can not use setRawValueWithoutLazyInitialization on dynamic property Demo::$myDynamic
48-
Can not use skipLazyInitialization on dynamic property Demo::$myDynamic
47+
Cannot use setRawValueWithoutLazyInitialization() on dynamic property Demo::$myDynamic
48+
Cannot use skipLazyInitialization() on dynamic property Demo::$myDynamic
4949

50-
Can not use setRawValueWithoutLazyInitialization on internal class ReflectionClass
51-
Can not use skipLazyInitialization on internal class ReflectionClass
50+
Cannot use setRawValueWithoutLazyInitialization() on internal class ReflectionClass
51+
Cannot use skipLazyInitialization() on internal class ReflectionClass

ext/reflection/tests/property_hooks/gh17713.phpt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,13 +157,13 @@ int(43)
157157
# Accessing Base->virtualProp from scope Base
158158
Must not write to virtual property Base::$virtualProp
159159
Must not read from virtual property Base::$virtualProp
160-
Can not use setRawValueWithoutLazyInitialization on virtual property Base::$virtualProp
160+
Cannot use setRawValueWithoutLazyInitialization() on virtual property Base::$virtualProp
161161
Must not read from virtual property Base::$virtualProp
162162
# Accessing Test->dynamicProp from scope Base
163163
int(42)
164164
int(43)
165165
# Accessing Test->changedProp from scope Base
166166
May not use setRawValue on static properties
167167
May not use getRawValue on static properties
168-
Can not use setRawValueWithoutLazyInitialization on static property Test::$changedProp
168+
Cannot use setRawValueWithoutLazyInitialization() on static property Test::$changedProp
169169
May not use getRawValue on static properties

0 commit comments

Comments
 (0)