Skip to content

Commit 020737f

Browse files
committed
Remove some (now) unnecessary changes
Reverting the rename cnt -> afn_cnt as this is no longer necessary.
1 parent 890668d commit 020737f

File tree

1 file changed

+25
-34
lines changed

1 file changed

+25
-34
lines changed

Zend/zend_execute_API.c

Lines changed: 25 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1611,22 +1611,32 @@ zend_class_entry *zend_fetch_class_by_name(const char *class_name, uint class_na
16111611
ai.afn[idx] ? ZEND_FN_SCOPE_NAME(ai.afn[idx]) : "", \
16121612
ai.afn[idx] ? "::" : "", \
16131613
ai.afn[idx] ? ai.afn[idx]->common.function_name : "", \
1614-
ai.afn[idx] && ai.afn[idx + 1] ? ", " : (ai.afn[idx] && ai.afn_cnt > MAX_ABSTRACT_INFO_CNT ? ", ..." : "")
1614+
ai.afn[idx] && ai.afn[idx + 1] ? ", " : (ai.afn[idx] && ai.cnt > MAX_ABSTRACT_INFO_CNT ? ", ..." : "")
16151615

16161616
typedef struct _zend_abstract_info {
16171617
zend_function *afn[MAX_ABSTRACT_INFO_CNT + 1];
1618-
int afn_cnt;
1618+
int cnt;
16191619
int ctor;
16201620
} zend_abstract_info;
16211621

1622-
static void zend_verify_abstract_class_accessor(zend_function *fn, zend_abstract_info *ai) /* {{{ */
1622+
static int zend_verify_abstract_class_function(zend_function *fn, zend_abstract_info *ai TSRMLS_DC) /* {{{ */
16231623
{
1624-
if (fn && (fn->common.fn_flags & ZEND_ACC_ABSTRACT)) {
1625-
if (ai->afn_cnt < MAX_ABSTRACT_INFO_CNT) {
1626-
ai->afn[ai->afn_cnt] = fn;
1624+
if (fn->common.fn_flags & ZEND_ACC_ABSTRACT) {
1625+
if (ai->cnt < MAX_ABSTRACT_INFO_CNT) {
1626+
ai->afn[ai->cnt] = fn;
1627+
}
1628+
if (fn->common.fn_flags & ZEND_ACC_CTOR) {
1629+
if (!ai->ctor) {
1630+
ai->cnt++;
1631+
ai->ctor = 1;
1632+
} else {
1633+
ai->afn[ai->cnt] = NULL;
1634+
}
1635+
} else {
1636+
ai->cnt++;
16271637
}
1628-
ai->afn_cnt++;
16291638
}
1639+
return 0;
16301640
}
16311641
/* }}} */
16321642

@@ -1635,28 +1645,9 @@ static int zend_verify_abstract_class_property(zend_property_info *prop, zend_ab
16351645
if (prop->ai) {
16361646
int i;
16371647
for (i = 0; i < ZEND_ACCESSOR_COUNT; ++i) {
1638-
zend_verify_abstract_class_accessor(prop->ai->fn[i], ai);
1639-
}
1640-
}
1641-
return 0;
1642-
}
1643-
/* }}} */
1644-
1645-
static int zend_verify_abstract_class_function(zend_function *fn, zend_abstract_info *ai TSRMLS_DC) /* {{{ */
1646-
{
1647-
if (fn->common.fn_flags & ZEND_ACC_ABSTRACT) {
1648-
if (ai->afn_cnt < MAX_ABSTRACT_INFO_CNT) {
1649-
ai->afn[ai->afn_cnt] = fn;
1650-
}
1651-
if (fn->common.fn_flags & ZEND_ACC_CTOR) {
1652-
if (!ai->ctor) {
1653-
ai->afn_cnt++;
1654-
ai->ctor = 1;
1655-
} else {
1656-
ai->afn[ai->afn_cnt] = NULL;
1648+
if (prop->ai->fn[i]) {
1649+
zend_verify_abstract_class_function(prop->ai->fn[i], ai TSRMLS_CC);
16571650
}
1658-
} else {
1659-
ai->afn_cnt++;
16601651
}
16611652
}
16621653
return 0;
@@ -1671,10 +1662,10 @@ void zend_verify_abstract_class(zend_class_entry *ce TSRMLS_DC) /* {{{ */
16711662
memset(&ai, 0, sizeof(ai));
16721663
zend_hash_apply_with_argument(&ce->function_table, (apply_func_arg_t) zend_verify_abstract_class_function, &ai TSRMLS_CC);
16731664

1674-
if (ai.afn_cnt) {
1665+
if (ai.cnt) {
16751666
zend_error(E_ERROR, "Class %s contains %d abstract method%s and must therefore be declared abstract or implement the remaining methods (" MAX_ABSTRACT_INFO_FMT MAX_ABSTRACT_INFO_FMT MAX_ABSTRACT_INFO_FMT ")",
1676-
ce->name, ai.afn_cnt,
1677-
ai.afn_cnt > 1 ? "s" : "",
1667+
ce->name, ai.cnt,
1668+
ai.cnt > 1 ? "s" : "",
16781669
DISPLAY_ABSTRACT_FN(0),
16791670
DISPLAY_ABSTRACT_FN(1),
16801671
DISPLAY_ABSTRACT_FN(2)
@@ -1684,10 +1675,10 @@ void zend_verify_abstract_class(zend_class_entry *ce TSRMLS_DC) /* {{{ */
16841675
memset(&ai, 0, sizeof(ai));
16851676
zend_hash_apply_with_argument(&ce->properties_info, (apply_func_arg_t) zend_verify_abstract_class_property, &ai TSRMLS_CC);
16861677

1687-
if (ai.afn_cnt) {
1678+
if (ai.cnt) {
16881679
zend_error(E_ERROR, "Class %s contains %d abstract accessor%s and must be declared abstract or implement the remaining accessors (" MAX_ABSTRACT_INFO_FMT MAX_ABSTRACT_INFO_FMT MAX_ABSTRACT_INFO_FMT ")",
1689-
ce->name, ai.afn_cnt,
1690-
ai.afn_cnt > 1 ? "s" : "",
1680+
ce->name, ai.cnt,
1681+
ai.cnt > 1 ? "s" : "",
16911682
DISPLAY_ABSTRACT_FN(0),
16921683
DISPLAY_ABSTRACT_FN(1),
16931684
DISPLAY_ABSTRACT_FN(2)

0 commit comments

Comments
 (0)