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;