@@ -2268,6 +2268,7 @@ static void zend_adjust_for_fetch_type(zend_op *opline, znode *result, uint32_t
22682268
22692269 switch (type ) {
22702270 case BP_VAR_R :
2271+ case BP_VAR_INNER_CLASS :
22712272 opline -> result_type = IS_TMP_VAR ;
22722273 result -> op_type = IS_TMP_VAR ;
22732274 return ;
@@ -3253,6 +3254,8 @@ static zend_op *zend_compile_static_prop(znode *result, zend_ast *ast, uint32_t
32533254
32543255 if (delayed ) {
32553256 opline = zend_delayed_emit_op (result , ZEND_FETCH_STATIC_PROP_R , & prop_node , NULL );
3257+ } else if (ast -> kind == ZEND_AST_INNER_CLASS ) {
3258+ opline = zend_emit_op (result , ZEND_FETCH_INNER_CLASS , & prop_node , NULL );
32563259 } else {
32573260 opline = zend_emit_op (result , ZEND_FETCH_STATIC_PROP_R , & prop_node , NULL );
32583261 }
@@ -11737,6 +11740,9 @@ static void zend_compile_expr_inner(znode *result, zend_ast *ast) /* {{{ */
1173711740 case ZEND_AST_PARENT_PROPERTY_HOOK_CALL :
1173811741 zend_compile_var (result , ast , BP_VAR_R , 0 );
1173911742 return ;
11743+ case ZEND_AST_INNER_CLASS :
11744+ zend_compile_var (result , ast , BP_VAR_INNER_CLASS , 0 );
11745+ return ;
1174011746 case ZEND_AST_ASSIGN :
1174111747 zend_compile_assign (result , ast );
1174211748 return ;
@@ -11883,6 +11889,7 @@ static zend_op *zend_compile_var_inner(znode *result, zend_ast *ast, uint32_t ty
1188311889 case ZEND_AST_NULLSAFE_PROP :
1188411890 return zend_compile_prop (result , ast , type , by_ref );
1188511891 case ZEND_AST_STATIC_PROP :
11892+ case ZEND_AST_INNER_CLASS :
1188611893 return zend_compile_static_prop (result , ast , type , by_ref , 0 );
1188711894 case ZEND_AST_CALL :
1188811895 zend_compile_call (result , ast , type );
0 commit comments