Changeset 89 for trunk/processor/processor.m4
- Timestamp:
- 2006-07-16T08:00:42+02:00 (7 years ago)
- File:
-
- 1 edited
-
trunk/processor/processor.m4 (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/processor/processor.m4
r78 r89 363 363 COPY(handle_property_set) 364 364 #endif 365 dnl must after SETNULL(constructor)365 dnl must do after SETNULL(constructor) and dst->parent 366 366 STRUCT(HashTable, function_table, HashTable_zend_function) 367 367 IFRESTORE(`dst->function_table.pDestructor = (dtor_func_t) destroy_zend_function;') 368 IFCOPY(` 369 processor->active_class_entry_src = NULL; 370 processor->active_class_entry_dst = NULL; 371 ') 368 372 ') 369 373 dnl }}} … … 489 493 ') 490 494 DISPATCH(zend_uint, fn_flags) 491 /* useless */ 492 COPY(prototype) 495 dnl mark it as -1 on store, and lookup parent on restore 496 IFSTORE(`dst->prototype = (processor->active_class_entry_src && src->prototype) ? (zend_function *) -1 : NULL; DONE(prototype)', ` 497 IFRESTORE(`do { 498 zend_function *parent; 499 if (src->prototype != NULL 500 && zend_u_hash_find(&(processor->active_class_entry_dst->parent->function_table), 501 UG(unicode) ? IS_UNICODE : IS_STRING, 502 src->function_name, strlen(src->function_name) + 1, 503 (void **) &parent) == SUCCESS) { 504 /* see do_inherit_method_check() */ 505 if ((parent->common.fn_flags & ZEND_ACC_ABSTRACT)) { 506 dst->prototype = parent; 507 } 508 else { 509 dst->prototype = parent->common.prototype; 510 } 511 } 512 else { 513 dst->prototype = NULL; 514 } 515 DONE(prototype) 516 } while (0); 517 ', ` 518 COPYNULL(prototype) 519 ') 520 ') 493 521 STRUCT_ARRAY_I(num_args, zend_arg_info, arg_info) 494 522 DISPATCH(zend_uint, num_args)
Note: See TracChangeset
for help on using the changeset viewer.

