File tree Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Expand file tree Collapse file tree 1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -2903,6 +2903,10 @@ ZEND_API void zend_type_free_interned_trees(void) {
29032903 ZEND_HASH_FOREACH_PTR (CG (type_trees ), tree ) {
29042904 if (tree -> kind != ZEND_TYPE_SIMPLE ) {
29052905 pefree (tree -> compound .types , 1 );
2906+ } else {
2907+ if (ZEND_TYPE_HAS_NAME (tree -> simple_type )) {
2908+ zend_string_release_ex (ZEND_TYPE_NAME (tree -> simple_type ), 1 );
2909+ }
29062910 }
29072911 pefree (tree , 1 );
29082912 } ZEND_HASH_FOREACH_END ();
@@ -3077,7 +3081,13 @@ ZEND_API zend_type_node *zend_type_to_interned_tree(const zend_type type) {
30773081 if (!ZEND_TYPE_HAS_LIST (type )) {
30783082 zend_type_node * node = pemalloc (sizeof (zend_type_node ), 1 );
30793083 node -> kind = ZEND_TYPE_SIMPLE ;
3080- node -> simple_type = type ;
3084+ zend_type new_type = type ;
3085+ if (ZEND_TYPE_HAS_NAME (type )) {
3086+ const zend_string * name = ZEND_TYPE_NAME (type );
3087+ zend_string * new_name = zend_string_init_interned (ZSTR_VAL (name ), ZSTR_LEN (name ), 1 );
3088+ ZEND_TYPE_SET_PTR (new_type , new_name );
3089+ }
3090+ node -> simple_type = new_type ;
30813091 return intern_type_node (node );
30823092 }
30833093
You can’t perform that action at this time.
0 commit comments