@@ -2008,10 +2008,8 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent
2008
2008
zend_property_info * coliding_prop ;
2009
2009
zend_property_info * new_prop ;
2010
2010
zend_string * prop_name ;
2011
- const char * class_name_unused ;
2012
2011
bool not_compatible ;
2013
2012
zval * prop_value ;
2014
- uint32_t flags ;
2015
2013
zend_string * doc_comment ;
2016
2014
2017
2015
/* In the following steps the properties are inserted into the property table
@@ -2023,22 +2021,8 @@ static void zend_do_traits_property_binding(zend_class_entry *ce, zend_class_ent
2023
2021
if (!traits [i ]) {
2024
2022
continue ;
2025
2023
}
2026
- ZEND_HASH_FOREACH_PTR (& traits [i ]-> properties_info , property_info ) {
2027
- /* first get the unmangeld name if necessary,
2028
- * then check whether the property is already there
2029
- */
2030
- flags = property_info -> flags ;
2031
- if (flags & ZEND_ACC_PUBLIC ) {
2032
- prop_name = zend_string_copy (property_info -> name );
2033
- } else {
2034
- const char * pname ;
2035
- size_t pname_len ;
2036
-
2037
- /* for private and protected we need to unmangle the names */
2038
- zend_unmangle_property_name_ex (property_info -> name ,
2039
- & class_name_unused , & pname , & pname_len );
2040
- prop_name = zend_string_init (pname , pname_len , 0 );
2041
- }
2024
+ ZEND_HASH_FOREACH_STR_KEY_PTR (& traits [i ]-> properties_info , prop_name , property_info ) {
2025
+ uint32_t flags = property_info -> flags ;
2042
2026
2043
2027
/* next: check for conflicts with current class */
2044
2028
if ((coliding_prop = zend_hash_find_ptr (& ce -> properties_info , prop_name )) != NULL ) {
0 commit comments