From 77bc863e503e331d2c5ce0d0cc98779ec469eea4 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Thu, 1 Feb 2024 15:55:32 +0100 Subject: [PATCH] Improve ZEND_FETCH_CLASS_STATIC static inference for final classes Same as 95f7335. --- Zend/Optimizer/zend_inference.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Zend/Optimizer/zend_inference.c b/Zend/Optimizer/zend_inference.c index e3a98a184d3..3c832aab0a9 100644 --- a/Zend/Optimizer/zend_inference.c +++ b/Zend/Optimizer/zend_inference.c @@ -3360,6 +3360,12 @@ static zend_always_inline zend_result _zend_update_type_info( } break; case ZEND_FETCH_CLASS_STATIC: + if (op_array->scope && (op_array->scope->ce_flags & ZEND_ACC_FINAL)) { + UPDATE_SSA_OBJ_TYPE(op_array->scope, 0, ssa_op->result_def); + } else { + UPDATE_SSA_OBJ_TYPE(NULL, 0, ssa_op->result_def); + } + break; default: UPDATE_SSA_OBJ_TYPE(NULL, 0, ssa_op->result_def); break;