File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -10073,7 +10073,19 @@ void zend_eval_const_expr(zend_ast **ast_ptr) /* {{{ */
10073
10073
return ;
10074
10074
}
10075
10075
10076
- resolved_name = zend_resolve_class_name_ast (class_ast );
10076
+ switch (zend_get_class_fetch_type (zend_ast_get_str (class_ast ))) {
10077
+ case ZEND_FETCH_CLASS_SELF :
10078
+ if (!zend_is_scope_known ()) {
10079
+ return ;
10080
+ }
10081
+ resolved_name = zend_string_copy (CG (active_class_entry )-> name );
10082
+ break ;
10083
+ case ZEND_FETCH_CLASS_DEFAULT :
10084
+ resolved_name = zend_resolve_class_name_ast (class_ast );
10085
+ break ;
10086
+ default :
10087
+ return ;
10088
+ }
10077
10089
10078
10090
if (!zend_try_ct_eval_class_const (& result , resolved_name , zend_ast_get_str (name_ast ))) {
10079
10091
zend_string_release_ex (resolved_name , 0 );
You can’t perform that action at this time.
0 commit comments