]> granicus.if.org Git - php/commitdiff
Remove do_bind_inherited_class; use do_bind_class
authorLevi Morrison <levim@php.net>
Wed, 7 Nov 2018 01:39:22 +0000 (18:39 -0700)
committerNikita Popov <nikita.ppv@gmail.com>
Wed, 7 Nov 2018 17:54:00 +0000 (18:54 +0100)
Pass NULL as the second parameter. I don't know if in the past these
differed more, but there isn't any point to having both of them
anymore.

Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 5055dcb0d973b0dad93ba3df464c40385183f979..fb5869712cb96fb1c9818bd79e35e1be236a82ec 100644 (file)
@@ -1073,31 +1073,7 @@ ZEND_API int do_bind_function(zval *lcname) /* {{{ */
 }
 /* }}} */
 
-ZEND_API int do_bind_class(zval *lcname) /* {{{ */
-{
-       zend_class_entry *ce;
-       zval *rtd_key, *zv;
-
-       rtd_key = lcname + 1;
-       zv = zend_hash_find_ex(EG(class_table), Z_STR_P(rtd_key), 1);
-       if (UNEXPECTED(!zv)) {
-               zend_error_noreturn(E_COMPILE_ERROR, "Cannot declare  %s, because the name is already in use", Z_STRVAL_P(lcname));
-               return FAILURE;
-       }
-
-       ce = (zend_class_entry*)Z_PTR_P(zv);
-       zv = zend_hash_set_bucket_key(EG(class_table), (Bucket*)zv, Z_STR_P(lcname));
-       if (UNEXPECTED(!zv)) {
-               zend_error_noreturn(E_COMPILE_ERROR, "Cannot declare %s %s, because the name is already in use", zend_get_object_type(ce), ZSTR_VAL(ce->name));
-               return FAILURE;
-       }
-
-       zend_do_link_class(ce, NULL);
-       return SUCCESS;
-}
-/* }}} */
-
-ZEND_API int do_bind_inherited_class(zval *lcname, zend_class_entry *parent_ce) /* {{{ */
+ZEND_API int do_bind_class(zval *lcname, zend_class_entry *parent_ce) /* {{{ */
 {
        zend_class_entry *ce;
        zval *rtd_key, *zv;
@@ -1192,7 +1168,7 @@ ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array, uint3
                        const zend_op *opline = &op_array->opcodes[opline_num];
                        zval *parent_name = RT_CONSTANT(opline, opline->op2);
                        if ((ce = zend_lookup_class_ex(Z_STR_P(parent_name), Z_STR_P(parent_name + 1), 0)) != NULL) {
-                               do_bind_inherited_class(RT_CONSTANT(&op_array->opcodes[opline_num], op_array->opcodes[opline_num].op1), ce);
+                               do_bind_class(RT_CONSTANT(&op_array->opcodes[opline_num], op_array->opcodes[opline_num].op1), ce);
                        }
                        opline_num = op_array->opcodes[opline_num].result.opline_num;
                }
index 8b39a7a77f9736c740acdf70b759a4a2f3b61602..2912316ccc4e53006be72f9542bb94deea81110b 100644 (file)
@@ -750,8 +750,7 @@ zend_bool zend_handle_encoding_declaration(zend_ast *ast);
 void zend_do_free(znode *op1);
 
 ZEND_API int do_bind_function(zval *lcname);
-ZEND_API int do_bind_class(zval *lcname);
-ZEND_API int do_bind_inherited_class(zval *lcname, zend_class_entry *parent_ce);
+ZEND_API int do_bind_class(zval *lcname, zend_class_entry *parent_ce);
 ZEND_API uint32_t zend_build_delayed_early_binding_list(const zend_op_array *op_array);
 ZEND_API void zend_do_delayed_early_binding(const zend_op_array *op_array, uint32_t first_early_binding_opline);
 
index 0025b9b3f10fca18fe35a99ed3a96276c5441a48..7ea672caac9ae7cae2d4698a86d3efc34c3b0a0e 100644 (file)
@@ -6613,7 +6613,7 @@ ZEND_VM_HANDLER(139, ZEND_DECLARE_CLASS, CONST, ANY)
        USE_OPLINE
 
        SAVE_OPLINE();
-       do_bind_class(RT_CONSTANT(opline, opline->op1));
+       do_bind_class(RT_CONSTANT(opline, opline->op1), NULL);
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -6630,7 +6630,7 @@ ZEND_VM_HANDLER(140, ZEND_DECLARE_INHERITED_CLASS, CONST, CONST)
                ZEND_ASSERT(EG(exception));
                HANDLE_EXCEPTION();
        }
-       do_bind_inherited_class(RT_CONSTANT(opline, opline->op1), parent);
+       do_bind_class(RT_CONSTANT(opline, opline->op1), parent);
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -6651,7 +6651,7 @@ ZEND_VM_HANDLER(145, ZEND_DECLARE_INHERITED_CLASS_DELAYED, CONST, CONST)
                        ZEND_ASSERT(EG(exception));
                        HANDLE_EXCEPTION();
                }
-               do_bind_inherited_class(RT_CONSTANT(opline, opline->op1), parent);
+               do_bind_class(RT_CONSTANT(opline, opline->op1), parent);
        }
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
index d9bf97bb749788a9bdf1dc54d73e4a245532dc18..3d42b954f908c43ffd6b6ad83ef8172fee9b9d4c 100644 (file)
@@ -3544,7 +3544,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_CLASS_SPEC_CONST_HANDL
        USE_OPLINE
 
        SAVE_OPLINE();
-       do_bind_class(RT_CONSTANT(opline, opline->op1));
+       do_bind_class(RT_CONSTANT(opline, opline->op1), NULL);
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -5754,7 +5754,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_INHERITED_CLASS_SPEC_C
                ZEND_ASSERT(EG(exception));
                HANDLE_EXCEPTION();
        }
-       do_bind_inherited_class(RT_CONSTANT(opline, opline->op1), parent);
+       do_bind_class(RT_CONSTANT(opline, opline->op1), parent);
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
@@ -5775,7 +5775,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_INHERITED_CLASS_DELAYE
                        ZEND_ASSERT(EG(exception));
                        HANDLE_EXCEPTION();
                }
-               do_bind_inherited_class(RT_CONSTANT(opline, opline->op1), parent);
+               do_bind_class(RT_CONSTANT(opline, opline->op1), parent);
        }
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }