Skip to content

Commit 0d03441

Browse files
committed
Address code review
1 parent 86a85c5 commit 0d03441

File tree

10 files changed

+192
-172
lines changed

10 files changed

+192
-172
lines changed

Zend/zend_exceptions.stub.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ class Exception implements Throwable
3535
protected $file = null;
3636
/** @var int|null */
3737
protected $line = null;
38-
/** @known */
3938
private array $trace = [];
40-
/** @known */
4139
private ?Throwable $previous = null;
4240

4341
final private function __clone(): void {}
@@ -94,9 +92,7 @@ class Error implements Throwable
9492
protected $file = null;
9593
/** @var int|null */
9694
protected $line = null;
97-
/** @known */
9895
private array $trace = [];
99-
/** @known */
10096
private ?Throwable $previous = null;
10197

10298
/** @implementation-alias Exception::__clone */

Zend/zend_exceptions_arginfo.h

Lines changed: 73 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: fc90f59a8c670e7874f4a7564333c5b22c0eea5e */
2+
* Stub hash: 053248482a00efc35be505186f8430708bd280e9 */
33

44
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Throwable_getMessage, 0, 0, IS_STRING, 0)
55
ZEND_END_ARG_INFO()
@@ -205,23 +205,48 @@ zend_class_entry *register_class_Exception(zend_class_entry *class_entry_Throwab
205205
class_entry = zend_register_internal_class_ex(&ce, NULL);
206206
zend_class_implements(class_entry, 1, class_entry_Throwable);
207207

208-
zend_declare_property_string(class_entry, "message", sizeof("message") - 1, "", ZEND_ACC_PROTECTED);
209-
210-
zend_declare_property_string(class_entry, "string", sizeof("string") - 1, "", ZEND_ACC_PRIVATE);
211-
212-
zend_declare_property_long(class_entry, "code", sizeof("code") - 1, 0, ZEND_ACC_PROTECTED);
213-
214-
zend_declare_property_null(class_entry, "file", sizeof("file") - 1, ZEND_ACC_PROTECTED);
215-
216-
zend_declare_property_null(class_entry, "line", sizeof("line") - 1, ZEND_ACC_PROTECTED);
208+
zval property_message_default_value;
209+
ZVAL_EMPTY_STRING(&property_message_default_value);
210+
zend_string *property_message_name = zend_string_init("message", sizeof("message") - 1, 1);
211+
zend_declare_property_ex(class_entry, property_message_name, &property_message_default_value, ZEND_ACC_PROTECTED, NULL);
212+
zend_string_release(property_message_name);
213+
214+
zval property_string_default_value;
215+
ZVAL_EMPTY_STRING(&property_string_default_value);
216+
zend_string *property_string_name = zend_string_init("string", sizeof("string") - 1, 1);
217+
zend_declare_property_ex(class_entry, property_string_name, &property_string_default_value, ZEND_ACC_PRIVATE, NULL);
218+
zend_string_release(property_string_name);
219+
220+
zval property_code_default_value;
221+
ZVAL_LONG(&property_code_default_value, 0);
222+
zend_string *property_code_name = zend_string_init("code", sizeof("code") - 1, 1);
223+
zend_declare_property_ex(class_entry, property_code_name, &property_code_default_value, ZEND_ACC_PROTECTED, NULL);
224+
zend_string_release(property_code_name);
225+
226+
zval property_file_default_value;
227+
ZVAL_NULL(&property_file_default_value);
228+
zend_string *property_file_name = zend_string_init("file", sizeof("file") - 1, 1);
229+
zend_declare_property_ex(class_entry, property_file_name, &property_file_default_value, ZEND_ACC_PROTECTED, NULL);
230+
zend_string_release(property_file_name);
231+
232+
zval property_line_default_value;
233+
ZVAL_NULL(&property_line_default_value);
234+
zend_string *property_line_name = zend_string_init("line", sizeof("line") - 1, 1);
235+
zend_declare_property_ex(class_entry, property_line_name, &property_line_default_value, ZEND_ACC_PROTECTED, NULL);
236+
zend_string_release(property_line_name);
217237

218238
zval property_trace_default_value;
219239
ZVAL_EMPTY_ARRAY(&property_trace_default_value);
220-
zend_declare_typed_property(class_entry, ZSTR_KNOWN(ZEND_STR_TRACE), &property_trace_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
240+
zend_string *property_trace_name = zend_string_init("trace", sizeof("trace") - 1, 1);
241+
zend_declare_typed_property(class_entry, property_trace_name, &property_trace_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
242+
zend_string_release(property_trace_name);
221243

244+
zend_string *property_previous_class_Throwable = zend_string_init("Throwable", sizeof("Throwable"), 1);
222245
zval property_previous_default_value;
223246
ZVAL_NULL(&property_previous_default_value);
224-
zend_declare_typed_property(class_entry, ZSTR_KNOWN(ZEND_STR_PREVIOUS), &property_previous_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_CE(class_entry_Throwable, 1, 0));
247+
zend_string *property_previous_name = zend_string_init("previous", sizeof("previous") - 1, 1);
248+
zend_declare_typed_property(class_entry, property_previous_name, &property_previous_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_previous_class_Throwable, 1, 0));
249+
zend_string_release(property_previous_name);
225250

226251
return class_entry;
227252
}
@@ -244,23 +269,48 @@ zend_class_entry *register_class_Error(zend_class_entry *class_entry_Throwable)
244269
class_entry = zend_register_internal_class_ex(&ce, NULL);
245270
zend_class_implements(class_entry, 1, class_entry_Throwable);
246271

247-
zend_declare_property_string(class_entry, "message", sizeof("message") - 1, "", ZEND_ACC_PROTECTED);
248-
249-
zend_declare_property_string(class_entry, "string", sizeof("string") - 1, "", ZEND_ACC_PRIVATE);
250-
251-
zend_declare_property_long(class_entry, "code", sizeof("code") - 1, 0, ZEND_ACC_PROTECTED);
252-
253-
zend_declare_property_null(class_entry, "file", sizeof("file") - 1, ZEND_ACC_PROTECTED);
254-
255-
zend_declare_property_null(class_entry, "line", sizeof("line") - 1, ZEND_ACC_PROTECTED);
272+
zval property_message_default_value;
273+
ZVAL_EMPTY_STRING(&property_message_default_value);
274+
zend_string *property_message_name = zend_string_init("message", sizeof("message") - 1, 1);
275+
zend_declare_property_ex(class_entry, property_message_name, &property_message_default_value, ZEND_ACC_PROTECTED, NULL);
276+
zend_string_release(property_message_name);
277+
278+
zval property_string_default_value;
279+
ZVAL_EMPTY_STRING(&property_string_default_value);
280+
zend_string *property_string_name = zend_string_init("string", sizeof("string") - 1, 1);
281+
zend_declare_property_ex(class_entry, property_string_name, &property_string_default_value, ZEND_ACC_PRIVATE, NULL);
282+
zend_string_release(property_string_name);
283+
284+
zval property_code_default_value;
285+
ZVAL_LONG(&property_code_default_value, 0);
286+
zend_string *property_code_name = zend_string_init("code", sizeof("code") - 1, 1);
287+
zend_declare_property_ex(class_entry, property_code_name, &property_code_default_value, ZEND_ACC_PROTECTED, NULL);
288+
zend_string_release(property_code_name);
289+
290+
zval property_file_default_value;
291+
ZVAL_NULL(&property_file_default_value);
292+
zend_string *property_file_name = zend_string_init("file", sizeof("file") - 1, 1);
293+
zend_declare_property_ex(class_entry, property_file_name, &property_file_default_value, ZEND_ACC_PROTECTED, NULL);
294+
zend_string_release(property_file_name);
295+
296+
zval property_line_default_value;
297+
ZVAL_NULL(&property_line_default_value);
298+
zend_string *property_line_name = zend_string_init("line", sizeof("line") - 1, 1);
299+
zend_declare_property_ex(class_entry, property_line_name, &property_line_default_value, ZEND_ACC_PROTECTED, NULL);
300+
zend_string_release(property_line_name);
256301

257302
zval property_trace_default_value;
258303
ZVAL_EMPTY_ARRAY(&property_trace_default_value);
259-
zend_declare_typed_property(class_entry, ZSTR_KNOWN(ZEND_STR_TRACE), &property_trace_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
304+
zend_string *property_trace_name = zend_string_init("trace", sizeof("trace") - 1, 1);
305+
zend_declare_typed_property(class_entry, property_trace_name, &property_trace_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_MASK(MAY_BE_ARRAY));
306+
zend_string_release(property_trace_name);
260307

308+
zend_string *property_previous_class_Throwable = zend_string_init("Throwable", sizeof("Throwable"), 1);
261309
zval property_previous_default_value;
262310
ZVAL_NULL(&property_previous_default_value);
263-
zend_declare_typed_property(class_entry, ZSTR_KNOWN(ZEND_STR_PREVIOUS), &property_previous_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_CE(class_entry_Throwable, 1, 0));
311+
zend_string *property_previous_name = zend_string_init("previous", sizeof("previous") - 1, 1);
312+
zend_declare_typed_property(class_entry, property_previous_name, &property_previous_default_value, ZEND_ACC_PRIVATE, NULL, (zend_type) ZEND_TYPE_INIT_CLASS(property_previous_class_Throwable, 1, 0));
313+
zend_string_release(property_previous_name);
264314

265315
return class_entry;
266316
}

0 commit comments

Comments
 (0)