static void zend_dump_ssa_var_info(const zend_ssa *ssa, int ssa_var_num) { zend_dump_type_info( ssa->var_info[ssa_var_num].type, ssa->var_info[ssa_var_num].ce, ssa->var_info[ssa_var_num].ce ? ssa->var_info[ssa_var_num].is_instanceof : 0); }
static void zend_dump_ssa_var_info(const zend_ssa *ssa, int ssa_var_num, uint32_t dump_flags) { zend_dump_type_info( ssa->var_info[ssa_var_num].type, ssa->var_info[ssa_var_num].ce, ssa->var_info[ssa_var_num].ce ? ssa->var_info[ssa_var_num].is_instanceof : 0, dump_flags); }
static void zend_dump_pi_constraint(const zend_op_array *op_array, const zend_ssa *ssa, const zend_ssa_pi_constraint *r, uint32_t dump_flags) { if (r->type_mask != (uint32_t) -1) { fprintf(stderr, " TYPE"); zend_dump_type_info(r->type_mask, NULL, 0, dump_flags); return; } if (r->range.underflow && r->range.overflow) { return; } fprintf(stderr, " RANGE"); if (r->negative) { fprintf(stderr, "~"); } fprintf(stderr, "["); if (r->range.underflow) { fprintf(stderr, "-- .. "); } else { if (r->min_ssa_var >= 0) { zend_dump_ssa_var(op_array, ssa, r->min_ssa_var, (r->min_var < op_array->last_var ? IS_CV : 0), r->min_var, dump_flags); if (r->range.min > 0) { fprintf(stderr, " + " ZEND_LONG_FMT, r->range.min); } else if (r->range.min < 0) { fprintf(stderr, " - " ZEND_LONG_FMT, -r->range.min); } fprintf(stderr, " .. "); } else { fprintf(stderr, ZEND_LONG_FMT " .. ", r->range.min); } } if (r->range.overflow) { fprintf(stderr, "++]"); } else { if (r->max_ssa_var >= 0) { zend_dump_ssa_var(op_array, ssa, r->max_ssa_var, (r->max_var < op_array->last_var ? IS_CV : 0), r->max_var, dump_flags); if (r->range.max > 0) { fprintf(stderr, " + " ZEND_LONG_FMT, r->range.max); } else if (r->range.max < 0) { fprintf(stderr, " - " ZEND_LONG_FMT, -r->range.max); } fprintf(stderr, "]"); } else { fprintf(stderr, ZEND_LONG_FMT "]", r->range.max); } } }
static void zend_dump_type_constraint(const zend_op_array *op_array, const zend_ssa *ssa, const zend_ssa_type_constraint *constraint, uint32_t dump_flags) { fprintf(stderr, " TYPE"); zend_dump_type_info(constraint->type_mask, constraint->ce, 1, dump_flags); }