Skip to content

Commit 77bc863

Browse files
committed
Improve ZEND_FETCH_CLASS_STATIC static inference for final classes
Same as 95f7335.
1 parent 649fafb commit 77bc863

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Zend/Optimizer/zend_inference.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3360,6 +3360,12 @@ static zend_always_inline zend_result _zend_update_type_info(
33603360
}
33613361
break;
33623362
case ZEND_FETCH_CLASS_STATIC:
3363+
if (op_array->scope && (op_array->scope->ce_flags & ZEND_ACC_FINAL)) {
3364+
UPDATE_SSA_OBJ_TYPE(op_array->scope, 0, ssa_op->result_def);
3365+
} else {
3366+
UPDATE_SSA_OBJ_TYPE(NULL, 0, ssa_op->result_def);
3367+
}
3368+
break;
33633369
default:
33643370
UPDATE_SSA_OBJ_TYPE(NULL, 0, ssa_op->result_def);
33653371
break;

0 commit comments

Comments
 (0)