File tree 1 file changed +9
-4
lines changed
1 file changed +9
-4
lines changed Original file line number Diff line number Diff line change @@ -2003,10 +2003,15 @@ static uint32_t get_ssa_alias_types(zend_ssa_alias_kind alias) {
2003
2003
#define UPDATE_SSA_OBJ_TYPE (_ce , _is_instanceof , var ) \
2004
2004
do { \
2005
2005
if (var >= 0) { \
2006
- if (ssa_var_info[var].ce != (_ce) || \
2007
- ssa_var_info[var].is_instanceof != (_is_instanceof)) { \
2008
- ssa_var_info[var].ce = (_ce); \
2009
- ssa_var_info[var].is_instanceof = (_is_instanceof); \
2006
+ zend_class_entry *__ce = (_ce); \
2007
+ bool __is_instanceof = (_is_instanceof); \
2008
+ if (__ce && (__ce->ce_flags & ZEND_ACC_FINAL)) { \
2009
+ __is_instanceof = false; \
2010
+ } \
2011
+ if (ssa_var_info[var].ce != __ce || \
2012
+ ssa_var_info[var].is_instanceof != __is_instanceof) { \
2013
+ ssa_var_info[var].ce = __ce; \
2014
+ ssa_var_info[var].is_instanceof = __is_instanceof; \
2010
2015
if (update_worklist) { \
2011
2016
add_usages(op_array, ssa, worklist, var); \
2012
2017
} \
You can’t perform that action at this time.
0 commit comments