| 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 | ') |