Skip to content

Coercion code paths #3

@iluuu1994

Description

@iluuu1994

All these functions use the coercion of zvals to string. We need to figure out where the deprecation is relevant (where it can occur) and where it is intended.

  • zval_get_string_func
    • php_implode
      • implode (implode(['foo', true, false]))
    • zend_get_callable_name_ex
    • zend_try_compile_cv ($foo->{true} = 'bar')
    • zend_ini_add_string Only used in the INI file parser
    • concat_function
      • ZEND_CONCAT
      • zend_compile_encaps_list
      • zend_binary_op
      • zend_binary_assign_op_typed_ref
      • zend_binary_assign_op_typed_prop
      • get_binary_op
    • zval_get_string
      • zend_is_assign_to_self
      • zend_compile_func_defined
      • zend_handle_encoding_declaration
      • Exception::getFile
      • Exception::getMessage
      • Exception::__toString
      • zend_exception_error
      • zend_exception_uncaught_error
      • _zval_get_string
      • ZEND_CAST
      • zend_optimizer_eval_cast
    • zval_get_tmp_string
      • zend_throw_non_object_error
      • zend_wrong_property_read
      • zend_fetch_property_address
      • zend_fetch_static_property_address_ex
      • zend_get_function_declaration
      • zend_ini_add_string
      • string_compare_function_ex
      • string_compare_function
      • string_case_compare_function
      • string_locale_compare_function
      • ZEND_ISSET_ISEMPTY_VAR
      • zend_print_zval
      • php_formatted_print
    • _zval_get_string_func
    • zend_make_printable_zval
    • zend_print_flat_zval_r_to_buf
      • print_flat_hash
      • zend_print_flat_zval_r
    • zend_print_zval_r_to_buf
      • print_hash
      • zend_print_zval_r_to_str
    • ZEND_ECHO
    • ZEND_FAST_CONCAT
    • ZEND_ROPE_INIT
    • ZEND_ROPE_ADD
    • ZEND_ROPE_END
  • zval_try_get_string_func
    • zend_assign_to_string_offset
      • ZEND_ASSIGN_DIM
    • _try_convert_to_string
      • try_convert_to_string
    • zval_try_get_string
    • zval_try_get_tmp_string
  • convert_to_string
    • file_put_contents
    • settype
    • php_unserialize_with_options
    • zend_parse_arg_str_weak
    • zend_compile_simple_var_no_cv
    • zend_delayed_compile_dim
    • zend_delayed_compile_prop
    • zend_compile_static_prop
    • zend_compile_global_var
    • zend_compile_unset
    • zend_compile_binary_op
    • zend_compile_isset_or_empty
    • zend_compile_encaps_list
    • zend_optimize_block (ZEND_ECHO, ZEND_FAST_CONCAT)
    • zend_optimizer_pass1 (ZEND_FAST_CONCAT, ZEND_ASSIGN_OP)
    • TO_STRING_NOWARN

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions