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) {
2903
2903
ZEND_HASH_FOREACH_PTR (CG (type_trees ), tree ) {
2904
2904
if (tree -> kind != ZEND_TYPE_SIMPLE ) {
2905
2905
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
+ }
2906
2910
}
2907
2911
pefree (tree , 1 );
2908
2912
} ZEND_HASH_FOREACH_END ();
@@ -3077,7 +3081,13 @@ ZEND_API zend_type_node *zend_type_to_interned_tree(const zend_type type) {
3077
3081
if (!ZEND_TYPE_HAS_LIST (type )) {
3078
3082
zend_type_node * node = pemalloc (sizeof (zend_type_node ), 1 );
3079
3083
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 ;
3081
3091
return intern_type_node (node );
3082
3092
}
3083
3093
You can’t perform that action at this time.
0 commit comments