PHP_METHOD(Test_Concat, testConcatSelf1) { zval _1; zval url, _0, _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(&url); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); ZVAL_STRING(&url, ""); zephir_concat_self_str(&url, SL("test") TSRMLS_CC); ZEPHIR_INIT_VAR(&_0); ZEPHIR_CONCAT_SVS(&_0, "append", &url, "other"); zephir_concat_self(&url, &_0 TSRMLS_CC); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SS(&_1, "append", "other"); zephir_concat_self(&url, &_1 TSRMLS_CC); ZEPHIR_INIT_VAR(&_2); ZEPHIR_CONCAT_SSV(&_2, "append", "other", &url); zephir_concat_self(&url, &_2 TSRMLS_CC); RETURN_CCTOR(url); }
PHP_METHOD(Test_Concat, testConcat2) { zval _1; zval url, _0; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&url); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); ZVAL_STRING(&url, "test"); ZEPHIR_INIT_VAR(&_0); ZEPHIR_CONCAT_SVS(&_0, "append", &url, "other"); ZEPHIR_CPY_WRT(&url, &_0); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SS(&_1, "append", "other"); ZEPHIR_CPY_WRT(&url, &_1); ZEPHIR_INIT_LNVAR(_0); ZEPHIR_CONCAT_SSV(&_0, "append", "other", &url); ZEPHIR_CPY_WRT(&url, &_0); RETURN_CCTOR(url); }
PHP_METHOD(Test_Concat, testConcat2) { zval _1; zval url, _0; 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(&url); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); ZVAL_STRING(&url, "test"); ZEPHIR_INIT_VAR(&_0); ZEPHIR_CONCAT_SVS(&_0, "append", &url, "other"); ZEPHIR_CPY_WRT(&url, &_0); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SS(&_1, "append", "other"); ZEPHIR_CPY_WRT(&url, &_1); ZEPHIR_INIT_LNVAR(_0); ZEPHIR_CONCAT_SSV(&_0, "append", "other", &url); ZEPHIR_CPY_WRT(&url, &_0); RETURN_CCTOR(url); }
PHP_METHOD(Test_Concat, testConcatSelf1) { zval _1; zval url, _0, _2; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&url); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); ZVAL_STRING(&url, ""); zephir_concat_self_str(&url, SL("test") TSRMLS_CC); ZEPHIR_INIT_VAR(&_0); ZEPHIR_CONCAT_SVS(&_0, "append", &url, "other"); zephir_concat_self(&url, &_0 TSRMLS_CC); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SS(&_1, "append", "other"); zephir_concat_self(&url, &_1 TSRMLS_CC); ZEPHIR_INIT_VAR(&_2); ZEPHIR_CONCAT_SSV(&_2, "append", "other", &url); zephir_concat_self(&url, &_2 TSRMLS_CC); RETURN_CCTOR(url); }
PHP_METHOD(Test_Concat, testConcat2) { zval *_1; zval *url = NULL, *_0 = NULL; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(url); ZVAL_STRING(url, "test", 1); ZEPHIR_INIT_VAR(_0); ZEPHIR_CONCAT_SVS(_0, "append", url, "other"); ZEPHIR_CPY_WRT(url, _0); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SS(_1, "append", "other"); ZEPHIR_CPY_WRT(url, _1); ZEPHIR_INIT_LNVAR(_0); ZEPHIR_CONCAT_SSV(_0, "append", "other", url); ZEPHIR_CPY_WRT(url, _0); RETURN_CCTOR(url); }
PHP_METHOD(Test_Concat, testConcatSelf1) { zval *_1; zval *url = NULL, *_0, *_2; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(url); ZVAL_STRING(url, "", 1); zephir_concat_self_str(&url, SL("test") TSRMLS_CC); ZEPHIR_INIT_VAR(_0); ZEPHIR_CONCAT_SVS(_0, "append", url, "other"); zephir_concat_self(&url, _0 TSRMLS_CC); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SS(_1, "append", "other"); zephir_concat_self(&url, _1 TSRMLS_CC); ZEPHIR_INIT_VAR(_2); ZEPHIR_CONCAT_SSV(_2, "append", "other", url); zephir_concat_self(&url, _2 TSRMLS_CC); RETURN_CCTOR(url); }
PHP_METHOD(Xs_FieldMeta, fromConfig) { zend_bool _8, _11, _12, _13; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_3 = NULL, *_5 = NULL; zval *predef = NULL; zval *config_param = NULL, *c = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL, *_4 = NULL, *_6, *_7, *_9, *_10; zval *config = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &config_param); zephir_get_arrval(config, config_param); ZEPHIR_OBS_VAR(c); if (zephir_array_isset_string_fetch(&c, config, SS("type"), 0 TSRMLS_CC)) { ZEPHIR_INIT_VAR(_0); zephir_fast_strtoupper(_0, c); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SSV(_1, "Xs\\FieldMeta", "::TYPE_", _0); zephir_get_strval(predef, _1); ZEPHIR_CALL_FUNCTION(&_2, "defined", &_3, 11, predef); zephir_check_call_status(); if (zephir_is_true(_2)) { ZEPHIR_CALL_FUNCTION(&_4, "constant", &_5, 12, predef); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("type"), _4 TSRMLS_CC); _6 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); do { if (ZEPHIR_IS_LONG(_6, 10)) { ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_LONG(_7, 0x01); zephir_update_property_this(this_ptr, SL("flag"), _7 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_STRING(_7, "full", 1); zephir_update_property_this(this_ptr, SL("tokenizer"), _7 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(_6, 11)) { ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_LONG(_7, (0x03 | 0x10)); zephir_update_property_this(this_ptr, SL("flag"), _7 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_LONG(_7, 5); zephir_update_property_this(this_ptr, SL("weight"), _7 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(_6, 12)) { ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_LONG(_7, 255); zephir_update_property_this(this_ptr, SL("vno"), _7 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_LONG(_7, (0x01 | 0x10)); zephir_update_property_this(this_ptr, SL("flag"), _7 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_LONG(_7, 300); zephir_update_property_this(this_ptr, SL("cutlen"), _7 TSRMLS_CC); break; } } while(0); } } ZEPHIR_OBS_NVAR(c); _8 = zephir_array_isset_string_fetch(&c, config, SS("index"), 0 TSRMLS_CC); if (_8) { _6 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _8 = !ZEPHIR_IS_LONG(_6, 12); } if (_8) { ZEPHIR_INIT_NVAR(_0); zephir_fast_strtoupper(_0, c); ZEPHIR_INIT_LNVAR(_1); ZEPHIR_CONCAT_SSV(_1, "Xs\\FieldMeta", "::FLAG_INDEX_", _0); zephir_get_strval(predef, _1); ZEPHIR_CALL_FUNCTION(&_2, "defined", &_3, 11, predef); zephir_check_call_status(); if (zephir_is_true(_2)) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_CALL_FUNCTION(&_4, "constant", &_5, 12, predef); zephir_check_call_status(); ZEPHIR_INIT_ZVAL_NREF(_9); ZVAL_LONG(_9, ((((int) (zephir_get_numberval(_7)) & ~(0x03))) | zephir_get_intval(_4))); zephir_update_property_this(this_ptr, SL("flag"), _9 TSRMLS_CC); } _6 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); if (ZEPHIR_IS_LONG(_6, 10)) { _9 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_INIT_ZVAL_NREF(_10); ZVAL_LONG(_10, ((int) (zephir_get_numberval(_9)) | 0x01)); zephir_update_property_this(this_ptr, SL("flag"), _10 TSRMLS_CC); } } ZEPHIR_OBS_NVAR(c); if (zephir_array_isset_string_fetch(&c, config, SS("cutlen"), 0 TSRMLS_CC)) { ZEPHIR_INIT_ZVAL_NREF(_6); ZVAL_LONG(_6, zephir_get_intval(c)); zephir_update_property_this(this_ptr, SL("cutlen"), _6 TSRMLS_CC); } ZEPHIR_OBS_NVAR(c); _11 = zephir_array_isset_string_fetch(&c, config, SS("weight"), 0 TSRMLS_CC); if (_11) { _6 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _11 = !ZEPHIR_IS_LONG(_6, 12); } if (_11) { ZEPHIR_INIT_ZVAL_NREF(_9); ZVAL_LONG(_9, (zephir_get_intval(c) & 0x3f)); zephir_update_property_this(this_ptr, SL("weight"), _9 TSRMLS_CC); } ZEPHIR_OBS_NVAR(c); if (zephir_array_isset_string_fetch(&c, config, SS("phrase"), 0 TSRMLS_CC)) { ZEPHIR_INIT_NVAR(_0); zephir_fast_strtolower(_0, c); do { if (ZEPHIR_IS_STRING(_0, "yes")) { _9 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_INIT_ZVAL_NREF(_10); ZVAL_LONG(_10, ((int) (zephir_get_numberval(_9)) | 0x10)); zephir_update_property_this(this_ptr, SL("flag"), _10 TSRMLS_CC); break; } if (ZEPHIR_IS_STRING(_0, "no")) { _6 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_INIT_ZVAL_NREF(_9); ZVAL_LONG(_9, ((int) (zephir_get_numberval(_6)) & ~(0x10))); zephir_update_property_this(this_ptr, SL("flag"), _9 TSRMLS_CC); break; } } while(0); } ZEPHIR_OBS_NVAR(c); if (zephir_array_isset_string_fetch(&c, config, SS("non_bool"), 0 TSRMLS_CC)) { ZEPHIR_INIT_NVAR(_0); zephir_fast_strtolower(_0, c); do { if (ZEPHIR_IS_STRING(_0, "yes")) { _6 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_INIT_ZVAL_NREF(_9); ZVAL_LONG(_9, ((int) (zephir_get_numberval(_6)) | 0x80)); zephir_update_property_this(this_ptr, SL("flag"), _9 TSRMLS_CC); break; } if (ZEPHIR_IS_STRING(_0, "no")) { _6 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_INIT_ZVAL_NREF(_9); ZVAL_LONG(_9, ((int) (zephir_get_numberval(_6)) & ~(0x80))); zephir_update_property_this(this_ptr, SL("flag"), _9 TSRMLS_CC); break; } } while(0); } ZEPHIR_OBS_NVAR(c); _12 = zephir_array_isset_string_fetch(&c, config, SS("tokenizer"), 0 TSRMLS_CC); if (_12) { _6 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _12 = !ZEPHIR_IS_LONG(_6, 10); } _13 = _12; if (_13) { _13 = !ZEPHIR_IS_STRING(c, "default"); } if (_13) { zephir_update_property_this(this_ptr, SL("tokenizer"), c TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Xs_FieldMeta, getCustomTokenizer) { zend_class_entry *_15, *_17; int ZEPHIR_LAST_CALL_STATUS; zval *name = NULL, *arg = NULL, *_7 = NULL, *_9 = NULL, *_11 = NULL; zval *tokenizer = NULL, *m = NULL, *_0, *_1, *_2, *_3, _4, *_5 = NULL, *_6, *_8 = NULL, *_10, *_12 = NULL, *_13 = NULL, *_14 = NULL, *_16 = NULL; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(m); ZVAL_NULL(m); ZEPHIR_OBS_VAR(tokenizer); _0 = zephir_fetch_static_property_ce(xs_fieldmeta_ce, SL("tokenizers") TSRMLS_CC); _1 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); if (zephir_array_isset_fetch(&tokenizer, _0, _1, 0 TSRMLS_CC)) { RETURN_CCTOR(tokenizer); } ZEPHIR_INIT_VAR(_2); _3 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_4); ZVAL_STRING(&_4, "/^([^\\(]+)\\((.*)\\)$/", 0); zephir_preg_match(_2, &_4, _3, m, 0, 0 , 0 TSRMLS_CC); if (zephir_is_true(_2)) { ZEPHIR_INIT_VAR(_5); zephir_array_fetch_long(&_6, m, 1, PH_NOISY | PH_READONLY, "xs/fieldmeta.zep", 125 TSRMLS_CC); zephir_ucfirst(_5, _6); zephir_get_strval(_7, _5); ZEPHIR_INIT_VAR(name); ZEPHIR_CONCAT_SSV(name, "Xs", "\\Tokenizer", _7); ZEPHIR_OBS_VAR(_8); zephir_array_fetch_long(&_8, m, 2, PH_NOISY, "xs/fieldmeta.zep", 126 TSRMLS_CC); zephir_get_strval(_9, _8); ZEPHIR_CPY_WRT(arg, _9); } else { ZEPHIR_INIT_NVAR(_5); _10 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); zephir_ucfirst(_5, _10); zephir_get_strval(_11, _5); ZEPHIR_INIT_NVAR(name); ZEPHIR_CONCAT_SSV(name, "Xs", "\\Tokenizer", _11); ZEPHIR_INIT_NVAR(arg); ZVAL_EMPTY_STRING(arg); } if (unlikely(!(zephir_class_exists(name, zephir_is_true(ZEPHIR_GLOBAL(global_true)) TSRMLS_CC)))) { ZEPHIR_INIT_NVAR(_5); object_init_ex(_5, xs_exception_ce); _10 = zephir_fetch_nproperty_this(this_ptr, SL("name"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_12); ZEPHIR_CONCAT_SVSVS(_12, "Undefined custom tokenizer ", name, " for field `", _10, "`"); ZEPHIR_CALL_METHOD(NULL, _5, "__construct", NULL, 4, _12); zephir_check_call_status(); zephir_throw_exception_debug(_5, "xs/fieldmeta.zep", 133 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_INIT_NVAR(tokenizer); if (zephir_fast_strlen_ev(arg) > 0) { zephir_fetch_safe_class(_14, name); _15 = zend_fetch_class(Z_STRVAL_P(_14), Z_STRLEN_P(_14), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(tokenizer, _15); if (zephir_has_constructor(tokenizer TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, tokenizer, "__construct", NULL, 0, arg); zephir_check_call_status(); } } else { zephir_fetch_safe_class(_16, name); _17 = zend_fetch_class(Z_STRVAL_P(_16), Z_STRLEN_P(_16), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(tokenizer, _17); if (zephir_has_constructor(tokenizer TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, tokenizer, "__construct", NULL, 0); zephir_check_call_status(); } } if (unlikely(!((zephir_instance_of_ev(tokenizer, xs_tokenizer_ce TSRMLS_CC))))) { ZEPHIR_INIT_NVAR(_5); object_init_ex(_5, xs_exception_ce); _10 = zephir_fetch_nproperty_this(this_ptr, SL("name"), PH_NOISY_CC); ZEPHIR_INIT_LNVAR(_12); ZEPHIR_CONCAT_VSVS(_12, name, " for field `", _10, "` does not implement Tokenizer interface"); ZEPHIR_CALL_METHOD(NULL, _5, "__construct", NULL, 4, _12); zephir_check_call_status(); zephir_throw_exception_debug(_5, "xs/fieldmeta.zep", 143 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_NVAR(_8); zephir_read_property_this(&_8, this_ptr, SL("tokenizer"), PH_NOISY_CC); zephir_update_static_property_array_multi_ce(xs_fieldmeta_ce, SL("tokenizers"), &tokenizer TSRMLS_CC, SL("z"), 1, _8); RETURN_CCTOR(tokenizer); }