/** public function pre_inc_prop(var n) { var i; for i in range(1, n) { ++this->b; } } public function pre_dec_prop($n) { var i; for i in range(1, n) { --$this->b; } }*/ PHP_METHOD(Test_Bench_Foo, post_inc_prop) { int _1; zend_bool _0; zval *n, *i = NULL, *_2 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); ZEPHIR_CPY_WRT(_2, n); _1 = 1; _0 = 0; if (ZEPHIR_GE_LONG(_2, _1)) { while (1) { if (_0) { _1++; if (!(ZEPHIR_GE_LONG(_2, _1))) { break; } } else { _0 = 1; } ZEPHIR_INIT_NVAR(i); ZVAL_LONG(i, _1); RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("b") TSRMLS_CC)); } } ZEPHIR_MM_RESTORE(); }
/** * Moves the internal iteration pointer to the next position */ PHP_METHOD(Phalcon_Validation_Message_Group, next) { RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_position") TSRMLS_CC)); }
/** * Moves the internal iteration pointer to the next position */ PHP_METHOD(Phalcon_Annotations_Collection, next) { RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_position") TSRMLS_CC)); }
/** * Moves the internal iteration pointer to the next position */ PHP_METHOD(Phalcon_Forms_Form, next) { RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_position") TSRMLS_CC)); }
/** * Create/Returns a new transaction or an existing one */ PHP_METHOD(Phalcon_Mvc_Model_Transaction_Manager, getOrCreateTransaction) { zephir_nts_static zephir_fcall_cache_entry *_6 = NULL, *_7 = NULL; int ZEPHIR_LAST_CALL_STATUS; HashTable *_2; HashPosition _1; zval *autoBegin_param = NULL, *dependencyInjector = NULL, *transaction = NULL, *transactions, *_0, **_3, *_4 = NULL, *_5; zend_bool autoBegin; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &autoBegin_param); if (!autoBegin_param) { autoBegin = 1; } else { autoBegin = zephir_get_boolval(autoBegin_param); } _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC); ZEPHIR_CPY_WRT(dependencyInjector, _0); if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_transaction_exception_ce, "A dependency injector container is required to obtain the services related to the ORM", "phalcon/mvc/model/transaction/manager.zep", 186); return; } _0 = zephir_fetch_nproperty_this(this_ptr, SL("_number"), PH_NOISY_CC); if (zephir_is_true(_0)) { ZEPHIR_OBS_VAR(transactions); zephir_read_property_this(&transactions, this_ptr, SL("_transactions"), PH_NOISY_CC); if (Z_TYPE_P(transactions) == IS_ARRAY) { zephir_is_iterable(transactions, &_2, &_1, 0, 1, "phalcon/mvc/model/transaction/manager.zep", 198); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_backwards_ex(_2, &_1) ) { ZEPHIR_GET_HVALUE(transaction, _3); if (Z_TYPE_P(transaction) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_4); ZVAL_BOOL(_4, 0); ZEPHIR_CALL_METHOD(NULL, transaction, "setisnewtransaction", NULL, _4); zephir_check_call_status(); RETURN_CCTOR(transaction); } } } } ZEPHIR_INIT_VAR(transaction); object_init_ex(transaction, phalcon_mvc_model_transaction_ce); _5 = zephir_fetch_nproperty_this(this_ptr, SL("_service"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, transaction, "__construct", &_6, dependencyInjector, (autoBegin ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false)), _5); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, transaction, "settransactionmanager", &_7, this_ptr); zephir_check_call_status(); zephir_update_property_array_append(this_ptr, SL("_transactions"), transaction TSRMLS_CC); RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_number") TSRMLS_CC)); RETURN_CCTOR(transaction); }
PHP_METHOD(Test_Assign, testPropertyIncr1) { zval *_0; ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(_0, 1); zephir_update_property_this(this_ptr, SL("testVar"), _0 TSRMLS_CC); RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("testVar") TSRMLS_CC)); RETURN_MEMBER(this_ptr, "testVar"); }
/** * Starts a transaction in the connection * * @param boolean nesting * @return boolean */ PHP_METHOD(Pdm_Db_Adapter_AbstractPdo, begin) { int ZEPHIR_LAST_CALL_STATUS; zval *nesting_param = NULL, *transactionLevel = NULL, *savepointName = NULL, *_0, *_1 = NULL; zend_bool nesting; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &nesting_param); if (!nesting_param) { nesting = 1; } else { nesting = zephir_get_boolval(nesting_param); } RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("transactionLevel") TSRMLS_CC)); _0 = zephir_fetch_nproperty_this(this_ptr, SL("transactionLevel"), PH_NOISY_CC); ZEPHIR_CPY_WRT(transactionLevel, _0); if (ZEPHIR_IS_LONG(transactionLevel, 1)) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("pdo"), PH_NOISY_CC); ZEPHIR_RETURN_CALL_METHOD(_0, "begintransaction", NULL); zephir_check_call_status(); RETURN_MM(); } else { if (zephir_is_true(transactionLevel)) { if (nesting) { ZEPHIR_CALL_METHOD(&_1, this_ptr, "isnestedtransactionswithsavepoints", NULL); zephir_check_call_status(); if (zephir_is_true(_1)) { ZEPHIR_CALL_METHOD(&savepointName, this_ptr, "getnestedtransactionsavepointname", NULL); zephir_check_call_status(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "createsavepoint", NULL, savepointName); zephir_check_call_status(); RETURN_MM(); } } } } RETURN_MM_BOOL(0); }
/** public function pre_inc_prop(var n) { var i; for i in range(1, n) { ++this->b; } } public function pre_dec_prop($n) { var i; for i in range(1, n) { --$this->b; } }*/ PHP_METHOD(Test_Bench_Foo, post_inc_prop) { int _1; zend_bool _0; zval *n, n_sub, i, _2; zval this_zv; zval *this_ptr = getThis(); if (EXPECTED(this_ptr)) { ZVAL_OBJ(&this_zv, Z_OBJ_P(this_ptr)); this_ptr = &this_zv; } else this_ptr = NULL; ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); ZEPHIR_CPY_WRT(&_2, n); _1 = 1; _0 = 0; if (ZEPHIR_GE_LONG(&_2, _1)) { while (1) { if (_0) { _1++; if (!(ZEPHIR_GE_LONG(&_2, _1))) { break; } } else { _0 = 1; } ZEPHIR_INIT_NVAR(&i); ZVAL_LONG(&i, _1); RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("b") TSRMLS_CC)); } } ZEPHIR_MM_RESTORE(); }
/** * Changes internal pointer to a specific position in the resultset * Set new position if required and set this->_row */ PHP_METHOD(Phalcon_Mvc_Model_Resultset, seek) { zend_bool _1, _7$$3; zephir_fcall_cache_entry *_16 = NULL; zval *position_param = NULL, *result = NULL, *row = NULL, *_0, *_2, *_3$$3, *_6$$3, *_8$$3, *_10$$3, *_14$$3, *_17$$3, *_4$$4, *_5$$4, *_9$$6 = NULL, *_11$$7, *_12$$7 = NULL, *_13$$7, *_15$$8 = NULL; int position, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &position_param); position = zephir_get_intval(position_param); _0 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC); _1 = !ZEPHIR_IS_LONG(_0, position); if (!(_1)) { _2 = zephir_fetch_nproperty_this(this_ptr, SL("_row"), PH_NOISY_CC); _1 = Z_TYPE_P(_2) == IS_NULL; } if (_1) { ZEPHIR_OBS_VAR(_3$$3); zephir_read_property_this(&_3$$3, this_ptr, SL("_rows"), PH_NOISY_CC); if (Z_TYPE_P(_3$$3) == IS_ARRAY) { ZEPHIR_OBS_VAR(row); _4$$4 = zephir_fetch_nproperty_this(this_ptr, SL("_rows"), PH_NOISY_CC); if (zephir_array_isset_long_fetch(&row, _4$$4, position, 0 TSRMLS_CC)) { zephir_update_property_this(this_ptr, SL("_row"), row TSRMLS_CC); } ZEPHIR_INIT_ZVAL_NREF(_5$$4); ZVAL_LONG(_5$$4, position); zephir_update_property_this(this_ptr, SL("_pointer"), _5$$4 TSRMLS_CC); zephir_update_property_this(this_ptr, SL("_activeRow"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC); RETURN_MM_NULL(); } ZEPHIR_OBS_VAR(result); zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC); _6$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_row"), PH_NOISY_CC); _7$$3 = Z_TYPE_P(_6$$3) == IS_NULL; if (_7$$3) { _8$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC); _7$$3 = ZEPHIR_IS_LONG_IDENTICAL(_8$$3, 0); } if (_7$$3) { ZEPHIR_CALL_METHOD(&_9$$6, result, "fetch", NULL, 0); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_row"), _9$$6 TSRMLS_CC); } _10$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC); if (ZEPHIR_GT_LONG(_10$$3, position)) { ZEPHIR_INIT_VAR(_11$$7); ZVAL_LONG(_11$$7, position); ZEPHIR_CALL_METHOD(NULL, result, "dataseek", NULL, 0, _11$$7); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_12$$7, result, "fetch", NULL, 0); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_row"), _12$$7 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_13$$7); ZVAL_LONG(_13$$7, position); zephir_update_property_this(this_ptr, SL("_pointer"), _13$$7 TSRMLS_CC); } while (1) { _14$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_pointer"), PH_NOISY_CC); if (!(ZEPHIR_LT_LONG(_14$$3, position))) { break; } ZEPHIR_CALL_METHOD(&_15$$8, result, "fetch", &_16, 0); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_row"), _15$$8 TSRMLS_CC); RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_pointer") TSRMLS_CC)); } ZEPHIR_INIT_ZVAL_NREF(_17$$3); ZVAL_LONG(_17$$3, position); zephir_update_property_this(this_ptr, SL("_pointer"), _17$$3 TSRMLS_CC); zephir_update_property_this(this_ptr, SL("_activeRow"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
/** * Starts a transaction in the connection */ PHP_METHOD(Phalcon_Db_Adapter_Pdo, begin) { int transactionLevel, ZEPHIR_LAST_CALL_STATUS; zval *nesting_param = NULL, *pdo, *eventsManager = NULL, *savepointName = NULL, *_0, *_1, *_2 = NULL, *_5 = NULL; zend_bool nesting, _3, _4; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &nesting_param); if (!nesting_param) { nesting = 1; } else { nesting = zephir_get_boolval(nesting_param); } ZEPHIR_OBS_VAR(pdo); zephir_read_property_this(&pdo, this_ptr, SL("_pdo"), PH_NOISY_CC); if (Z_TYPE_P(pdo) != IS_OBJECT) { RETURN_MM_BOOL(0); } RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_transactionLevel") TSRMLS_CC)); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("_transactionLevel"), PH_NOISY_CC); transactionLevel = zephir_get_intval(_0); if (transactionLevel == 1) { _1 = zephir_fetch_nproperty_this(this_ptr, SL("_eventsManager"), PH_NOISY_CC); ZEPHIR_CPY_WRT(eventsManager, _1); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_VAR(_2); ZVAL_STRING(_2, "db:beginTransaction", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", NULL, 0, _2, this_ptr); zephir_check_temp_parameter(_2); zephir_check_call_status(); } ZEPHIR_RETURN_CALL_METHOD(pdo, "begintransaction", NULL, 0); zephir_check_call_status(); RETURN_MM(); } else { _3 = (transactionLevel) ? 1 : 0; if (_3) { _3 = nesting; } _4 = _3; if (_4) { ZEPHIR_CALL_METHOD(&_5, this_ptr, "isnestedtransactionswithsavepoints", NULL, 0); zephir_check_call_status(); _4 = zephir_is_true(_5); } if (_4) { _1 = zephir_fetch_nproperty_this(this_ptr, SL("_eventsManager"), PH_NOISY_CC); ZEPHIR_CPY_WRT(eventsManager, _1); ZEPHIR_CALL_METHOD(&savepointName, this_ptr, "getnestedtransactionsavepointname", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "db:createSavepoint", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", NULL, 0, _2, this_ptr, savepointName); zephir_check_temp_parameter(_2); zephir_check_call_status(); } ZEPHIR_RETURN_CALL_METHOD(this_ptr, "createsavepoint", NULL, 0, savepointName); zephir_check_call_status(); RETURN_MM(); } } RETURN_MM_BOOL(0); }
/** * Moves cursor to next row in the resultset */ PHP_METHOD(Phalcon_Mvc_Model_Resultset, next) { RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("_pointer") TSRMLS_CC)); }