]> granicus.if.org Git - php/commitdiff
Bug 64744
authorBoro Sitnikovski <bsitnikovski@sugarcrm.com>
Fri, 20 Sep 2013 00:58:11 +0000 (02:58 +0200)
committerBoro Sitnikovski <bsitnikovski@sugarcrm.com>
Fri, 20 Sep 2013 11:34:12 +0000 (13:34 +0200)
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 4621b47e0e69eb47dc47053f57030f020aa14547..fb4639a4f0d4be58edcae1f496a8cb97882501eb 100644 (file)
@@ -2476,7 +2476,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 677cabe2a947fd695bb95465d223fe796f7e601f..ded6a987f8abf65931f76380ddde7072441dd48e 100644 (file)
@@ -9010,7 +9010,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) {
@@ -9863,7 +9863,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) {
@@ -10717,7 +10717,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE
                        zval_ptr_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) {
@@ -12147,7 +12147,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) {
@@ -15377,7 +15377,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) {
@@ -17717,7 +17717,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) {
@@ -20016,7 +20016,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE
                        zval_ptr_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) {
@@ -23457,7 +23457,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) {
@@ -25083,7 +25083,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) {
@@ -26494,7 +26494,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) {
@@ -27809,7 +27809,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPC
                        zval_ptr_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) {
@@ -29547,7 +29547,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) {
@@ -32791,7 +32791,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) {
@@ -34897,7 +34897,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) {
@@ -37058,7 +37058,7 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_
                        zval_ptr_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) {
@@ -40214,7 +40214,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