]> granicus.if.org Git - php/commitdiff
Bug 64744
authorBoro Sitnikovski <bsitnikovski@sugarcrm.com>
Fri, 20 Sep 2013 00:58:11 +0000 (02:58 +0200)
committerStanislav Malyshev <stas@php.net>
Mon, 9 Jun 2014 02:14:58 +0000 (19:14 -0700)
Show the type of the non-object for more descriptive errors

Zend/tests/dereference_002.phpt
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/mysqli/tests/bug33491.phpt
ext/pdo_mysql/tests/pdo_mysql_prepare_native_clear_error.phpt
ext/pdo_mysql/tests/pdo_mysql_prepare_native_mixed_style.phpt
ext/pdo_mysql/tests/pdo_mysql_stmt_errorcode.phpt
ext/pdo_mysql/tests/pdo_mysql_stmt_multiquery.phpt

index 022ff370d2272f86281e221ad93961fe6a0c3172..da13decc396be6b7de19d31e698281d8f5e21ebd 100644 (file)
@@ -76,4 +76,4 @@ NULL
 
 Notice: Undefined offset: 3 in %s on line %d
 
-Fatal error: Call to a member function bar() on a non-object in %s on line %d
+Fatal error: Call to a member function bar() on null in %s on line %d
index ba3ed8793e369cb128eac4716e15e81721f5d485..cd7dbf498dab281d9f229ff513b3e3749f86af1c 100644 (file)
@@ -2463,7 +2463,7 @@ ZEND_VM_HANDLER(112, ZEND_INIT_METHOD_CALL, TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV)
                        FREE_OP2();
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
index e275a3c42ca7d87feb64cbe9bd46b3d1738bc4ea..29a8c0c80f7c7e6de7a4eb782a9061f1883a96c8 100644 (file)
@@ -9313,7 +9313,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_CONST_HANDLER(ZEND_OPCO
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -10178,7 +10178,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE
                        zval_dtor(free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -11044,7 +11044,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE
                        zval_ptr_dtor_nogc(&free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -12490,7 +12490,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -15728,7 +15728,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZEND_OPCO
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -18074,7 +18074,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE
                        zval_dtor(free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -20381,7 +20381,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE
                        zval_ptr_dtor_nogc(&free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -23838,7 +23838,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -25480,7 +25480,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(ZEND_O
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -26888,7 +26888,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMP_HANDLER(ZEND_OPC
                        zval_dtor(free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -28202,7 +28202,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPC
                        zval_ptr_dtor_nogc(&free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -29944,7 +29944,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV_HANDLER(ZEND_OPCO
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -33183,7 +33183,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER(ZEND_OPCOD
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -35295,7 +35295,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_
                        zval_dtor(free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -37462,7 +37462,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_
                        zval_ptr_dtor_nogc(&free_op2.var);
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
@@ -40630,7 +40630,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HANDLER(ZEND_OPCODE_H
 
                        HANDLE_EXCEPTION();
                }
-               zend_error_noreturn(E_ERROR, "Call to a member function %s() on a non-object", function_name_strval);
+               zend_error_noreturn(E_ERROR, "Call to a member function %s() on %s", function_name_strval, zend_get_type_by_const(Z_TYPE_P(call->object)));
        }
 
        if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
index 168ecb038100454246093fea70926b39b7428a14..7e994bc4d0bb43993af85b830ad87718f3ad2ce8 100644 (file)
@@ -26,4 +26,4 @@ $DB->query_single('SELECT DATE()');
 
 ?>
 --EXPECTF--
-Fatal error: Call to a member function fetch_row() on a non-object in %sbug33491.php on line %d
+Fatal error: Call to a member function fetch_row() on boolean in %sbug33491.php on line %d
index 42c3d074ad3db63f5dfbec44c29e029de0c47441..224684b8782d9edfc36440feec78360716ed258c 100644 (file)
@@ -93,4 +93,4 @@ array(1) {
 
 Warning: PDO::prepare(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'unknown_column' in 'field list' in %s on line %d
 
-Fatal error: Call to a member function execute() on a non-object in %s on line %d
\ No newline at end of file
+Fatal error: Call to a member function execute() on boolean in %s on line %d
index 90cedef56170cc8620dcce77e6e773cc2053591b..b7b0ab6294cc1451825e5c9f6795913ab75e0ca6 100644 (file)
@@ -36,4 +36,4 @@ Warning: PDO::prepare(): SQLSTATE[HY093]: Invalid parameter number: mixed named
 
 Warning: PDO::prepare(): SQLSTATE[HY093]: Invalid parameter number in %s on line %d
 
-Fatal error: Call to a member function execute() on a non-object in %s on line %d
\ No newline at end of file
+Fatal error: Call to a member function execute() on boolean in %s on line %d
index 4d59e8c3b10e33a3dda5a5945e35dac16a570cdc..c16ce5dd1cbdcb3ab98aab96334783955c0a0fa4 100644 (file)
@@ -56,4 +56,4 @@ Testing native PS...
 
 Warning: PDO::prepare(): SQLSTATE[42S02]: Base table or view not found: 1146 Table '%s.ihopeitdoesnotexist' doesn't exist in %s on line %d
 
-Fatal error: Call to a member function execute() on a non-object in %s on line %d
\ No newline at end of file
+Fatal error: Call to a member function execute() on boolean in %s on line %d
index 91b5237ea8df514382c1ef01b47fdcc394e6aeb2..56c37c5f1a94016cd3eb119329783c0bc1478d16 100644 (file)
@@ -99,4 +99,4 @@ Native Prepared Statements...
 
 Warning: PDO::query(): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%SSELECT label FROM test ORDER BY id ASC LIMIT 1' at line %d in %s on line %d
 
-Fatal error: Call to a member function errorInfo() on a non-object in %s on line %d
+Fatal error: Call to a member function errorInfo() on boolean in %s on line %d