File tree Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Expand file tree Collapse file tree 2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -1121,6 +1121,27 @@ zend_class_entry *zend_persist_class_entry(zend_class_entry *orig_ce)
1121
1121
return ce ;
1122
1122
}
1123
1123
1124
+ void zend_update_ce_scopes (zend_class_entry * ce )
1125
+ {
1126
+ if (ce -> required_scope ) {
1127
+ zend_class_entry * required_scope = ce -> required_scope ;
1128
+
1129
+ zend_class_entry * r = zend_shared_alloc_get_xlat_entry (required_scope );
1130
+ if (r ) {
1131
+ ce -> required_scope = r ;
1132
+ }
1133
+ }
1134
+
1135
+ if (ce -> lexical_scope ) {
1136
+ zend_class_entry * lexical_scope = ce -> lexical_scope ;
1137
+
1138
+ zend_class_entry * l = zend_shared_alloc_get_xlat_entry (lexical_scope );
1139
+ if (l ) {
1140
+ ce -> lexical_scope = l ;
1141
+ }
1142
+ }
1143
+ }
1144
+
1124
1145
void zend_update_parent_ce (zend_class_entry * ce )
1125
1146
{
1126
1147
if (ce -> ce_flags & ZEND_ACC_LINKED ) {
@@ -1294,6 +1315,7 @@ static void zend_accel_persist_class_table(HashTable *class_table)
1294
1315
if (EXPECTED (Z_TYPE (p -> val ) != IS_ALIAS_PTR )) {
1295
1316
ce = Z_PTR (p -> val );
1296
1317
zend_update_parent_ce (ce );
1318
+ zend_update_ce_scopes (ce );
1297
1319
}
1298
1320
} ZEND_HASH_FOREACH_END ();
1299
1321
#ifdef HAVE_JIT
Original file line number Diff line number Diff line change @@ -432,7 +432,7 @@ public function getNamespaceName(): string {}
432
432
public function getShortName (): string {}
433
433
434
434
public function getAttributes (?string $ name = null , int $ flags = 0 ): array {}
435
-
435
+
436
436
public function isInnerClass (): bool {}
437
437
438
438
public function isPrivate (): bool {}
You can’t perform that action at this time.
0 commit comments