From f2d6db2c3c9299657d67327d2e6762214bce00d0 Mon Sep 17 00:00:00 2001 From: JellyBrick Date: Mon, 21 Oct 2019 15:50:20 +0900 Subject: [PATCH] Fix #4 --- .ci/zephir.phar | Bin 16582157 -> 16584572 bytes ext/kernel/array.c | 32 +- ext/kernel/array.h | 27 +- ext/kernel/fcall_internal.h | 6 + ext/kernel/main.c | 18 +- ext/kernel/memory.c | 9 +- ext/kernel/memory.h | 2 +- ext/php_rapidpm.h | 2 +- ext/pocketmine/math/axisalignedbb.zep.c | 30 +- ext/pocketmine/math/facing.zep.c | 24 +- ext/pocketmine/math/math.zep.c | 12 +- ext/pocketmine/math/matrix.zep.c | 182 +++++------ ext/pocketmine/math/raytraceresult.zep.c | 6 +- ext/pocketmine/math/vector2.zep.c | 54 ++-- ext/pocketmine/math/vector3.zep.c | 104 +++---- ext/pocketmine/math/voxelraytrace.zep.c | 10 +- ext/pocketmine/utils/binary.zep.c | 40 +-- ext/pocketmine/utils/binarystream.zep.c | 40 +-- ext/rapidpm.c | 8 +- .../Pocketmine/math/AxisAlignedBB.zep.php | 208 ++++++++----- ide/0.0.5/Pocketmine/math/Facing.zep.php | 59 ++-- ide/0.0.5/Pocketmine/math/Math.zep.php | 21 +- ide/0.0.5/Pocketmine/math/Matrix.zep.php | 76 +++-- .../Pocketmine/math/RayTraceResult.zep.php | 20 +- ide/0.0.5/Pocketmine/math/Vector2.zep.php | 96 ++++-- ide/0.0.5/Pocketmine/math/Vector3.zep.php | 228 +++++++++----- ide/0.0.5/Pocketmine/math/VectorMath.zep.php | 4 +- .../Pocketmine/math/VoxelRayTrace.zep.php | 33 +- ide/0.0.5/Pocketmine/utils/Binary.zep.php | 285 +++++++++++------- .../utils/BinaryDataException.zep.php | 2 +- .../Pocketmine/utils/BinaryStream.zep.php | 214 +++++++++---- 31 files changed, 1113 insertions(+), 739 deletions(-) diff --git a/.ci/zephir.phar b/.ci/zephir.phar index 88f77b04f5339f82d8e9388ba3b5a3c8b70bdee3..7bc6c68d36ea7db68e34f2cc1b31bf14de6c72ef 100755 GIT binary patch delta 150428 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 delta 147011 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 | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ + * This file is part of the Zephir. + * + * (c) Zephir Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -205,7 +196,7 @@ int zephir_array_isset_string_fetch(zval *fetched, const zval *arr, char *index, int zephir_array_isset_long_fetch(zval *fetched, const zval *arr, unsigned long index, int readonly) { zval *zv; - + if (UNEXPECTED(Z_TYPE_P(arr) == IS_OBJECT && zephir_instance_of_ev((zval *)arr, (const zend_class_entry *)zend_ce_arrayaccess))) { zend_long ZEPHIR_LAST_CALL_STATUS; zval exist, offset; @@ -620,14 +611,13 @@ int zephir_array_fetch_long(zval *return_value, zval *arr, unsigned long index, */ void zephir_merge_append(zval *left, zval *values) { - zval *tmp; - if (Z_TYPE_P(left) != IS_ARRAY) { zend_error(E_NOTICE, "First parameter of zephir_merge_append must be an array"); return; } if (Z_TYPE_P(values) == IS_ARRAY) { + zval *tmp; ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(values), tmp) { diff --git a/ext/kernel/array.h b/ext/kernel/array.h index b61c0ed..49d5c70 100644 --- a/ext/kernel/array.h +++ b/ext/kernel/array.h @@ -1,22 +1,13 @@ - /* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Zephir Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ + * This file is part of the Zephir. + * + * (c) Zephir Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_ARRAY_H #define ZEPHIR_KERNEL_ARRAY_H diff --git a/ext/kernel/fcall_internal.h b/ext/kernel/fcall_internal.h index 5c4ae53..8d82b86 100644 --- a/ext/kernel/fcall_internal.h +++ b/ext/kernel/fcall_internal.h @@ -1,3 +1,9 @@ +/* + * This file was generated automatically by Zephir. + * DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN + */ + #ifndef ZEPHIR_KERNEL_FCALL_INTERNAL_H #define ZEPHIR_KERNEL_FCALL_INTERNAL_H + #endif diff --git a/ext/kernel/main.c b/ext/kernel/main.c index a09a3b8..ceee5b0 100644 --- a/ext/kernel/main.c +++ b/ext/kernel/main.c @@ -87,21 +87,26 @@ int zephir_fetch_parameters(int num_args, int required_args, int optional_args, */ int zephir_get_global(zval *arr, const char *global, unsigned int global_length) { - zval *gv; zend_array *symbol_table; - zend_bool jit_initialization = PG(auto_globals_jit); zend_string *str = zend_string_init(global, global_length, 0); - if (jit_initialization) { + if (PG(auto_globals_jit)) { zend_is_auto_global(str); } if (&EG(symbol_table)) { + zval *gv; + if ((gv = zend_hash_find_ind(&EG(symbol_table), str)) != NULL) { ZVAL_DEREF(gv); if (Z_TYPE_P(gv) == IS_ARRAY) { - ZVAL_DUP(arr, gv); - zend_hash_update(&EG(symbol_table), str, arr); + if (Z_REFCOUNTED_P(gv) && Z_REFCOUNT_P(gv) <= 1) { + ZVAL_COPY_VALUE(arr, gv); + } else { + ZVAL_DUP(arr, gv); + zend_hash_update(&EG(symbol_table), str, arr); + } + zend_string_release(str); return SUCCESS; } @@ -114,9 +119,10 @@ int zephir_get_global(zval *arr, const char *global, unsigned int global_length) } else { symbol_table = &EG(symbol_table); } - zend_hash_update(symbol_table, str, arr); + zend_hash_update(symbol_table, str, arr); zend_string_release(str); + return FAILURE; } diff --git a/ext/kernel/memory.c b/ext/kernel/memory.c index 722b7fb..e003cfe 100644 --- a/ext/kernel/memory.c +++ b/ext/kernel/memory.c @@ -50,15 +50,13 @@ static zend_always_inline zend_execute_data* find_symbol_table(zend_execute_data */ void ZEPHIR_FASTCALL zephir_memory_grow_stack(zephir_method_globals *g, const char *func) { - zephir_memory_entry *entry; if (g->active_memory == NULL) { zephir_memory_entry *active_memory; - size_t i; active_memory = (zephir_memory_entry *) pecalloc(1, sizeof(zephir_memory_entry), 0); - active_memory->addresses = pecalloc(24, sizeof(zval*), 0); - active_memory->capacity = 24; + active_memory->addresses = pecalloc(24, sizeof(zval*), 0); + active_memory->capacity = 24; g->active_memory = active_memory; } @@ -74,7 +72,7 @@ void ZEPHIR_FASTCALL zephir_memory_grow_stack(zephir_method_globals *g, const ch void ZEPHIR_FASTCALL zephir_memory_restore_stack(zephir_method_globals *g, const char *func) { size_t i; - zephir_memory_entry *prev, *active_memory; + zephir_memory_entry *active_memory; zephir_symbol_table *active_symbol_table; zval *ptr; #ifndef ZEPHIR_RELEASE @@ -200,7 +198,6 @@ void zephir_initialize_memory(zend_zephir_globals_def *zephir_globals_ptr) */ void zephir_deinitialize_memory() { - size_t i; zend_zephir_globals_def *zephir_globals_ptr = ZEPHIR_VGLOBAL; if (zephir_globals_ptr->initialized != 1) { diff --git a/ext/kernel/memory.h b/ext/kernel/memory.h index 8d3cf07..6563470 100644 --- a/ext/kernel/memory.h +++ b/ext/kernel/memory.h @@ -173,7 +173,7 @@ int zephir_set_symbol_str(char *key_name, unsigned int key_length, zval *value); #define ZEPHIR_SEPARATE_PARAM(z) \ do { \ - zval *orig_ptr = z;\ + zval *orig_ptr = z; \ ZEPHIR_SEPARATE(orig_ptr); \ /*zephir_memory_observe(orig_ptr);*/ \ } while (0) diff --git a/ext/php_rapidpm.h b/ext/php_rapidpm.h index 7647d97..a51a42e 100644 --- a/ext/php_rapidpm.h +++ b/ext/php_rapidpm.h @@ -14,7 +14,7 @@ #define PHP_RAPIDPM_VERSION "0.0.5" #define PHP_RAPIDPM_EXTNAME "rapidpm" #define PHP_RAPIDPM_AUTHOR "Organization" -#define PHP_RAPIDPM_ZEPVERSION "0.12.9-$Id$" +#define PHP_RAPIDPM_ZEPVERSION "0.12.10-$Id$" #define PHP_RAPIDPM_DESCRIPTION "Extension that implements parts of PocketMine-MP" diff --git a/ext/pocketmine/math/axisalignedbb.zep.c b/ext/pocketmine/math/axisalignedbb.zep.c index 3290e09..ce9ad7e 100644 --- a/ext/pocketmine/math/axisalignedbb.zep.c +++ b/ext/pocketmine/math/axisalignedbb.zep.c @@ -41,22 +41,22 @@ ZEPHIR_INIT_CLASS(Pocketmine_Math_AxisAlignedBB) { ZEPHIR_REGISTER_CLASS(Pocketmine\\Math, AxisAlignedBB, pocketmine, math_axisalignedbb, pocketmine_math_axisalignedbb_method_entry, 0); /** @var float */ - zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("minX"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("minX"), 0.0, ZEND_ACC_PUBLIC); /** @var float */ - zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("minY"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("minY"), 0.0, ZEND_ACC_PUBLIC); /** @var float */ - zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("minZ"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("minZ"), 0.0, ZEND_ACC_PUBLIC); /** @var float */ - zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("maxX"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("maxX"), 0.0, ZEND_ACC_PUBLIC); /** @var float */ - zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("maxY"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("maxY"), 0.0, ZEND_ACC_PUBLIC); /** @var float */ - zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("maxZ"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_axisalignedbb_ce, SL("maxZ"), 0.0, ZEND_ACC_PUBLIC); return SUCCESS; @@ -365,7 +365,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, expandedCopy) { ZEPHIR_INIT_VAR(&_0); - if (zephir_clone(&_0, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&_0, this_ptr) == FAILURE) { RETURN_MM(); } ZVAL_DOUBLE(&_1, x); @@ -454,7 +454,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, offsetCopy) { ZEPHIR_INIT_VAR(&_0); - if (zephir_clone(&_0, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&_0, this_ptr) == FAILURE) { RETURN_MM(); } ZVAL_DOUBLE(&_1, x); @@ -543,7 +543,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, contractedCopy) { ZEPHIR_INIT_VAR(&_0); - if (zephir_clone(&_0, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&_0, this_ptr) == FAILURE) { RETURN_MM(); } ZVAL_DOUBLE(&_1, x); @@ -646,7 +646,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, extendedCopy) { ZEPHIR_INIT_VAR(&_0); - if (zephir_clone(&_0, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&_0, this_ptr) == FAILURE) { RETURN_MM(); } ZVAL_LONG(&_1, face); @@ -814,7 +814,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, stretchedCopy) { ZEPHIR_INIT_VAR(&_0); - if (zephir_clone(&_0, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&_0, this_ptr) == FAILURE) { RETURN_MM(); } ZVAL_LONG(&_1, axis); @@ -1347,7 +1347,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, getAverageEdgeLength) { zephir_read_property(&_0, this_ptr, SL("minZ"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_4); zephir_sub_function(&_4, &_3, &_0); - RETURN_MM_DOUBLE(zephir_safe_div_zval_long(&_4, 3 TSRMLS_CC)); + RETURN_MM_DOUBLE(zephir_safe_div_zval_long(&_4, 3)); } @@ -1379,12 +1379,12 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, getVolume) { ZEPHIR_INIT_VAR(&_3); zephir_sub_function(&_3, &_0, &_1); ZEPHIR_INIT_VAR(&_4); - mul_function(&_4, &_2, &_3 TSRMLS_CC); + mul_function(&_4, &_2, &_3); zephir_read_property(&_0, this_ptr, SL("maxZ"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("minZ"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_2); zephir_sub_function(&_2, &_0, &_1); - mul_function(return_value, &_4, &_2 TSRMLS_CC); + mul_function(return_value, &_4, &_2); RETURN_MM(); } @@ -1688,7 +1688,7 @@ PHP_METHOD(Pocketmine_Math_AxisAlignedBB, calculateIntercept) { ZEPHIR_INIT_VAR(&distance); ZEPHIR_GET_CONSTANT(&distance, "PHP_INT_MAX"); ZEPHIR_INIT_VAR(&_22); - zephir_create_array(&_22, 6, 0 TSRMLS_CC); + zephir_create_array(&_22, 6, 0); zephir_array_fast_append(&_22, &v1); zephir_array_fast_append(&_22, &v2); zephir_array_fast_append(&_22, &v3); diff --git a/ext/pocketmine/math/facing.zep.c b/ext/pocketmine/math/facing.zep.c index 20b57e9..89b223f 100644 --- a/ext/pocketmine/math/facing.zep.c +++ b/ext/pocketmine/math/facing.zep.c @@ -40,11 +40,11 @@ ZEPHIR_INIT_CLASS(Pocketmine_Math_Facing) { ZEPHIR_REGISTER_CLASS(Pocketmine\\Math, Facing, pocketmine, math_facing, pocketmine_math_facing_method_entry, 0); - zend_declare_property_null(pocketmine_math_facing_ce, SL("all"), ZEND_ACC_PUBLIC|ZEND_ACC_STATIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_facing_ce, SL("all"), ZEND_ACC_PUBLIC|ZEND_ACC_STATIC); - zend_declare_property_null(pocketmine_math_facing_ce, SL("horizonal"), ZEND_ACC_PUBLIC|ZEND_ACC_STATIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_facing_ce, SL("horizonal"), ZEND_ACC_PUBLIC|ZEND_ACC_STATIC); - zend_declare_property_null(pocketmine_math_facing_ce, SL("clockwise"), ZEND_ACC_PRIVATE|ZEND_ACC_STATIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_facing_ce, SL("clockwise"), ZEND_ACC_PRIVATE|ZEND_ACC_STATIC); zephir_declare_class_constant_long(pocketmine_math_facing_ce, SL("AXIS_Y"), 0); @@ -179,15 +179,15 @@ PHP_METHOD(Pocketmine_Math_Facing, rotate) { return; } zephir_read_static_property_ce(&_1, pocketmine_math_facing_ce, SL("clockwise"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_2, &_1, axis, PH_READONLY, "pocketmine/math/facing.zep", 124 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, axis, PH_READONLY, "pocketmine/math/facing.zep", 124); if (!(zephir_array_isset_long(&_2, direction))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(spl_ce_InvalidArgumentException, "Cannot rotate direction {direction} around axis {axis}", "pocketmine/math/facing.zep", 125); return; } zephir_read_static_property_ce(&_3, pocketmine_math_facing_ce, SL("clockwise"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_4, &_3, axis, PH_NOISY | PH_READONLY, "pocketmine/math/facing.zep", 127 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, axis, PH_NOISY | PH_READONLY, "pocketmine/math/facing.zep", 127); ZEPHIR_OBS_VAR(&rotated); - zephir_array_fetch_long(&rotated, &_4, direction, PH_NOISY, "pocketmine/math/facing.zep", 127 TSRMLS_CC); + zephir_array_fetch_long(&rotated, &_4, direction, PH_NOISY, "pocketmine/math/facing.zep", 127); ZEPHIR_INIT_VAR(&_5); if (clockwise) { ZEPHIR_CPY_WRT(&_5, &rotated); @@ -365,23 +365,23 @@ void zephir_init_static_properties_Pocketmine_Math_Facing(TSRMLS_D) { ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); - zephir_create_array(&_0, 3, 0 TSRMLS_CC); + zephir_create_array(&_0, 3, 0); ZEPHIR_INIT_VAR(&_1); - zephir_create_array(&_1, 4, 0 TSRMLS_CC); + zephir_create_array(&_1, 4, 0); add_index_long(&_1, 2, 5); add_index_long(&_1, 5, 3); add_index_long(&_1, 3, 4); add_index_long(&_1, 4, 2); zephir_array_fast_append(&_0, &_1); ZEPHIR_INIT_NVAR(&_1); - zephir_create_array(&_1, 4, 0 TSRMLS_CC); + zephir_create_array(&_1, 4, 0); add_index_long(&_1, 1, 5); add_index_long(&_1, 5, 0); add_index_long(&_1, 0, 4); add_index_long(&_1, 4, 1); zephir_array_fast_append(&_0, &_1); ZEPHIR_INIT_NVAR(&_1); - zephir_create_array(&_1, 4, 0 TSRMLS_CC); + zephir_create_array(&_1, 4, 0); add_index_long(&_1, 1, 2); add_index_long(&_1, 2, 0); add_index_long(&_1, 0, 3); @@ -389,7 +389,7 @@ void zephir_init_static_properties_Pocketmine_Math_Facing(TSRMLS_D) { zephir_array_fast_append(&_0, &_1); zephir_update_static_property_ce(pocketmine_math_facing_ce, ZEND_STRL("clockwise"), &_0); ZEPHIR_INIT_NVAR(&_1); - zephir_create_array(&_1, 4, 0 TSRMLS_CC); + zephir_create_array(&_1, 4, 0); ZEPHIR_INIT_VAR(&_2); ZVAL_LONG(&_2, 2); zephir_array_fast_append(&_1, &_2); @@ -404,7 +404,7 @@ void zephir_init_static_properties_Pocketmine_Math_Facing(TSRMLS_D) { zephir_array_fast_append(&_1, &_2); zephir_update_static_property_ce(pocketmine_math_facing_ce, ZEND_STRL("horizonal"), &_1); ZEPHIR_INIT_VAR(&_3); - zephir_create_array(&_3, 6, 0 TSRMLS_CC); + zephir_create_array(&_3, 6, 0); ZEPHIR_INIT_NVAR(&_2); ZVAL_LONG(&_2, 0); zephir_array_fast_append(&_3, &_2); diff --git a/ext/pocketmine/math/math.zep.c b/ext/pocketmine/math/math.zep.c index 6f0dfa4..5768bef 100644 --- a/ext/pocketmine/math/math.zep.c +++ b/ext/pocketmine/math/math.zep.c @@ -147,19 +147,19 @@ PHP_METHOD(Pocketmine_Math_Math, solveQuadratic) { ZVAL_DOUBLE(&discriminant, (zephir_get_numberval(&_0) - (double) ((double) (4 * a) * c))); if (ZEPHIR_GT_LONG(&discriminant, 0)) { ZEPHIR_INIT_VAR(&sqrtDiscriminant); - ZVAL_DOUBLE(&sqrtDiscriminant, zephir_sqrt(&discriminant TSRMLS_CC)); - zephir_create_array(return_value, 2, 0 TSRMLS_CC); + ZVAL_DOUBLE(&sqrtDiscriminant, zephir_sqrt(&discriminant)); + zephir_create_array(return_value, 2, 0); ZEPHIR_INIT_VAR(&_3$$3); - ZVAL_DOUBLE(&_3$$3, zephir_safe_div_double_long(((-b + zephir_get_numberval(&sqrtDiscriminant))), ((double) (2 * a)) TSRMLS_CC)); + ZVAL_DOUBLE(&_3$$3, zephir_safe_div_double_long(((-b + zephir_get_numberval(&sqrtDiscriminant))), ((double) (2 * a)))); zephir_array_fast_append(return_value, &_3$$3); ZEPHIR_INIT_NVAR(&_3$$3); - ZVAL_DOUBLE(&_3$$3, zephir_safe_div_double_long(((-b - zephir_get_numberval(&sqrtDiscriminant))), ((double) (2 * a)) TSRMLS_CC)); + ZVAL_DOUBLE(&_3$$3, zephir_safe_div_double_long(((-b - zephir_get_numberval(&sqrtDiscriminant))), ((double) (2 * a)))); zephir_array_fast_append(return_value, &_3$$3); RETURN_MM(); } else if (ZEPHIR_IS_LONG(&discriminant, 0)) { - zephir_create_array(return_value, 1, 0 TSRMLS_CC); + zephir_create_array(return_value, 1, 0); ZEPHIR_INIT_VAR(&_4$$4); - ZVAL_DOUBLE(&_4$$4, zephir_safe_div_double_long(-b, ((double) (2 * a)) TSRMLS_CC)); + ZVAL_DOUBLE(&_4$$4, zephir_safe_div_double_long(-b, ((double) (2 * a)))); zephir_array_fast_append(return_value, &_4$$4); RETURN_MM(); } else { diff --git a/ext/pocketmine/math/matrix.zep.c b/ext/pocketmine/math/matrix.zep.c index b77c29d..2b8d731 100644 --- a/ext/pocketmine/math/matrix.zep.c +++ b/ext/pocketmine/math/matrix.zep.c @@ -40,15 +40,15 @@ ZEPHIR_INIT_CLASS(Pocketmine_Math_Matrix) { ZEPHIR_REGISTER_CLASS(Pocketmine\\Math, Matrix, pocketmine, math_matrix, pocketmine_math_matrix_method_entry, 0); - zend_declare_property_null(pocketmine_math_matrix_ce, SL("matrix"), ZEND_ACC_PRIVATE TSRMLS_CC); + zend_declare_property_null(pocketmine_math_matrix_ce, SL("matrix"), ZEND_ACC_PRIVATE); - zend_declare_property_long(pocketmine_math_matrix_ce, SL("rows"), 0, ZEND_ACC_PRIVATE TSRMLS_CC); + zend_declare_property_long(pocketmine_math_matrix_ce, SL("rows"), 0, ZEND_ACC_PRIVATE); - zend_declare_property_long(pocketmine_math_matrix_ce, SL("columns"), 0, ZEND_ACC_PRIVATE TSRMLS_CC); + zend_declare_property_long(pocketmine_math_matrix_ce, SL("columns"), 0, ZEND_ACC_PRIVATE); pocketmine_math_matrix_ce->create_object = zephir_init_properties_Pocketmine_Math_Matrix; - zend_class_implements(pocketmine_math_matrix_ce TSRMLS_CC, 1, zend_ce_arrayaccess); + zend_class_implements(pocketmine_math_matrix_ce, 1, zend_ce_arrayaccess); return SUCCESS; } @@ -102,7 +102,7 @@ PHP_METHOD(Pocketmine_Math_Matrix, offsetGet) { zephir_read_property(&_0, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_1, &_0, zephir_get_intval(offset), PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 35 TSRMLS_CC); + zephir_array_fetch_long(&_1, &_0, zephir_get_intval(offset), PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 35); RETURN_CTORW(&_1); } @@ -251,16 +251,16 @@ PHP_METHOD(Pocketmine_Math_Matrix, set) { ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _7$$3); ZEPHIR_INIT_NVAR(&_9$$4); - zephir_array_fetch(&_10$$4, &m, &r, PH_READONLY, "pocketmine/math/matrix.zep", 62 TSRMLS_CC); + zephir_array_fetch(&_10$$4, &m, &r, PH_READONLY, "pocketmine/math/matrix.zep", 62); if (zephir_array_isset(&_10$$4, &c)) { - zephir_array_fetch(&_11$$4, &m, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 62 TSRMLS_CC); + zephir_array_fetch(&_11$$4, &m, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 62); ZEPHIR_OBS_NVAR(&_9$$4); - zephir_array_fetch(&_9$$4, &_11$$4, &c, PH_NOISY, "pocketmine/math/matrix.zep", 62 TSRMLS_CC); + zephir_array_fetch(&_9$$4, &_11$$4, &c, PH_NOISY, "pocketmine/math/matrix.zep", 62); } else { ZEPHIR_INIT_NVAR(&_9$$4); ZVAL_LONG(&_9$$4, 0); } - zephir_update_property_array_multi(this_ptr, SL("matrix"), &_9$$4 TSRMLS_CC, SL("zz"), 2, &r, &c); + zephir_update_property_array_multi(this_ptr, SL("matrix"), &_9$$4, SL("zz"), 2, &r, &c); } } } @@ -302,7 +302,7 @@ PHP_METHOD(Pocketmine_Math_Matrix, setElement) { if (_4) { RETURN_BOOL(0); } - zephir_update_property_array_multi(this_ptr, SL("matrix"), value TSRMLS_CC, SL("ll"), 2, zephir_get_intval(row), zephir_get_intval(column)); + zephir_update_property_array_multi(this_ptr, SL("matrix"), value, SL("ll"), 2, zephir_get_intval(row), zephir_get_intval(column)); RETURN_BOOL(1); } @@ -343,8 +343,8 @@ PHP_METHOD(Pocketmine_Math_Matrix, getElement) { RETURN_BOOL(0); } zephir_read_property(&_5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_6, &_5, zephir_get_intval(row), PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 81 TSRMLS_CC); - zephir_array_fetch_long(&_7, &_6, zephir_get_intval(column), PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 81 TSRMLS_CC); + zephir_array_fetch_long(&_6, &_5, zephir_get_intval(row), PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 81); + zephir_array_fetch_long(&_7, &_6, zephir_get_intval(column), PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 81); RETURN_CTORW(&_7); } @@ -448,8 +448,8 @@ PHP_METHOD(Pocketmine_Math_Matrix, add) { ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _13$$4); zephir_read_property(&_15$$5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_16$$5, &_15$$5, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 100 TSRMLS_CC); - zephir_array_fetch(&_17$$5, &_16$$5, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 100 TSRMLS_CC); + zephir_array_fetch(&_16$$5, &_15$$5, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 100); + zephir_array_fetch(&_17$$5, &_16$$5, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 100); ZEPHIR_CALL_METHOD(&_18$$5, matrix, "getelement", &_19, 0, &r, &c); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_20$$5); @@ -508,7 +508,7 @@ PHP_METHOD(Pocketmine_Math_Matrix, subtract) { RETURN_MM_BOOL(0); } ZEPHIR_INIT_VAR(&result); - if (zephir_clone(&result, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&result, this_ptr) == FAILURE) { RETURN_MM(); } zephir_read_property(&_5, this_ptr, SL("rows"), PH_NOISY_CC | PH_READONLY); @@ -544,8 +544,8 @@ PHP_METHOD(Pocketmine_Math_Matrix, subtract) { ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _11$$4); zephir_read_property(&_13$$5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_14$$5, &_13$$5, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 117 TSRMLS_CC); - zephir_array_fetch(&_15$$5, &_14$$5, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 117 TSRMLS_CC); + zephir_array_fetch(&_14$$5, &_13$$5, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 117); + zephir_array_fetch(&_15$$5, &_14$$5, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 117); ZEPHIR_CALL_METHOD(&_16$$5, matrix, "getelement", &_17, 0, &r, &c); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_18$$5); @@ -586,7 +586,7 @@ PHP_METHOD(Pocketmine_Math_Matrix, multiplyScalar) { ZEPHIR_INIT_VAR(&result); - if (zephir_clone(&result, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&result, this_ptr) == FAILURE) { RETURN_MM(); } zephir_read_property(&_0, this_ptr, SL("rows"), PH_NOISY_CC | PH_READONLY); @@ -622,10 +622,10 @@ PHP_METHOD(Pocketmine_Math_Matrix, multiplyScalar) { ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _6$$3); zephir_read_property(&_8$$4, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_9$$4, &_8$$4, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 131 TSRMLS_CC); - zephir_array_fetch(&_10$$4, &_9$$4, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 131 TSRMLS_CC); + zephir_array_fetch(&_9$$4, &_8$$4, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 131); + zephir_array_fetch(&_10$$4, &_9$$4, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 131); ZEPHIR_INIT_NVAR(&_11$$4); - mul_function(&_11$$4, &_10$$4, number TSRMLS_CC); + mul_function(&_11$$4, &_10$$4, number); ZEPHIR_CALL_METHOD(NULL, &result, "setelement", &_12, 0, &r, &c, &_11$$4); zephir_check_call_status(); } @@ -662,7 +662,7 @@ PHP_METHOD(Pocketmine_Math_Matrix, divideScalar) { ZEPHIR_INIT_VAR(&result); - if (zephir_clone(&result, this_ptr TSRMLS_CC) == FAILURE) { + if (zephir_clone(&result, this_ptr) == FAILURE) { RETURN_MM(); } zephir_read_property(&_0, this_ptr, SL("rows"), PH_NOISY_CC | PH_READONLY); @@ -698,10 +698,10 @@ PHP_METHOD(Pocketmine_Math_Matrix, divideScalar) { ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _6$$3); zephir_read_property(&_8$$4, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_9$$4, &_8$$4, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 145 TSRMLS_CC); - zephir_array_fetch(&_10$$4, &_9$$4, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 145 TSRMLS_CC); + zephir_array_fetch(&_9$$4, &_8$$4, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 145); + zephir_array_fetch(&_10$$4, &_9$$4, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 145); ZEPHIR_INIT_NVAR(&_11$$4); - div_function(&_11$$4, &_10$$4, number TSRMLS_CC); + div_function(&_11$$4, &_10$$4, number); ZEPHIR_CALL_METHOD(NULL, &result, "setelement", &_12, 0, &r, &c, &_11$$4); zephir_check_call_status(); } @@ -773,8 +773,8 @@ PHP_METHOD(Pocketmine_Math_Matrix, transpose) { ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _8$$3); zephir_read_property(&_10$$4, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_11$$4, &_10$$4, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 159 TSRMLS_CC); - zephir_array_fetch(&_12$$4, &_11$$4, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 159 TSRMLS_CC); + zephir_array_fetch(&_11$$4, &_10$$4, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 159); + zephir_array_fetch(&_12$$4, &_11$$4, &c, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 159); ZEPHIR_CALL_METHOD(NULL, &result, "setelement", &_13, 6, &c, &r, &_12$$4); zephir_check_call_status(); } @@ -880,12 +880,12 @@ PHP_METHOD(Pocketmine_Math_Matrix, product) { ZEPHIR_INIT_NVAR(&k); ZVAL_LONG(&k, _12$$5); zephir_read_property(&_14$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_15$$6, &_14$$6, &i, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 183 TSRMLS_CC); - zephir_array_fetch(&_16$$6, &_15$$6, &k, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 183 TSRMLS_CC); + zephir_array_fetch(&_15$$6, &_14$$6, &i, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 183); + zephir_array_fetch(&_16$$6, &_15$$6, &k, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 183); ZEPHIR_CALL_METHOD(&_17$$6, matrix, "getelement", &_18, 0, &k, &j); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_19$$6); - mul_function(&_19$$6, &_16$$6, &_17$$6 TSRMLS_CC); + mul_function(&_19$$6, &_16$$6, &_17$$6); ZEPHIR_ADD_ASSIGN(&sum, &_19$$6); } } @@ -976,111 +976,111 @@ PHP_METHOD(Pocketmine_Math_Matrix, determinant) { } if (ZEPHIR_IS_LONG(&_1, 2)) { zephir_read_property(&_2$$5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_3$$5, &_2$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); - zephir_array_fetch_long(&_4$$5, &_3$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); + zephir_array_fetch_long(&_3$$5, &_2$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); + zephir_array_fetch_long(&_4$$5, &_3$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); zephir_read_property(&_5$$5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_6$$5, &_5$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); - zephir_array_fetch_long(&_7$$5, &_6$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); + zephir_array_fetch_long(&_6$$5, &_5$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); + zephir_array_fetch_long(&_7$$5, &_6$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); ZEPHIR_INIT_VAR(&_8$$5); - mul_function(&_8$$5, &_4$$5, &_7$$5 TSRMLS_CC); + mul_function(&_8$$5, &_4$$5, &_7$$5); zephir_read_property(&_9$$5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_4$$5, &_9$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); - zephir_array_fetch_long(&_7$$5, &_4$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); + zephir_array_fetch_long(&_4$$5, &_9$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); + zephir_array_fetch_long(&_7$$5, &_4$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); zephir_read_property(&_10$$5, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_11$$5, &_10$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); - zephir_array_fetch_long(&_12$$5, &_11$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201 TSRMLS_CC); + zephir_array_fetch_long(&_11$$5, &_10$$5, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); + zephir_array_fetch_long(&_12$$5, &_11$$5, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 201); ZEPHIR_INIT_VAR(&_13$$5); - mul_function(&_13$$5, &_7$$5, &_12$$5 TSRMLS_CC); + mul_function(&_13$$5, &_7$$5, &_12$$5); zephir_sub_function(return_value, &_8$$5, &_13$$5); RETURN_MM(); } if (ZEPHIR_IS_LONG(&_1, 3)) { zephir_read_property(&_14$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_15$$6, &_14$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_16$$6, &_15$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_15$$6, &_14$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_16$$6, &_15$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); zephir_read_property(&_17$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_18$$6, &_17$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_19$$6, &_18$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_18$$6, &_17$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_19$$6, &_18$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_VAR(&_20$$6); - mul_function(&_20$$6, &_16$$6, &_19$$6 TSRMLS_CC); + mul_function(&_20$$6, &_16$$6, &_19$$6); zephir_read_property(&_21$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_16$$6, &_21$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_19$$6, &_16$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_16$$6, &_21$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_19$$6, &_16$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_VAR(&_22$$6); - mul_function(&_22$$6, &_20$$6, &_19$$6 TSRMLS_CC); + mul_function(&_22$$6, &_20$$6, &_19$$6); zephir_read_property(&_23$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_19$$6, &_23$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_24$$6, &_19$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_19$$6, &_23$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_24$$6, &_19$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); zephir_read_property(&_25$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_26$$6, &_25$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_27$$6, &_26$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_26$$6, &_25$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_27$$6, &_26$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_20$$6); - mul_function(&_20$$6, &_24$$6, &_27$$6 TSRMLS_CC); + mul_function(&_20$$6, &_24$$6, &_27$$6); zephir_read_property(&_28$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_24$$6, &_28$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_27$$6, &_24$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_24$$6, &_28$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_27$$6, &_24$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_VAR(&_29$$6); - mul_function(&_29$$6, &_20$$6, &_27$$6 TSRMLS_CC); + mul_function(&_29$$6, &_20$$6, &_27$$6); ZEPHIR_INIT_NVAR(&_20$$6); zephir_add_function(&_20$$6, &_22$$6, &_29$$6); zephir_read_property(&_30$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_27$$6, &_30$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_31$$6, &_27$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_27$$6, &_30$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_31$$6, &_27$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); zephir_read_property(&_32$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_33$$6, &_32$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_34$$6, &_33$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_33$$6, &_32$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_34$$6, &_33$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_22$$6); - mul_function(&_22$$6, &_31$$6, &_34$$6 TSRMLS_CC); + mul_function(&_22$$6, &_31$$6, &_34$$6); zephir_read_property(&_35$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_31$$6, &_35$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_34$$6, &_31$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_31$$6, &_35$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_34$$6, &_31$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_29$$6); - mul_function(&_29$$6, &_22$$6, &_34$$6 TSRMLS_CC); + mul_function(&_29$$6, &_22$$6, &_34$$6); ZEPHIR_INIT_NVAR(&_22$$6); zephir_add_function(&_22$$6, &_20$$6, &_29$$6); zephir_read_property(&_36$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_34$$6, &_36$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_37$$6, &_34$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_34$$6, &_36$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_37$$6, &_34$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); zephir_read_property(&_38$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_39$$6, &_38$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_40$$6, &_39$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_39$$6, &_38$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_40$$6, &_39$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_20$$6); - mul_function(&_20$$6, &_37$$6, &_40$$6 TSRMLS_CC); + mul_function(&_20$$6, &_37$$6, &_40$$6); zephir_read_property(&_41$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_37$$6, &_41$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_40$$6, &_37$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_37$$6, &_41$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_40$$6, &_37$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_29$$6); - mul_function(&_29$$6, &_20$$6, &_40$$6 TSRMLS_CC); + mul_function(&_29$$6, &_20$$6, &_40$$6); ZEPHIR_INIT_NVAR(&_20$$6); zephir_sub_function(&_20$$6, &_22$$6, &_29$$6); zephir_read_property(&_42$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_40$$6, &_42$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_43$$6, &_40$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_40$$6, &_42$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_43$$6, &_40$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); zephir_read_property(&_44$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_45$$6, &_44$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_46$$6, &_45$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_45$$6, &_44$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_46$$6, &_45$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_22$$6); - mul_function(&_22$$6, &_43$$6, &_46$$6 TSRMLS_CC); + mul_function(&_22$$6, &_43$$6, &_46$$6); zephir_read_property(&_47$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_43$$6, &_47$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_46$$6, &_43$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_43$$6, &_47$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_46$$6, &_43$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_29$$6); - mul_function(&_29$$6, &_22$$6, &_46$$6 TSRMLS_CC); + mul_function(&_29$$6, &_22$$6, &_46$$6); ZEPHIR_INIT_NVAR(&_22$$6); zephir_sub_function(&_22$$6, &_20$$6, &_29$$6); zephir_read_property(&_48$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_46$$6, &_48$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_49$$6, &_46$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_46$$6, &_48$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_49$$6, &_46$$6, 2, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); zephir_read_property(&_50$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_51$$6, &_50$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_52$$6, &_51$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_51$$6, &_50$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_52$$6, &_51$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_20$$6); - mul_function(&_20$$6, &_49$$6, &_52$$6 TSRMLS_CC); + mul_function(&_20$$6, &_49$$6, &_52$$6); zephir_read_property(&_53$$6, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch_long(&_49$$6, &_53$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); - zephir_array_fetch_long(&_52$$6, &_49$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203 TSRMLS_CC); + zephir_array_fetch_long(&_49$$6, &_53$$6, 0, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); + zephir_array_fetch_long(&_52$$6, &_49$$6, 1, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 203); ZEPHIR_INIT_NVAR(&_29$$6); - mul_function(&_29$$6, &_20$$6, &_52$$6 TSRMLS_CC); + mul_function(&_29$$6, &_20$$6, &_52$$6); zephir_sub_function(return_value, &_22$$6, &_29$$6); RETURN_MM(); } @@ -1131,11 +1131,11 @@ PHP_METHOD(Pocketmine_Math_Matrix, __toString) { ZVAL_LONG(&r, _2); ZEPHIR_INIT_NVAR(&_4$$3); zephir_read_property(&_5$$3, this_ptr, SL("matrix"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_6$$3, &_5$$3, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 214 TSRMLS_CC); - zephir_fast_join_str(&_4$$3, SL(","), &_6$$3 TSRMLS_CC); + zephir_array_fetch(&_6$$3, &_5$$3, &r, PH_NOISY | PH_READONLY, "pocketmine/math/matrix.zep", 214); + zephir_fast_join_str(&_4$$3, SL(","), &_6$$3); ZEPHIR_INIT_NVAR(&_7$$3); ZEPHIR_CONCAT_VS(&_7$$3, &_4$$3, ";"); - zephir_concat_self(&s, &_7$$3 TSRMLS_CC); + zephir_concat_self(&s, &_7$$3); } } ZVAL_LONG(&_8, 0); diff --git a/ext/pocketmine/math/raytraceresult.zep.c b/ext/pocketmine/math/raytraceresult.zep.c index 66dba8e..fa49469 100644 --- a/ext/pocketmine/math/raytraceresult.zep.c +++ b/ext/pocketmine/math/raytraceresult.zep.c @@ -42,17 +42,17 @@ ZEPHIR_INIT_CLASS(Pocketmine_Math_RayTraceResult) { /** * @var AxisAlignedBB */ - zend_declare_property_null(pocketmine_math_raytraceresult_ce, SL("bb"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_raytraceresult_ce, SL("bb"), ZEND_ACC_PUBLIC); /** * @var int */ - zend_declare_property_null(pocketmine_math_raytraceresult_ce, SL("hitFace"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_raytraceresult_ce, SL("hitFace"), ZEND_ACC_PUBLIC); /** * @var Vector3 */ - zend_declare_property_null(pocketmine_math_raytraceresult_ce, SL("hitVector"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_raytraceresult_ce, SL("hitVector"), ZEND_ACC_PUBLIC); return SUCCESS; diff --git a/ext/pocketmine/math/vector2.zep.c b/ext/pocketmine/math/vector2.zep.c index fcd0e6c..18e4d1c 100644 --- a/ext/pocketmine/math/vector2.zep.c +++ b/ext/pocketmine/math/vector2.zep.c @@ -40,10 +40,10 @@ ZEPHIR_INIT_CLASS(Pocketmine_Math_Vector2) { ZEPHIR_REGISTER_CLASS(Pocketmine\\Math, Vector2, pocketmine, math_vector2, pocketmine_math_vector2_method_entry, 0); /** @var float */ - zend_declare_property_null(pocketmine_math_vector2_ce, SL("x"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_vector2_ce, SL("x"), ZEND_ACC_PUBLIC); /** @var float */ - zend_declare_property_null(pocketmine_math_vector2_ce, SL("y"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_math_vector2_ce, SL("y"), ZEND_ACC_PUBLIC); return SUCCESS; @@ -111,7 +111,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, getFloorX) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); - RETURN_LONG((int) zephir_floor(&_0 TSRMLS_CC)); + RETURN_LONG((int) zephir_floor(&_0)); } @@ -124,7 +124,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, getFloorY) { zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - RETURN_LONG((int) zephir_floor(&_0 TSRMLS_CC)); + RETURN_LONG((int) zephir_floor(&_0)); } @@ -162,7 +162,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, add) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce)) { ZEPHIR_OBS_VAR(&_0$$3); zephir_read_property(&_0$$3, x, SL("x"), PH_NOISY_CC); ZEPHIR_OBS_VAR(&_1$$3); @@ -217,20 +217,20 @@ PHP_METHOD(Pocketmine_Math_Vector2, subtract) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce)) { ZEPHIR_OBS_VAR(&_0$$3); zephir_read_property(&_0$$3, x, SL("x"), PH_NOISY_CC); - zephir_negate(&_0$$3 TSRMLS_CC); + zephir_negate(&_0$$3); ZEPHIR_OBS_VAR(&_1$$3); zephir_read_property(&_1$$3, x, SL("y"), PH_NOISY_CC); - zephir_negate(&_1$$3 TSRMLS_CC); + zephir_negate(&_1$$3); ZVAL_DOUBLE(&_2$$3, zephir_get_doubleval(&_0$$3)); ZVAL_DOUBLE(&_3$$3, zephir_get_doubleval(&_1$$3)); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "add", &_4, 0, &_2$$3, &_3$$3); zephir_check_call_status(); RETURN_MM(); } else { - zephir_negate(x TSRMLS_CC); + zephir_negate(x); ZVAL_DOUBLE(&_5$$4, -y); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "add", &_4, 7, x, &_5$$4); zephir_check_call_status(); @@ -256,8 +256,8 @@ PHP_METHOD(Pocketmine_Math_Vector2, ceil) { object_init_ex(return_value, pocketmine_math_vector2_ce); zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - ZVAL_LONG(&_2, (int) zephir_ceil(&_0 TSRMLS_CC)); - ZVAL_LONG(&_3, (int) zephir_ceil(&_1 TSRMLS_CC)); + ZVAL_LONG(&_2, (int) zephir_ceil(&_0)); + ZVAL_LONG(&_3, (int) zephir_ceil(&_1)); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 8, &_2, &_3); zephir_check_call_status(); RETURN_MM(); @@ -281,8 +281,8 @@ PHP_METHOD(Pocketmine_Math_Vector2, floor) { object_init_ex(return_value, pocketmine_math_vector2_ce); zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - ZVAL_LONG(&_2, (int) zephir_floor(&_0 TSRMLS_CC)); - ZVAL_LONG(&_3, (int) zephir_floor(&_1 TSRMLS_CC)); + ZVAL_LONG(&_2, (int) zephir_floor(&_0)); + ZVAL_LONG(&_3, (int) zephir_floor(&_1)); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 8, &_2, &_3); zephir_check_call_status(); RETURN_MM(); @@ -306,10 +306,10 @@ PHP_METHOD(Pocketmine_Math_Vector2, round) { object_init_ex(return_value, pocketmine_math_vector2_ce); ZEPHIR_INIT_VAR(&_0); zephir_read_property(&_1, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); - zephir_round(&_0, &_1, NULL, NULL TSRMLS_CC); + zephir_round(&_0, &_1, NULL, NULL); ZEPHIR_INIT_VAR(&_2); zephir_read_property(&_3, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - zephir_round(&_2, &_3, NULL, NULL TSRMLS_CC); + zephir_round(&_2, &_3, NULL, NULL); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 8, &_0, &_2); zephir_check_call_status(); RETURN_MM(); @@ -400,8 +400,8 @@ PHP_METHOD(Pocketmine_Math_Vector2, divide) { object_init_ex(return_value, pocketmine_math_vector2_ce); zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - ZVAL_DOUBLE(&_2, zephir_safe_div_zval_double(&_0, number TSRMLS_CC)); - ZVAL_DOUBLE(&_3, zephir_safe_div_zval_double(&_1, number TSRMLS_CC)); + ZVAL_DOUBLE(&_2, zephir_safe_div_zval_double(&_0, number)); + ZVAL_DOUBLE(&_3, zephir_safe_div_zval_double(&_1, number)); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 8, &_2, &_3); zephir_check_call_status(); RETURN_MM(); @@ -442,7 +442,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, distance) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce)) { ZEPHIR_OBS_VAR(&_1$$3); zephir_read_property(&_1$$3, x, SL("x"), PH_NOISY_CC); ZEPHIR_OBS_VAR(&_2$$3); @@ -451,12 +451,12 @@ PHP_METHOD(Pocketmine_Math_Vector2, distance) { ZVAL_DOUBLE(&_4$$3, zephir_get_doubleval(&_2$$3)); ZEPHIR_CALL_METHOD(&_0$$3, this_ptr, "distancesquared", &_5, 0, &_3$$3, &_4$$3); zephir_check_call_status(); - RETURN_MM_DOUBLE(zephir_sqrt(&_0$$3 TSRMLS_CC)); + RETURN_MM_DOUBLE(zephir_sqrt(&_0$$3)); } else { ZVAL_DOUBLE(&_7$$4, y); ZEPHIR_CALL_METHOD(&_6$$4, this_ptr, "distancesquared", &_5, 0, x, &_7$$4); zephir_check_call_status(); - RETURN_MM_DOUBLE(zephir_sqrt(&_6$$4 TSRMLS_CC)); + RETURN_MM_DOUBLE(zephir_sqrt(&_6$$4)); } } @@ -499,7 +499,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, distanceSquared) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce)) { ZEPHIR_OBS_VAR(&_0$$3); zephir_read_property(&_0$$3, x, SL("x"), PH_NOISY_CC); ZEPHIR_OBS_VAR(&_1$$3); @@ -539,7 +539,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, length) { ZEPHIR_CALL_METHOD(&_0, this_ptr, "lengthsquared", NULL, 0); zephir_check_call_status(); - RETURN_MM_DOUBLE(zephir_sqrt(&_0 TSRMLS_CC)); + RETURN_MM_DOUBLE(zephir_sqrt(&_0)); } @@ -559,11 +559,11 @@ PHP_METHOD(Pocketmine_Math_Vector2, lengthSquared) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); zephir_add_function(return_value, &_2, &_3); RETURN_MM(); @@ -586,7 +586,7 @@ PHP_METHOD(Pocketmine_Math_Vector2, normalize) { ZEPHIR_CALL_METHOD(&len, this_ptr, "lengthsquared", NULL, 0); zephir_check_call_status(); if (ZEPHIR_GT_LONG(&len, 0)) { - ZVAL_DOUBLE(&_0$$3, zephir_sqrt(&len TSRMLS_CC)); + ZVAL_DOUBLE(&_0$$3, zephir_sqrt(&len)); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "divide", NULL, 0, &_0$$3); zephir_check_call_status(); RETURN_MM(); @@ -620,11 +620,11 @@ PHP_METHOD(Pocketmine_Math_Vector2, dot) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); zephir_add_function(return_value, &_2, &_3); RETURN_MM(); diff --git a/ext/pocketmine/math/vector3.zep.c b/ext/pocketmine/math/vector3.zep.c index b8ac29d..be7497e 100644 --- a/ext/pocketmine/math/vector3.zep.c +++ b/ext/pocketmine/math/vector3.zep.c @@ -41,13 +41,13 @@ ZEPHIR_INIT_CLASS(Pocketmine_Math_Vector3) { ZEPHIR_REGISTER_CLASS(Pocketmine\\Math, Vector3, pocketmine, math_vector3, pocketmine_math_vector3_method_entry, 0); /** @var float|int */ - zend_declare_property_double(pocketmine_math_vector3_ce, SL("x"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_vector3_ce, SL("x"), 0.0, ZEND_ACC_PUBLIC); /** @var float|int */ - zend_declare_property_double(pocketmine_math_vector3_ce, SL("y"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_vector3_ce, SL("y"), 0.0, ZEND_ACC_PUBLIC); /** @var float|int */ - zend_declare_property_double(pocketmine_math_vector3_ce, SL("z"), 0.0, ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_double(pocketmine_math_vector3_ce, SL("z"), 0.0, ZEND_ACC_PUBLIC); return SUCCESS; @@ -143,7 +143,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, getFloorX) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); - RETURN_LONG((int) zephir_floor(&_0 TSRMLS_CC)); + RETURN_LONG((int) zephir_floor(&_0)); } @@ -156,7 +156,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, getFloorY) { zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - RETURN_LONG((int) zephir_floor(&_0 TSRMLS_CC)); + RETURN_LONG((int) zephir_floor(&_0)); } @@ -169,7 +169,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, getFloorZ) { zephir_read_property(&_0, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); - RETURN_LONG((int) zephir_floor(&_0 TSRMLS_CC)); + RETURN_LONG((int) zephir_floor(&_0)); } @@ -216,7 +216,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, add) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector3_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector3_ce)) { object_init_ex(return_value, pocketmine_math_vector3_ce); zephir_read_property(&_0$$3, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1$$3, x, SL("x"), PH_NOISY_CC | PH_READONLY); @@ -293,23 +293,23 @@ PHP_METHOD(Pocketmine_Math_Vector3, subtract) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector3_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector3_ce)) { ZEPHIR_OBS_VAR(&_0$$3); zephir_read_property(&_0$$3, x, SL("x"), PH_NOISY_CC); - zephir_negate(&_0$$3 TSRMLS_CC); + zephir_negate(&_0$$3); ZEPHIR_OBS_VAR(&_1$$3); zephir_read_property(&_1$$3, x, SL("y"), PH_NOISY_CC); - zephir_negate(&_1$$3 TSRMLS_CC); + zephir_negate(&_1$$3); ZEPHIR_OBS_VAR(&_2$$3); zephir_read_property(&_2$$3, x, SL("z"), PH_NOISY_CC); - zephir_negate(&_2$$3 TSRMLS_CC); + zephir_negate(&_2$$3); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "add", &_3, 0, &_0$$3, &_1$$3, &_2$$3); zephir_check_call_status(); RETURN_MM(); } else { - zephir_negate(x TSRMLS_CC); - zephir_negate(y TSRMLS_CC); - zephir_negate(z TSRMLS_CC); + zephir_negate(x); + zephir_negate(y); + zephir_negate(z); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "add", &_3, 0, x, y, z); zephir_check_call_status(); RETURN_MM(); @@ -376,9 +376,9 @@ PHP_METHOD(Pocketmine_Math_Vector3, divide) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_2, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); - ZVAL_DOUBLE(&_3, zephir_safe_div_zval_double(&_0, number TSRMLS_CC)); - ZVAL_DOUBLE(&_4, zephir_safe_div_zval_double(&_1, number TSRMLS_CC)); - ZVAL_DOUBLE(&_5, zephir_safe_div_zval_double(&_2, number TSRMLS_CC)); + ZVAL_DOUBLE(&_3, zephir_safe_div_zval_double(&_0, number)); + ZVAL_DOUBLE(&_4, zephir_safe_div_zval_double(&_1, number)); + ZVAL_DOUBLE(&_5, zephir_safe_div_zval_double(&_2, number)); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 11, &_3, &_4, &_5); zephir_check_call_status(); RETURN_MM(); @@ -405,9 +405,9 @@ PHP_METHOD(Pocketmine_Math_Vector3, ceil) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_2, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); - ZVAL_LONG(&_3, (int) zephir_ceil(&_0 TSRMLS_CC)); - ZVAL_LONG(&_4, (int) zephir_ceil(&_1 TSRMLS_CC)); - ZVAL_LONG(&_5, (int) zephir_ceil(&_2 TSRMLS_CC)); + ZVAL_LONG(&_3, (int) zephir_ceil(&_0)); + ZVAL_LONG(&_4, (int) zephir_ceil(&_1)); + ZVAL_LONG(&_5, (int) zephir_ceil(&_2)); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 11, &_3, &_4, &_5); zephir_check_call_status(); RETURN_MM(); @@ -434,9 +434,9 @@ PHP_METHOD(Pocketmine_Math_Vector3, floor) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_2, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); - ZVAL_LONG(&_3, (int) zephir_floor(&_0 TSRMLS_CC)); - ZVAL_LONG(&_4, (int) zephir_floor(&_1 TSRMLS_CC)); - ZVAL_LONG(&_5, (int) zephir_floor(&_2 TSRMLS_CC)); + ZVAL_LONG(&_3, (int) zephir_floor(&_0)); + ZVAL_LONG(&_4, (int) zephir_floor(&_1)); + ZVAL_LONG(&_5, (int) zephir_floor(&_2)); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 11, &_3, &_4, &_5); zephir_check_call_status(); RETURN_MM(); @@ -501,17 +501,17 @@ PHP_METHOD(Pocketmine_Math_Vector3, round) { zephir_read_property(&_2, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_3, precision); ZVAL_LONG(&_4, mode); - zephir_round(&_1, &_2, &_3, &_4 TSRMLS_CC); + zephir_round(&_1, &_2, &_3, &_4); ZEPHIR_INIT_VAR(&_5); zephir_read_property(&_6, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_7, precision); ZVAL_LONG(&_8, mode); - zephir_round(&_5, &_6, &_7, &_8 TSRMLS_CC); + zephir_round(&_5, &_6, &_7, &_8); ZEPHIR_INIT_VAR(&_9); zephir_read_property(&_10, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_11, precision); ZVAL_LONG(&_12, mode); - zephir_round(&_9, &_10, &_11, &_12 TSRMLS_CC); + zephir_round(&_9, &_10, &_11, &_12); ZEPHIR_CALL_METHOD(NULL, &_0, "__construct", NULL, 11, &_1, &_5, &_9); zephir_check_call_status(); } else { @@ -520,17 +520,17 @@ PHP_METHOD(Pocketmine_Math_Vector3, round) { zephir_read_property(&_14, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_15, precision); ZVAL_LONG(&_16, mode); - zephir_round(&_13, &_14, &_15, &_16 TSRMLS_CC); + zephir_round(&_13, &_14, &_15, &_16); ZEPHIR_INIT_VAR(&_17); zephir_read_property(&_18, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_19, precision); ZVAL_LONG(&_20, mode); - zephir_round(&_17, &_18, &_19, &_20 TSRMLS_CC); + zephir_round(&_17, &_18, &_19, &_20); ZEPHIR_INIT_VAR(&_21); zephir_read_property(&_22, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_23, precision); ZVAL_LONG(&_24, mode); - zephir_round(&_21, &_22, &_23, &_24 TSRMLS_CC); + zephir_round(&_21, &_22, &_23, &_24); ZVAL_LONG(&_25, zephir_get_intval(&_13)); ZVAL_LONG(&_26, zephir_get_intval(&_17)); ZVAL_LONG(&_27, zephir_get_intval(&_21)); @@ -1138,7 +1138,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, distance) { ZEPHIR_CALL_METHOD(&_0, this_ptr, "distancesquared", NULL, 0, pos); zephir_check_call_status(); - RETURN_MM_DOUBLE(zephir_sqrt(&_0 TSRMLS_CC)); + RETURN_MM_DOUBLE(zephir_sqrt(&_0)); } @@ -1228,13 +1228,13 @@ PHP_METHOD(Pocketmine_Math_Vector3, maxPlainDistance) { } - if (zephir_instance_of_ev(x, pocketmine_math_vector3_ce TSRMLS_CC)) { + if (zephir_instance_of_ev(x, pocketmine_math_vector3_ce)) { zephir_read_property(&_0$$3, x, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1$$3, x, SL("z"), PH_NOISY_CC | PH_READONLY); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "maxplaindistance", NULL, 14, &_0$$3, &_1$$3); zephir_check_call_status(); RETURN_MM(); - } else if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce TSRMLS_CC)) { + } else if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce)) { zephir_read_property(&_2$$4, x, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_3$$4, x, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "maxplaindistance", NULL, 14, &_2$$4, &_3$$4); @@ -1271,7 +1271,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, length) { ZEPHIR_CALL_METHOD(&_0, this_ptr, "lengthsquared", NULL, 0); zephir_check_call_status(); - RETURN_MM_DOUBLE(zephir_sqrt(&_0 TSRMLS_CC)); + RETURN_MM_DOUBLE(zephir_sqrt(&_0)); } @@ -1292,17 +1292,17 @@ PHP_METHOD(Pocketmine_Math_Vector3, lengthSquared) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); ZEPHIR_INIT_VAR(&_4); zephir_add_function(&_4, &_2, &_3); zephir_read_property(&_0, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_add_function(return_value, &_4, &_2); RETURN_MM(); @@ -1329,7 +1329,7 @@ PHP_METHOD(Pocketmine_Math_Vector3, normalize) { ZEPHIR_CALL_METHOD(&len, this_ptr, "lengthsquared", NULL, 0); zephir_check_call_status(); if (ZEPHIR_GT_LONG(&len, 0)) { - ZVAL_DOUBLE(&_0$$3, zephir_sqrt(&len TSRMLS_CC)); + ZVAL_DOUBLE(&_0$$3, zephir_sqrt(&len)); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "divide", NULL, 0, &_0$$3); zephir_check_call_status(); RETURN_MM(); @@ -1365,17 +1365,17 @@ PHP_METHOD(Pocketmine_Math_Vector3, dot) { zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); ZEPHIR_INIT_VAR(&_4); zephir_add_function(&_4, &_2, &_3); zephir_read_property(&_0, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("z"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_add_function(return_value, &_4, &_2); RETURN_MM(); @@ -1406,31 +1406,31 @@ PHP_METHOD(Pocketmine_Math_Vector3, cross) { zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("z"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_VAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); ZEPHIR_INIT_VAR(&_4); zephir_sub_function(&_4, &_2, &_3); zephir_read_property(&_0, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("z"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); ZEPHIR_INIT_VAR(&_5); zephir_sub_function(&_5, &_2, &_3); zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_2); - mul_function(&_2, &_0, &_1 TSRMLS_CC); + mul_function(&_2, &_0, &_1); zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, v, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&_3); - mul_function(&_3, &_0, &_1 TSRMLS_CC); + mul_function(&_3, &_0, &_1); ZEPHIR_INIT_VAR(&_6); zephir_sub_function(&_6, &_2, &_3); ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 11, &_4, &_5, &_6); @@ -1517,12 +1517,12 @@ PHP_METHOD(Pocketmine_Math_Vector3, getIntermediateWithXValue) { ZEPHIR_INIT_VAR(&xDiff); zephir_sub_function(&xDiff, &_0, &_1); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &xDiff, &xDiff TSRMLS_CC); + mul_function(&_2, &xDiff, &xDiff); if (ZEPHIR_LT_LONG(&_2, 0.0000001)) { RETURN_MM_NULL(); } zephir_read_property(&_0, this_ptr, SL("x"), PH_NOISY_CC | PH_READONLY); - f = zephir_safe_div_long_zval(((x - zephir_get_numberval(&_0))), &xDiff TSRMLS_CC); + f = zephir_safe_div_long_zval(((x - zephir_get_numberval(&_0))), &xDiff); _3 = f < 0; if (!(_3)) { _3 = f > 1; @@ -1593,12 +1593,12 @@ PHP_METHOD(Pocketmine_Math_Vector3, getIntermediateWithYValue) { ZEPHIR_INIT_VAR(&yDiff); zephir_sub_function(&yDiff, &_0, &_1); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &yDiff, &yDiff TSRMLS_CC); + mul_function(&_2, &yDiff, &yDiff); if (ZEPHIR_LT_LONG(&_2, 0.0000001)) { RETURN_MM_NULL(); } zephir_read_property(&_0, this_ptr, SL("y"), PH_NOISY_CC | PH_READONLY); - f = zephir_safe_div_long_zval(((y - zephir_get_numberval(&_0))), &yDiff TSRMLS_CC); + f = zephir_safe_div_long_zval(((y - zephir_get_numberval(&_0))), &yDiff); _3 = f < 0; if (!(_3)) { _3 = f > 1; @@ -1669,12 +1669,12 @@ PHP_METHOD(Pocketmine_Math_Vector3, getIntermediateWithZValue) { ZEPHIR_INIT_VAR(&zDiff); zephir_sub_function(&zDiff, &_0, &_1); ZEPHIR_INIT_VAR(&_2); - mul_function(&_2, &zDiff, &zDiff TSRMLS_CC); + mul_function(&_2, &zDiff, &zDiff); if (ZEPHIR_LT_LONG(&_2, 0.0000001)) { RETURN_MM_NULL(); } zephir_read_property(&_0, this_ptr, SL("z"), PH_NOISY_CC | PH_READONLY); - f = zephir_safe_div_long_zval(((z - zephir_get_numberval(&_0))), &zDiff TSRMLS_CC); + f = zephir_safe_div_long_zval(((z - zephir_get_numberval(&_0))), &zDiff); _3 = f < 0; if (!(_3)) { _3 = f > 1; diff --git a/ext/pocketmine/math/voxelraytrace.zep.c b/ext/pocketmine/math/voxelraytrace.zep.c index b29a5ee..40283c0 100644 --- a/ext/pocketmine/math/voxelraytrace.zep.c +++ b/ext/pocketmine/math/voxelraytrace.zep.c @@ -214,7 +214,7 @@ PHP_METHOD(Pocketmine_Math_VoxelRayTrace, betweenPoints) { } else { zephir_read_property(&_14, &directionVector, SL("x"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&tDeltaX); - div_function(&tDeltaX, &stepX, &_14 TSRMLS_CC); + div_function(&tDeltaX, &stepX, &_14); } zephir_read_property(&_14, &directionVector, SL("y"), PH_NOISY_CC | PH_READONLY); if (ZEPHIR_IS_LONG(&_14, 0)) { @@ -223,7 +223,7 @@ PHP_METHOD(Pocketmine_Math_VoxelRayTrace, betweenPoints) { } else { zephir_read_property(&_15, &directionVector, SL("y"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&tDeltaY); - div_function(&tDeltaY, &stepY, &_15 TSRMLS_CC); + div_function(&tDeltaY, &stepY, &_15); } zephir_read_property(&_15, &directionVector, SL("z"), PH_NOISY_CC | PH_READONLY); if (ZEPHIR_IS_LONG(&_15, 0)) { @@ -232,7 +232,7 @@ PHP_METHOD(Pocketmine_Math_VoxelRayTrace, betweenPoints) { } else { zephir_read_property(&_16, &directionVector, SL("z"), PH_NOISY_CC | PH_READONLY); ZEPHIR_INIT_NVAR(&tDeltaZ); - div_function(&tDeltaZ, &stepZ, &_16 TSRMLS_CC); + div_function(&tDeltaZ, &stepZ, &_16); } ZEPHIR_INIT_VAR(&temp); array_init(&temp); @@ -311,12 +311,12 @@ PHP_METHOD(Pocketmine_Math_VoxelRayTrace, rayTraceDistanceToBoundary) { s = -s; ds = -ds; ZVAL_DOUBLE(&_0$$4, s); - if (zephir_floor(&_0$$4 TSRMLS_CC) == s) { + if (zephir_floor(&_0$$4) == s) { RETURN_DOUBLE(0.0); } } ZVAL_DOUBLE(&_1, s); - RETURN_DOUBLE(zephir_safe_div_double_double((((double) 1 - ((s - zephir_floor(&_1 TSRMLS_CC))))), ds TSRMLS_CC)); + RETURN_DOUBLE(zephir_safe_div_double_double((((double) 1 - ((s - zephir_floor(&_1))))), ds)); } diff --git a/ext/pocketmine/utils/binary.zep.c b/ext/pocketmine/utils/binary.zep.c index ee5d9e0..a5d6132 100644 --- a/ext/pocketmine/utils/binary.zep.c +++ b/ext/pocketmine/utils/binary.zep.c @@ -421,7 +421,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readShort) { ZVAL_STRING(&_0, "n"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 146 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 146); RETURN_CTOR(&_2); } @@ -456,7 +456,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readSignedShort) { ZVAL_STRING(&_0, "n"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 158 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 158); ZEPHIR_RETURN_CALL_SELF("signshort", NULL, 0, &_2); zephir_check_call_status(); RETURN_MM(); @@ -525,7 +525,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLShort) { ZVAL_STRING(&_0, "v"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 182 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 182); RETURN_CTOR(&_2); } @@ -560,7 +560,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readSignedLShort) { ZVAL_STRING(&_0, "v"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 194 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 194); ZEPHIR_RETURN_CALL_SELF("signshort", NULL, 0, &_2); zephir_check_call_status(); RETURN_MM(); @@ -637,7 +637,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readTriad) { ZVAL_STRING(&_0, "N"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_0, &_2); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 218 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 218); RETURN_CTOR(&_4); } @@ -715,7 +715,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLTriad) { ZVAL_STRING(&_0, "V"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_0, &_2); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 242 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 242); RETURN_CTOR(&_4); } @@ -788,7 +788,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readInt) { ZVAL_STRING(&_0, "N"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 266 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 266); ZEPHIR_RETURN_CALL_SELF("signint", NULL, 0, &_2); zephir_check_call_status(); RETURN_MM(); @@ -858,7 +858,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLInt) { ZVAL_STRING(&_0, "V"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 290 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 290); ZEPHIR_RETURN_CALL_SELF("signint", NULL, 0, &_2); zephir_check_call_status(); RETURN_MM(); @@ -928,7 +928,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readFloat) { ZVAL_STRING(&_0, "G"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 314 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 314); RETURN_CTOR(&_2); } @@ -963,7 +963,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readRoundedFloat) { ZEPHIR_CALL_SELF(&_0, "readfloat", NULL, 0, &str); zephir_check_call_status(); ZVAL_LONG(&_1, accuracy); - zephir_round(return_value, &_0, &_1, NULL TSRMLS_CC); + zephir_round(return_value, &_0, &_1, NULL); RETURN_MM(); } @@ -1031,7 +1031,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLFloat) { ZVAL_STRING(&_0, "g"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 351 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 351); RETURN_CTOR(&_2); } @@ -1066,7 +1066,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readRoundedLFloat) { ZEPHIR_CALL_SELF(&_0, "readlfloat", NULL, 0, &str); zephir_check_call_status(); ZVAL_LONG(&_1, accuracy); - zephir_round(return_value, &_0, &_1, NULL TSRMLS_CC); + zephir_round(return_value, &_0, &_1, NULL); RETURN_MM(); } @@ -1175,7 +1175,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readDouble) { ZVAL_STRING(&_0, "E"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 400 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 400); RETURN_CTOR(&_2); } @@ -1243,7 +1243,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLDouble) { ZVAL_STRING(&_0, "e"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 424 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 424); RETURN_CTOR(&_2); } @@ -1311,7 +1311,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLong) { ZVAL_STRING(&_0, "J"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 448 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 448); RETURN_CTOR(&_2); } @@ -1378,7 +1378,7 @@ PHP_METHOD(Pocketmine_Utils_Binary, readLLong) { ZVAL_STRING(&_0, "P"); ZEPHIR_CALL_FUNCTION(&_1, "unpack", NULL, 20, &_0, &str); zephir_check_call_status(); - zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 472 TSRMLS_CC); + zephir_array_fetch_long(&_2, &_1, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binary.zep", 472); RETURN_CTOR(&_2); } @@ -1597,12 +1597,12 @@ PHP_METHOD(Pocketmine_Utils_Binary, writeUnsignedVarInt) { ZVAL_LONG(&_3$$4, (value | 0x80)); ZEPHIR_CALL_FUNCTION(&_4$$4, "chr", &_5, 18, &_3$$4); zephir_check_call_status(); - zephir_concat_self(&buf, &_4$$4 TSRMLS_CC); + zephir_concat_self(&buf, &_4$$4); } else { ZVAL_LONG(&_6$$5, (value & 0x7f)); ZEPHIR_CALL_FUNCTION(&_7$$5, "chr", &_5, 18, &_6$$5); zephir_check_call_status(); - zephir_concat_self(&buf, &_7$$5 TSRMLS_CC); + zephir_concat_self(&buf, &_7$$5); RETURN_CTOR(&buf); } ZEPHIR_INIT_NVAR(&_8$$3); @@ -1796,12 +1796,12 @@ PHP_METHOD(Pocketmine_Utils_Binary, writeUnsignedVarLong) { ZVAL_LONG(&_3$$4, (value | 0x80)); ZEPHIR_CALL_FUNCTION(&_4$$4, "chr", &_5, 18, &_3$$4); zephir_check_call_status(); - zephir_concat_self(&buf, &_4$$4 TSRMLS_CC); + zephir_concat_self(&buf, &_4$$4); } else { ZVAL_LONG(&_6$$5, (value & 0x7f)); ZEPHIR_CALL_FUNCTION(&_7$$5, "chr", &_5, 18, &_6$$5); zephir_check_call_status(); - zephir_concat_self(&buf, &_7$$5 TSRMLS_CC); + zephir_concat_self(&buf, &_7$$5); RETURN_CTOR(&buf); } ZEPHIR_INIT_NVAR(&_8$$3); diff --git a/ext/pocketmine/utils/binarystream.zep.c b/ext/pocketmine/utils/binarystream.zep.c index 74761cd..243bef2 100644 --- a/ext/pocketmine/utils/binarystream.zep.c +++ b/ext/pocketmine/utils/binarystream.zep.c @@ -45,10 +45,10 @@ ZEPHIR_INIT_CLASS(Pocketmine_Utils_BinaryStream) { ZEPHIR_REGISTER_CLASS(Pocketmine\\Utils, BinaryStream, pocketmine, utils_binarystream, pocketmine_utils_binarystream_method_entry, 0); /** @var long */ - zend_declare_property_null(pocketmine_utils_binarystream_ce, SL("offset"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_utils_binarystream_ce, SL("offset"), ZEND_ACC_PUBLIC); /** @var string */ - zend_declare_property_null(pocketmine_utils_binarystream_ce, SL("buffer"), ZEND_ACC_PUBLIC TSRMLS_CC); + zend_declare_property_null(pocketmine_utils_binarystream_ce, SL("buffer"), ZEND_ACC_PUBLIC); return SUCCESS; @@ -261,12 +261,12 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, get) { ZEPHIR_CONCAT_SVSV(&_4$$5, "Not enough bytes left in buffer: need ", &_3$$5, ", have ", &remaining); ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 25, &_4$$5); zephir_check_call_status(); - zephir_throw_exception_debug(&_2$$5, "pocketmine/utils/binarystream.zep", 79 TSRMLS_CC); + zephir_throw_exception_debug(&_2$$5, "pocketmine/utils/binarystream.zep", 79); ZEPHIR_MM_RESTORE(); return; } if (len == 1) { - RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("offset") TSRMLS_CC)); + RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("offset"))); zephir_read_property(&_5$$6, this_ptr, SL("buffer"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_6$$6, this_ptr, SL("offset"), PH_NOISY_CC | PH_READONLY); ZVAL_LONG(&_7$$6, (zephir_get_numberval(&_6$$6) - 1)); @@ -471,7 +471,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getShort) { ZVAL_STRING(&_2, "n"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 130 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 130); RETURN_CTOR(&_4); } @@ -499,7 +499,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getSignedShort) { ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); ZEPHIR_OBS_VAR(&temp); - zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 135 TSRMLS_CC); + zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 135); RETURN_MM_LONG((((zephir_get_intval(&temp) << 48)) >> 48)); } @@ -558,7 +558,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getLShort) { ZVAL_STRING(&_2, "v"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 146 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 146); RETURN_CTOR(&_4); } @@ -586,7 +586,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getSignedLShort) { ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); ZEPHIR_OBS_VAR(&temp); - zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 151 TSRMLS_CC); + zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 151); RETURN_MM_LONG((((zephir_get_intval(&temp) << 48)) >> 48)); } @@ -653,7 +653,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getTriad) { ZVAL_STRING(&_0, "N"); ZEPHIR_CALL_FUNCTION(&_5, "unpack", NULL, 20, &_0, &_4); zephir_check_call_status(); - zephir_array_fetch_long(&_6, &_5, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 162 TSRMLS_CC); + zephir_array_fetch_long(&_6, &_5, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 162); RETURN_CTOR(&_6); } @@ -724,7 +724,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getLTriad) { ZVAL_STRING(&_2, "V"); ZEPHIR_CALL_FUNCTION(&_5, "unpack", NULL, 20, &_2, &_4); zephir_check_call_status(); - zephir_array_fetch_long(&_6, &_5, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 172 TSRMLS_CC); + zephir_array_fetch_long(&_6, &_5, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 172); RETURN_CTOR(&_6); } @@ -790,7 +790,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getInt) { ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); ZEPHIR_OBS_VAR(&temp); - zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 182 TSRMLS_CC); + zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 182); RETURN_MM_LONG((((zephir_get_intval(&temp) << 48)) >> 48)); } @@ -850,7 +850,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getLInt) { ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); ZEPHIR_OBS_VAR(&temp); - zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 193 TSRMLS_CC); + zephir_array_fetch_long(&temp, &_3, 1, PH_NOISY, "pocketmine/utils/binarystream.zep", 193); RETURN_MM_LONG((((zephir_get_intval(&temp) << 48)) >> 48)); } @@ -910,7 +910,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getFloat) { ZVAL_STRING(&_2, "G"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 204 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 204); RETURN_CTOR(&_4); } @@ -941,9 +941,9 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getRoundedFloat) { ZVAL_STRING(&_2, "G"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 209 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 209); ZVAL_LONG(&_1, accuracy); - zephir_round(return_value, &_4, &_1, NULL TSRMLS_CC); + zephir_round(return_value, &_4, &_1, NULL); RETURN_MM(); } @@ -1003,7 +1003,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getLFloat) { ZVAL_STRING(&_2, "g"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 219 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 219); RETURN_CTOR(&_4); } @@ -1034,9 +1034,9 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getRoundedLFloat) { ZVAL_STRING(&_2, "g"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 224 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 224); ZVAL_LONG(&_1, accuracy); - zephir_round(return_value, &_4, &_1, NULL TSRMLS_CC); + zephir_round(return_value, &_4, &_1, NULL); RETURN_MM(); } @@ -1096,7 +1096,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getDouble) { ZVAL_STRING(&_2, "E"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 234 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 234); RETURN_CTOR(&_4); } @@ -1156,7 +1156,7 @@ PHP_METHOD(Pocketmine_Utils_BinaryStream, getLDouble) { ZVAL_STRING(&_2, "e"); ZEPHIR_CALL_FUNCTION(&_3, "unpack", NULL, 20, &_2, &_0); zephir_check_call_status(); - zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 244 TSRMLS_CC); + zephir_array_fetch_long(&_4, &_3, 1, PH_NOISY | PH_READONLY, "pocketmine/utils/binarystream.zep", 244); RETURN_CTOR(&_4); } diff --git a/ext/rapidpm.c b/ext/rapidpm.c index d6b58d3..e487fe2 100644 --- a/ext/rapidpm.c +++ b/ext/rapidpm.c @@ -108,8 +108,8 @@ static PHP_RINIT_FUNCTION(rapidpm) #endif rapidpm_globals_ptr = ZEPHIR_VGLOBAL; - php_zephir_init_globals(rapidpm_globals_ptr TSRMLS_CC); - zephir_initialize_memory(rapidpm_globals_ptr TSRMLS_CC); + php_zephir_init_globals(rapidpm_globals_ptr); + zephir_initialize_memory(rapidpm_globals_ptr); zephir_init_static_properties_Pocketmine_Math_Facing(TSRMLS_C); @@ -144,8 +144,8 @@ static PHP_MINFO_FUNCTION(rapidpm) static PHP_GINIT_FUNCTION(rapidpm) { - php_zephir_init_globals(rapidpm_globals TSRMLS_CC); - php_zephir_init_module_globals(rapidpm_globals TSRMLS_CC); + php_zephir_init_globals(rapidpm_globals); + php_zephir_init_module_globals(rapidpm_globals); } static PHP_GSHUTDOWN_FUNCTION(rapidpm) diff --git a/ide/0.0.5/Pocketmine/math/AxisAlignedBB.zep.php b/ide/0.0.5/Pocketmine/math/AxisAlignedBB.zep.php index 81b7054..3c8c64c 100644 --- a/ide/0.0.5/Pocketmine/math/AxisAlignedBB.zep.php +++ b/ide/0.0.5/Pocketmine/math/AxisAlignedBB.zep.php @@ -57,7 +57,9 @@ class AxisAlignedBB * @param double $maxY * @param double $maxZ */ - public function __construct(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ) {} + public function __construct(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ) + { + } /** * @param double $minX @@ -67,241 +69,272 @@ public function __construct(float $minX, float $minY, float $minZ, float $maxX, * @param double $maxY * @param double $maxZ */ - public function setBounds(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ) {} + public function setBounds(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ) + { + } /** * Sets the bounding box's bounds from another AxisAlignedBB, and returns itself * * @param AxisAlignedBB $bb + * @return $this * @return AxisAlignedBB */ - public function setBB(AxisAlignedBB $bb): AxisAlignedBB {} + public function setBB(AxisAlignedBB $bb): AxisAlignedBB + { + } /** * Returns a new AxisAlignedBB extended by the specified X, Y and Z. * If each of X, Y and Z are positive, the relevant max bound will be increased. If negative, the relevant min * bound will be decreased. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return AxisAlignedBB */ - public function addCoord(float $x, float $y, float $z): AxisAlignedBB {} + public function addCoord(float $x, float $y, float $z): AxisAlignedBB + { + } /** * Outsets the bounds of this AxisAlignedBB by the specified X, Y and Z. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return $this */ - public function expand(float $x, float $y, float $z) {} + public function expand(float $x, float $y, float $z) + { + } /** * Returns an expanded clone of this AxisAlignedBB. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return AxisAlignedBB */ - public function expandedCopy(float $x, float $y, float $z): AxisAlignedBB {} + public function expandedCopy(float $x, float $y, float $z): AxisAlignedBB + { + } /** * Shifts this AxisAlignedBB by the given X, Y and Z. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return $this */ - public function offset(float $x, float $y, float $z) {} + public function offset(float $x, float $y, float $z) + { + } /** * Returns an offset clone of this AxisAlignedBB. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return AxisAlignedBB */ - public function offsetCopy(float $x, float $y, float $z): AxisAlignedBB {} + public function offsetCopy(float $x, float $y, float $z): AxisAlignedBB + { + } /** * Insets the bounds of this AxisAlignedBB by the specified X, Y and Z. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return $this */ - public function contract(float $x, float $y, float $z) {} + public function contract(float $x, float $y, float $z) + { + } /** * Returns a contracted clone of this AxisAlignedBB. * - * @param float $z - * * @param float $x * @param float $y - * @param double $z + * @param float $z + * * @return AxisAlignedBB */ - public function contractedCopy(float $x, float $y, float $z): AxisAlignedBB {} + public function contractedCopy(float $x, float $y, float $z): AxisAlignedBB + { + } /** * Extends the AABB in the given direction. * + * @param int $face * @param float $distance Negative values pull the face in, positive values push out. * + * @return $this * @throws \InvalidArgumentException - * @param int $face - * @param double $distance * @return AxisAlignedBB */ - public function extend(int $face, float $distance): AxisAlignedBB {} + public function extend(int $face, float $distance): AxisAlignedBB + { + } /** * Returns an extended clone of this bounding box. * * @see AxisAlignedBB::extend() * + * @param int $face * @param float $distance * - * @throws \InvalidArgumentException - * @param int $face - * @param double $distance * @return AxisAlignedBB + * @throws \InvalidArgumentException */ - public function extendedCopy(int $face, float $distance): AxisAlignedBB {} + public function extendedCopy(int $face, float $distance): AxisAlignedBB + { + } /** * Inverse of extend(). * * @see AxisAlignedBB::extend() * + * @param int $face * @param float $distance Positive values pull the face in, negative values push out. * + * @return $this * @throws \InvalidArgumentException - * @param int $face - * @param double $distance * @return AxisAlignedBB */ - public function trim(int $face, float $distance): AxisAlignedBB {} + public function trim(int $face, float $distance): AxisAlignedBB + { + } /** * Returns a trimmed clone of this bounding box. * * @see AxisAlignedBB::trim() * + * @param int $face * @param float $distance * - * @throws \InvalidArgumentException - * @param int $face - * @param double $distance * @return AxisAlignedBB + * @throws \InvalidArgumentException */ - public function trimmedCopy(int $face, float $distance): AxisAlignedBB {} + public function trimmedCopy(int $face, float $distance): AxisAlignedBB + { + } /** * Increases the dimension of the AABB along the given axis. * + * @param int $axis one of the Facing::AXIS_* constants * @param float $distance Negative values reduce width, positive values increase width. * + * @return $this * @throws \InvalidArgumentException - * @param int $axis one of the Facing::AXIS_* constants - * @param double $distance * @return AxisAlignedBB */ - public function stretch(int $axis, float $distance): AxisAlignedBB {} + public function stretch(int $axis, float $distance): AxisAlignedBB + { + } /** * Returns a stretched copy of this bounding box. * * @see AxisAlignedBB::stretch() * + * @param int $axis * @param float $distance * - * @throws \InvalidArgumentException - * @param int $axis - * @param double $distance * @return AxisAlignedBB + * @throws \InvalidArgumentException */ - public function stretchedCopy(int $axis, float $distance): AxisAlignedBB {} + public function stretchedCopy(int $axis, float $distance): AxisAlignedBB + { + } /** * Reduces the dimension of the AABB on the given axis. Inverse of stretch(). * * @see AxisAlignedBB::stretch() * + * @param int $axis * @param float $distance * + * @return $this * @throws \InvalidArgumentException - * @param int $axis - * @param double $distance * @return AxisAlignedBB */ - public function squash(int $axis, float $distance): AxisAlignedBB {} + public function squash(int $axis, float $distance): AxisAlignedBB + { + } /** * Returns a squashed copy of this bounding box. * * @see AxisAlignedBB::squash() * + * @param int $axis * @param float $distance * - * @throws \InvalidArgumentException - * @param int $axis - * @param double $distance * @return AxisAlignedBB + * @throws \InvalidArgumentException */ - public function squashedCopy(int $axis, float $distance): AxisAlignedBB {} + public function squashedCopy(int $axis, float $distance): AxisAlignedBB + { + } /** * @param AxisAlignedBB $bb * @param double $x * @return double */ - public function calculateXOffset(AxisAlignedBB $bb, float $x): float {} + public function calculateXOffset(AxisAlignedBB $bb, float $x): float + { + } /** * @param AxisAlignedBB $bb * @param double $y * @return double */ - public function calculateYOffset(AxisAlignedBB $bb, float $y): float {} + public function calculateYOffset(AxisAlignedBB $bb, float $y): float + { + } /** * @param AxisAlignedBB $bb * @param double $z * @return double */ - public function calculateZOffset(AxisAlignedBB $bb, float $z): float {} + public function calculateZOffset(AxisAlignedBB $bb, float $z): float + { + } /** * Returns whether any part of the specified AABB is inside (intersects with) this one. * + * @param AxisAlignedBB $bb * @param float $epsilon * - * @param AxisAlignedBB $bb - * @param double $epsilon * @return bool */ - public function intersectsWith(AxisAlignedBB $bb, float $epsilon = 0.00001): bool {} + public function intersectsWith(AxisAlignedBB $bb, float $epsilon = 0.00001): bool + { + } /** * Returns whether the specified vector is within the bounds of this AABB on all axes. @@ -309,21 +342,27 @@ public function intersectsWith(AxisAlignedBB $bb, float $epsilon = 0.00001): boo * @param Vector3 $vector * @return bool */ - public function isVectorInside(Vector3 $vector): bool {} + public function isVectorInside(Vector3 $vector): bool + { + } /** * Returns the mean average of the AABB's X, Y and Z lengths. * - * @return double + * @return float */ - public function getAverageEdgeLength(): float {} + public function getAverageEdgeLength(): float + { + } /** * Returns the interior volume of the AABB. * - * @return double + * @return float */ - public function getVolume(): float {} + public function getVolume(): float + { + } /** * Returns whether the specified vector is within the Y and Z bounds of this AABB. @@ -331,7 +370,9 @@ public function getVolume(): float {} * @param Vector3 $vector * @return bool */ - public function isVectorInYZ(Vector3 $vector): bool {} + public function isVectorInYZ(Vector3 $vector): bool + { + } /** * Returns whether the specified vector is within the X and Z bounds of this AABB. @@ -339,7 +380,9 @@ public function isVectorInYZ(Vector3 $vector): bool {} * @param Vector3 $vector * @return bool */ - public function isVectorInXZ(Vector3 $vector): bool {} + public function isVectorInXZ(Vector3 $vector): bool + { + } /** * Returns whether the specified vector is within the X and Y bounds of this AABB. @@ -347,29 +390,36 @@ public function isVectorInXZ(Vector3 $vector): bool {} * @param Vector3 $vector * @return bool */ - public function isVectorInXY(Vector3 $vector): bool {} + public function isVectorInXY(Vector3 $vector): bool + { + } /** * Performs a ray-trace and calculates the point on the AABB's edge nearest the start position that the ray-trace * collided with. Returns a RayTraceResult with colliding vector closest to the start position. * Returns null if no colliding point was found. * - * @param Vector3 $pos2 - * * @param Vector3 $pos1 * @param Vector3 $pos2 - * @return null|RayTraceResult + * + * @return RayTraceResult|null */ - public function calculateIntercept(Vector3 $pos1, Vector3 $pos2): ?RayTraceResult {} + public function calculateIntercept(Vector3 $pos1, Vector3 $pos2): ?RayTraceResult + { + } - public function __toString() {} + public function __toString() + { + } /** * Returns a 1x1x1 bounding box starting at grid position 0,0,0. * * @return AxisAlignedBB */ - public static function one(): AxisAlignedBB {} + public static function one(): AxisAlignedBB + { + } } diff --git a/ide/0.0.5/Pocketmine/math/Facing.zep.php b/ide/0.0.5/Pocketmine/math/Facing.zep.php index 7c22d91..83d6dc1 100644 --- a/ide/0.0.5/Pocketmine/math/Facing.zep.php +++ b/ide/0.0.5/Pocketmine/math/Facing.zep.php @@ -63,80 +63,89 @@ class Facing * * @param int $direction * - * @param int $direction * @return int */ - public static function axis(int $direction): int {} + public static function axis(int $direction): int + { + } /** * Returns whether the direction is facing the positive of its axis. * * @param int $direction * - * @param int $direction * @return bool */ - public static function isPositive(int $direction): bool {} + public static function isPositive(int $direction): bool + { + } /** * Returns the opposite Facing of the specified one. * * @param int $direction 0-5 one of the self::* constants * - * @param int $direction * @return int */ - public static function opposite(int $direction): int {} + public static function opposite(int $direction): int + { + } /** * Rotates the given direction around the axis. * + * @param int $direction + * @param int $axis * @param bool $clockwise * - * @throws \InvalidArgumentException if not possible to rotate $direction around $axis - * @param int $direction - * @param int $axis - * @param bool $clockwise * @return int + * @throws \InvalidArgumentException if not possible to rotate $direction around $axis */ - public static function rotate(int $direction, int $axis, bool $clockwise): int {} + public static function rotate(int $direction, int $axis, bool $clockwise): int + { + } /** + * @param int $direction * @param bool $clockwise * - * @throws \InvalidArgumentException - * @param int $direction - * @param bool $clockwise * @return int + * @throws \InvalidArgumentException */ - public static function rotateY(int $direction, bool $clockwise): int {} + public static function rotateY(int $direction, bool $clockwise): int + { + } /** + * @param int $direction * @param bool $clockwise * - * @throws \InvalidArgumentException - * @param int $direction - * @param bool $clockwise * @return int + * @throws \InvalidArgumentException */ - public static function rotateZ(int $direction, bool $clockwise): int {} + public static function rotateZ(int $direction, bool $clockwise): int + { + } /** + * @param int $direction * @param bool $clockwise * - * @throws \InvalidArgumentException - * @param int $direction - * @param bool $clockwise * @return int + * @throws \InvalidArgumentException */ - public static function rotateX(int $direction, bool $clockwise): int {} + public static function rotateX(int $direction, bool $clockwise): int + { + } /** * Validates the given integer as a Facing direction. * - * @throws \InvalidArgumentException if the argument is not a valid Facing constant * @param int $facing + * @throws \InvalidArgumentException if the argument is not a valid Facing constant */ - public static function validate(int $facing): void {} + public static function validate(int $facing) + { + } } diff --git a/ide/0.0.5/Pocketmine/math/Math.zep.php b/ide/0.0.5/Pocketmine/math/Math.zep.php index 71ab40f..9dc988d 100644 --- a/ide/0.0.5/Pocketmine/math/Math.zep.php +++ b/ide/0.0.5/Pocketmine/math/Math.zep.php @@ -11,29 +11,32 @@ abstract class Math /** * @param float $n * - * @param mixed $n * @return int */ - public static function floorFloat($n): int {} + public static function floorFloat($n): int + { + } /** * @param float $n * - * @param mixed $n * @return int */ - public static function ceilFloat($n): int {} + public static function ceilFloat($n): int + { + } /** * Solves a quadratic equation with the given coefficients and returns an array of up to two solutions. * - * @param float $c - * * @param float $a * @param float $b - * @param double $c - * @return array + * @param float $c + * + * @return float[] */ - public static function solveQuadratic(float $a, float $b, float $c): array {} + public static function solveQuadratic(float $a, float $b, float $c): array + { + } } diff --git a/ide/0.0.5/Pocketmine/math/Matrix.zep.php b/ide/0.0.5/Pocketmine/math/Matrix.zep.php index 3f4c1eb..2fd75f9 100644 --- a/ide/0.0.5/Pocketmine/math/Matrix.zep.php +++ b/ide/0.0.5/Pocketmine/math/Matrix.zep.php @@ -29,92 +29,130 @@ class Matrix implements \ArrayAccess - public function getRows() {} + public function getRows() + { + } - public function getColumns() {} + public function getColumns() + { + } /** * @param mixed $offset */ - public function offsetExists($offset) {} + public function offsetExists($offset) + { + } /** * @param mixed $offset */ - public function offsetGet($offset) {} + public function offsetGet($offset) + { + } /** * @param mixed $offset * @param mixed $value */ - public function offsetSet($offset, $value) {} + public function offsetSet($offset, $value) + { + } /** * @param mixed $offset */ - public function offsetUnset($offset) {} + public function offsetUnset($offset) + { + } /** * @param mixed $rows * @param mixed $columns * @param array $set */ - public function __construct($rows, $columns, array $set = array()) {} + public function __construct($rows, $columns, array $set = array()) + { + } /** * @param array $m */ - public function set(array $m) {} + public function set(array $m) + { + } /** * @param mixed $row * @param mixed $column * @param mixed $value */ - public function setElement($row, $column, $value) {} + public function setElement($row, $column, $value) + { + } /** * @param mixed $row * @param mixed $column */ - public function getElement($row, $column) {} + public function getElement($row, $column) + { + } - public function isSquare() {} + public function isSquare() + { + } /** * @param Matrix $matrix */ - public function add(Matrix $matrix) {} + public function add(Matrix $matrix) + { + } /** * @param Matrix $matrix */ - public function subtract(Matrix $matrix) {} + public function subtract(Matrix $matrix) + { + } /** * @param mixed $number */ - public function multiplyScalar($number) {} + public function multiplyScalar($number) + { + } /** * @param mixed $number */ - public function divideScalar($number) {} + public function divideScalar($number) + { + } - public function transpose() {} + public function transpose() + { + } /** * @param Matrix $matrix */ - public function product(Matrix $matrix) {} + public function product(Matrix $matrix) + { + } - public function determinant() {} + public function determinant() + { + } - public function __toString() {} + public function __toString() + { + } } diff --git a/ide/0.0.5/Pocketmine/math/RayTraceResult.zep.php b/ide/0.0.5/Pocketmine/math/RayTraceResult.zep.php index d8dd224..fc61957 100644 --- a/ide/0.0.5/Pocketmine/math/RayTraceResult.zep.php +++ b/ide/0.0.5/Pocketmine/math/RayTraceResult.zep.php @@ -25,24 +25,32 @@ class RayTraceResult /** * @param AxisAlignedBB $bb - * @param int $hitFace one of the Facing::* constants - * @param Vector3 $hitVector + * @param int $hitFace one of the Facing::* constants + * @param Vector3 $hitVector */ - public function __construct(AxisAlignedBB $bb, int $hitFace, Vector3 $hitVector) {} + public function __construct(AxisAlignedBB $bb, int $hitFace, Vector3 $hitVector) + { + } /** * @return AxisAlignedBB */ - public function getBoundingBox(): AxisAlignedBB {} + public function getBoundingBox(): AxisAlignedBB + { + } /** * @return int */ - public function getHitFace(): int {} + public function getHitFace(): int + { + } /** * @return Vector3 */ - public function getHitVector(): Vector3 {} + public function getHitVector(): Vector3 + { + } } diff --git a/ide/0.0.5/Pocketmine/math/Vector2.zep.php b/ide/0.0.5/Pocketmine/math/Vector2.zep.php index 7ef43be..8fd881c 100644 --- a/ide/0.0.5/Pocketmine/math/Vector2.zep.php +++ b/ide/0.0.5/Pocketmine/math/Vector2.zep.php @@ -32,119 +32,155 @@ class Vector2 /** * @return float */ - public function getX() {} + public function getX() + { + } /** * @return float */ - public function getY() {} + public function getY() + { + } /** * @param double $x * @param double $y */ - public function __construct(float $x = 0, float $y = 0) {} + public function __construct(float $x = 0, float $y = 0) + { + } /** * @return int */ - public function getFloorX(): int {} + public function getFloorX(): int + { + } /** * @return int */ - public function getFloorY(): int {} + public function getFloorY(): int + { + } /** + * @param Vector2|float $x * @param float $y * - * @param Vector2|float $x - * @param double $y * @return Vector2 */ - public function add($x, float $y = 0): Vector2 {} + public function add($x, float $y = 0): Vector2 + { + } /** + * @param Vector2|float $x * @param float $y * - * @param Vector2|float $x - * @param double $y * @return Vector2 */ - public function subtract($x, float $y = 0): Vector2 {} + public function subtract($x, float $y = 0): Vector2 + { + } /** * @return Vector2 */ - public function ceil(): Vector2 {} + public function ceil(): Vector2 + { + } /** * @return Vector2 */ - public function floor(): Vector2 {} + public function floor(): Vector2 + { + } /** * @return Vector2 */ - public function round(): Vector2 {} + public function round(): Vector2 + { + } /** * @return Vector2 */ - public function abs(): Vector2 {} + public function abs(): Vector2 + { + } /** * @param double $number * @return Vector2 */ - public function multiply(float $number): Vector2 {} + public function multiply(float $number): Vector2 + { + } /** * @param double $number * @return Vector2 */ - public function divide(float $number): Vector2 {} + public function divide(float $number): Vector2 + { + } /** + * @param Vector2|float $x * @param float $y * - * @param Vector2|float $x - * @param double $y - * @return double + * @return float */ - public function distance($x, float $y = 0): float {} + public function distance($x, float $y = 0): float + { + } /** + * @param Vector2|float $x * @param float $y * - * @param Vector2|float $x - * @param double $y - * @return double + * @return float */ - public function distanceSquared($x, float $y = 0): float {} + public function distanceSquared($x, float $y = 0): float + { + } /** * @return double */ - public function length(): float {} + public function length(): float + { + } /** * @return double */ - public function lengthSquared(): float {} + public function lengthSquared(): float + { + } /** * @return Vector2 */ - public function normalize(): Vector2 {} + public function normalize(): Vector2 + { + } /** * @param Vector2 $v * @return double */ - public function dot(Vector2 $v): float {} + public function dot(Vector2 $v): float + { + } - public function __toString() {} + public function __toString() + { + } } diff --git a/ide/0.0.5/Pocketmine/math/Vector3.zep.php b/ide/0.0.5/Pocketmine/math/Vector3.zep.php index 3d5358c..2bcea77 100644 --- a/ide/0.0.5/Pocketmine/math/Vector3.zep.php +++ b/ide/0.0.5/Pocketmine/math/Vector3.zep.php @@ -37,17 +37,23 @@ class Vector3 /** * @return float|int */ - public function getX(): int {} + public function getX(): int + { + } /** * @return float|int */ - public function getY(): int {} + public function getY(): int + { + } /** * @return float|int */ - public function getZ(): int {} + public function getZ(): int + { + } /** * WARNING: THIS IS NOT TYPE SAFE! @@ -60,293 +66,361 @@ public function getZ(): int {} * @param float|int $y * @param float|int $z */ - public function __construct($x = 0, $y = 0, $z = 0) {} + public function __construct($x = 0, $y = 0, $z = 0) + { + } /** * @return int */ - public function getFloorX(): int {} + public function getFloorX(): int + { + } /** * @return int */ - public function getFloorY(): int {} + public function getFloorY(): int + { + } /** * @return int */ - public function getFloorZ(): int {} + public function getFloorZ(): int + { + } /** + * @param Vector3|int $x + * @param int $y * @param int $z * - * @param Vector3|int $x - * @param int $y - * @param mixed $z * @return Vector3 */ - public function add($x, $y = 0, $z = 0): Vector3 {} + public function add($x, $y = 0, $z = 0): Vector3 + { + } /** + * @param Vector3|int $x + * @param int $y * @param int $z * - * @param Vector3|int $x - * @param int $y - * @param mixed $z * @return Vector3 */ - public function subtract($x = 0, $y = 0, $z = 0): Vector3 {} + public function subtract($x = 0, $y = 0, $z = 0): Vector3 + { + } /** * @param double $number * @return Vector3 */ - public function multiply(float $number): Vector3 {} + public function multiply(float $number): Vector3 + { + } /** * @param double $number * @return Vector3 */ - public function divide(float $number): Vector3 {} + public function divide(float $number): Vector3 + { + } /** * @return Vector3 */ - public function ceil(): Vector3 {} + public function ceil(): Vector3 + { + } /** * @return Vector3 */ - public function floor(): Vector3 {} + public function floor(): Vector3 + { + } /** * @param int $precision * @param int $mode * @return Vector3 */ - public function round(int $precision = 0, int $mode = 0x01): Vector3 {} + public function round(int $precision = 0, int $mode = 0x01): Vector3 + { + } /** * @return Vector3 */ - public function abs(): Vector3 {} + public function abs(): Vector3 + { + } /** - * @param int $step - * * @param int $side * @param int $step + * * @return Vector3 */ - public function getSide(int $side, int $step = 1) {} + public function getSide(int $side, int $step = 1) + { + } /** * @param int $step * - * @param int $step * @return Vector3 */ - public function down(int $step = 1) {} + public function down(int $step = 1) + { + } /** * @param int $step * - * @param int $step * @return Vector3 */ - public function up(int $step = 1) {} + public function up(int $step = 1) + { + } /** * @param int $step * - * @param int $step * @return Vector3 */ - public function north(int $step = 1) {} + public function north(int $step = 1) + { + } /** * @param int $step * - * @param int $step * @return Vector3 */ - public function south(int $step = 1) {} + public function south(int $step = 1) + { + } /** * @param int $step * - * @param int $step * @return Vector3 */ - public function west(int $step = 1) {} + public function west(int $step = 1) + { + } /** * @param int $step * - * @param int $step * @return Vector3 */ - public function east(int $step = 1) {} + public function east(int $step = 1) + { + } /** * Yields vectors stepped out from this one in all directions. * * @param int $step Distance in each direction to shift the vector * - * @param int $step - * @return \Generator + * @return \Generator|Vector3[] */ - public function sides(int $step = 1): \Generator {} + public function sides(int $step = 1): \Generator + { + } /** * Same as sides() but returns a pre-populated array instead of Generator. * + * @param bool $keys * @param int $step * - * @param bool $keys - * @param int $step - * @return array + * @return Vector3[] */ - public function sidesArray(bool $keys = false, int $step = 1): array {} + public function sidesArray(bool $keys = false, int $step = 1): array + { + } /** * Yields vectors stepped out from this one in directions except those on the given axis. * - * @param int $step - * * @param int $axis Facing directions on this axis will be excluded * @param int $step - * @return \Generator + * + * @return \Generator|Vector3[] */ - public function sidesAroundAxis(int $axis, int $step = 1): \Generator {} + public function sidesAroundAxis(int $axis, int $step = 1): \Generator + { + } /** * Return a Vector3 instance * * @return Vector3 */ - public function asVector3(): Vector3 {} + public function asVector3(): Vector3 + { + } /** * @param Vector3 $pos * @return double */ - public function distance(Vector3 $pos): float {} + public function distance(Vector3 $pos): float + { + } /** * @param Vector3 $pos * @return double */ - public function distanceSquared(Vector3 $pos): float {} + public function distanceSquared(Vector3 $pos): float + { + } /** * @param mixed $x * @param mixed $z * @return double */ - public function maxPlainDistance($x = 0, $z = 0): float {} + public function maxPlainDistance($x = 0, $z = 0): float + { + } /** * @return double */ - public function length(): float {} + public function length(): float + { + } /** * @return double */ - public function lengthSquared(): float {} + public function lengthSquared(): float + { + } /** * @return Vector3 */ - public function normalize(): Vector3 {} + public function normalize(): Vector3 + { + } /** * @param Vector3 $v * @return double */ - public function dot(Vector3 $v): float {} + public function dot(Vector3 $v): float + { + } /** * @param Vector3 $v * @return Vector3 */ - public function cross(Vector3 $v): Vector3 {} + public function cross(Vector3 $v): Vector3 + { + } /** * @param Vector3 $v * @return bool */ - public function equals(Vector3 $v): bool {} + public function equals(Vector3 $v): bool + { + } /** * Returns a new vector with x value equal to the second parameter, along the line between this vector and the * passed in vector, or null if not possible. * + * @param Vector3 $v * @param float $x * - * @param Vector3 $v - * @param double $x - * @return null|Vector3 + * @return Vector3|null */ - public function getIntermediateWithXValue(Vector3 $v, float $x): ?Vector3 {} + public function getIntermediateWithXValue(Vector3 $v, float $x): ?Vector3 + { + } /** * Returns a new vector with y value equal to the second parameter, along the line between this vector and the * passed in vector, or null if not possible. * + * @param Vector3 $v * @param float $y * - * @param Vector3 $v - * @param double $y - * @return null|Vector3 + * @return Vector3|null */ - public function getIntermediateWithYValue(Vector3 $v, float $y): ?Vector3 {} + public function getIntermediateWithYValue(Vector3 $v, float $y): ?Vector3 + { + } /** * Returns a new vector with z value equal to the second parameter, along the line between this vector and the * passed in vector, or null if not possible. * + * @param Vector3 $v * @param float $z * - * @param Vector3 $v - * @param double $z - * @return null|Vector3 + * @return Vector3|null */ - public function getIntermediateWithZValue(Vector3 $v, float $z): ?Vector3 {} + public function getIntermediateWithZValue(Vector3 $v, float $z): ?Vector3 + { + } /** + * @param $x + * @param $y * @param $z * + * @return $this * @param mixed $x * @param mixed $y * @param mixed $z - * @param $y - * @return $this */ - public function setComponents($x, $y, $z) {} + public function setComponents($x, $y, $z) + { + } - public function __toString() {} + public function __toString() + { + } /** * Returns a new Vector3 taking the maximum of each component in the input vectors. * * @param Vector3[] $positions * - * @param array $positions * @return Vector3 + * @param array $positions + * @param Vector3 [] $positions + * */ - public static function maxComponents(array $positions): Vector3 {} + public static function maxComponents(array $positions): Vector3 + { + } /** * Returns a new Vector3 taking the minimum of each component in the input vectors. * * @param Vector3[] $positions * - * @param array $positions * @return Vector3 + * @param array $positions + * @param Vector3 [] $positions + * */ - public static function minComponents(array $positions): Vector3 {} + public static function minComponents(array $positions): Vector3 + { + } } diff --git a/ide/0.0.5/Pocketmine/math/VectorMath.zep.php b/ide/0.0.5/Pocketmine/math/VectorMath.zep.php index a414d26..d56bd1e 100644 --- a/ide/0.0.5/Pocketmine/math/VectorMath.zep.php +++ b/ide/0.0.5/Pocketmine/math/VectorMath.zep.php @@ -23,6 +23,8 @@ abstract class VectorMath * @param double $azimuth * @return Vector2 */ - public static function getDirection2D(float $azimuth): Vector2 {} + public static function getDirection2D(float $azimuth): Vector2 + { + } } diff --git a/ide/0.0.5/Pocketmine/math/VoxelRayTrace.zep.php b/ide/0.0.5/Pocketmine/math/VoxelRayTrace.zep.php index 3c7214f..b7063a7 100644 --- a/ide/0.0.5/Pocketmine/math/VoxelRayTrace.zep.php +++ b/ide/0.0.5/Pocketmine/math/VoxelRayTrace.zep.php @@ -23,14 +23,15 @@ abstract class VoxelRayTrace * Performs a ray trace from the start position in the given direction, for a distance of $maxDistance. This * returns a Generator which yields Vector3s containing the coordinates of voxels it passes through. * - * @param float $maxDistance - * * @param Vector3 $start * @param Vector3 $directionVector - * @param double $maxDistance - * @return \Generator + * @param float $maxDistance + * + * @return \Generator|Vector3[] */ - public static function inDirection(Vector3 $start, Vector3 $directionVector, float $maxDistance): \Generator {} + public static function inDirection(Vector3 $start, Vector3 $directionVector, float $maxDistance): \Generator + { + } /** * Spaceship operator @@ -39,7 +40,9 @@ public static function inDirection(Vector3 $start, Vector3 $directionVector, flo * @param mixed $b * @return int */ - private static function spaceShip($a, $b): int {} + private static function spaceShip($a, $b): int + { + } /** * Performs a ray trace between the start and end coordinates. This returns a Generator which yields Vector3s @@ -49,13 +52,14 @@ private static function spaceShip($a, $b): int {} * * @link http://www.cse.yorku.ca/~amana/research/grid.pdf * - * @param Vector3 $end - * * @param Vector3 $start * @param Vector3 $end - * @return \Generator + * + * @return \Generator|Vector3[] */ - public static function betweenPoints(Vector3 $start, Vector3 $end): \Generator {} + public static function betweenPoints(Vector3 $start, Vector3 $end): \Generator + { + } /** * Returns the distance that must be travelled on an axis from the start point with the direction vector component to @@ -66,12 +70,13 @@ public static function betweenPoints(Vector3 $start, Vector3 $end): \Generator { * * Find the smallest positive t such that s+tds is an integer. * + * @param float $s Starting coordinate * @param float $ds Direction vector component of the relevant axis * - * @param float $s Starting coordinate - * @param double $ds - * @return double + * @return float Distance along the ray trace that must be travelled to cross a boundary. */ - private static function rayTraceDistanceToBoundary(float $s, float $ds): float {} + private static function rayTraceDistanceToBoundary(float $s, float $ds): float + { + } } diff --git a/ide/0.0.5/Pocketmine/utils/Binary.zep.php b/ide/0.0.5/Pocketmine/utils/Binary.zep.php index e880a1c..d6cc84c 100644 --- a/ide/0.0.5/Pocketmine/utils/Binary.zep.php +++ b/ide/0.0.5/Pocketmine/utils/Binary.zep.php @@ -18,486 +18,545 @@ class Binary * @param int $value * @return int */ - public static function signByte(int $value): int {} + public static function signByte(int $value): int + { + } /** * @param int $value * @return int */ - public static function unsignByte(int $value): int {} + public static function unsignByte(int $value): int + { + } /** * @param int $value * @return int */ - public static function signShort(int $value): int {} + public static function signShort(int $value): int + { + } /** * @param int $value * @return int */ - public static function unsignShort(int $value): int {} + public static function unsignShort(int $value): int + { + } /** * @param int $value * @return int */ - public static function signInt(int $value): int {} + public static function signInt(int $value): int + { + } /** * @param int $value * @return int */ - public static function unsignInt(int $value): int {} + public static function unsignInt(int $value): int + { + } /** * @param int $value * @return int */ - public static function flipShortEndianness(int $value): int {} + public static function flipShortEndianness(int $value): int + { + } /** * @param int $value * @return int */ - public static function flipIntEndianness(int $value): int {} + public static function flipIntEndianness(int $value): int + { + } /** * @param int $value * @return int */ - public static function flipLongEndianness(int $value): int {} + public static function flipLongEndianness(int $value): int + { + } /** * Reads a byte boolean * * @param string $b * - * @param string $b * @return bool */ - public static function readBool(string $b): bool {} + public static function readBool(string $b): bool + { + } /** * Writes a byte boolean * * @param bool $b * - * @param bool $b * @return string */ - public static function writeBool(bool $b): string {} + public static function writeBool(bool $b): string + { + } /** * Reads an unsigned byte (0 - 255) * * @param string $c * - * @param string $c * @return int */ - public static function readByte(string $c): int {} + public static function readByte(string $c): int + { + } /** * Reads a signed byte (-128 - 127) * * @param string $c * - * @param string $c * @return int */ - public static function readSignedByte(string $c): int {} + public static function readSignedByte(string $c): int + { + } /** * Writes an unsigned/signed byte * * @param int $c * - * @param int $c * @return string */ - public static function writeByte(int $c): string {} + public static function writeByte(int $c): string + { + } /** * Reads a 16-bit unsigned big-endian number * * @param string $str * - * @param string $str * @return int */ - public static function readShort(string $str): int {} + public static function readShort(string $str): int + { + } /** * Reads a 16-bit signed big-endian number * * @param $str * - * @param string $str * @return int + * @param string $str */ - public static function readSignedShort(string $str): int {} + public static function readSignedShort(string $str): int + { + } /** * Writes a 16-bit signed/unsigned big-endian number * * @param int $value * - * @param int $value * @return string */ - public static function writeShort(int $value): string {} + public static function writeShort(int $value): string + { + } /** * Reads a 16-bit unsigned little-endian number * * @param string $str * - * @param string $str * @return int */ - public static function readLShort(string $str): int {} + public static function readLShort(string $str): int + { + } /** * Reads a 16-bit signed little-endian number * * @param string $str * - * @param string $str * @return int */ - public static function readSignedLShort(string $str): int {} + public static function readSignedLShort(string $str): int + { + } /** * Writes a 16-bit signed/unsigned little-endian number * * @param int $value * - * @param int $value * @return string */ - public static function writeLShort(int $value): string {} + public static function writeLShort(int $value): string + { + } /** * Reads a 3-byte big-endian number * * @param string $str * - * @param string $str - * @return string + * @return int */ - public static function readTriad(string $str): string {} + public static function readTriad(string $str): string + { + } /** * Writes a 3-byte big-endian number * * @param int $value * - * @param int $value - * @return long + * @return string */ - public static function writeTriad(int $value): int {} + public static function writeTriad(int $value): int + { + } /** * Reads a 3-byte little-endian number * * @param string $str * - * @param string $str - * @return long + * @return int */ - public static function readLTriad(string $str): int {} + public static function readLTriad(string $str): int + { + } /** * Writes a 3-byte little-endian number * * @param int $value * - * @param long $value * @return string */ - public static function writeLTriad(int $value): string {} + public static function writeLTriad(int $value): string + { + } /** * Reads a 4-byte signed integer * * @param string $str * - * @param string $str - * @return long + * @return int */ - public static function readInt(string $str): int {} + public static function readInt(string $str): int + { + } /** * Writes a 4-byte integer * * @param int $value * - * @param long $value * @return string */ - public static function writeInt(int $value): string {} + public static function writeInt(int $value): string + { + } /** * Reads a 4-byte signed little-endian integer * * @param string $str * - * @param string $str - * @return long + * @return int */ - public static function readLInt(string $str): int {} + public static function readLInt(string $str): int + { + } /** * Writes a 4-byte signed little-endian integer * * @param int $value * - * @param long $value * @return string */ - public static function writeLInt(int $value): string {} + public static function writeLInt(int $value): string + { + } /** * Reads a 4-byte floating-point number * * @param string $str * - * @param string $str - * @return double + * @return float */ - public static function readFloat(string $str): float {} + public static function readFloat(string $str): float + { + } /** * Reads a 4-byte floating-point number, rounded to the specified number of decimal places. * + * @param string $str * @param int $accuracy * - * @param string $str - * @param int $accuracy - * @return double + * @return float */ - public static function readRoundedFloat(string $str, int $accuracy): float {} + public static function readRoundedFloat(string $str, int $accuracy): float + { + } /** * Writes a 4-byte floating-point number. * * @param float $value * - * @param double $value * @return string */ - public static function writeFloat(float $value): string {} + public static function writeFloat(float $value): string + { + } /** * Reads a 4-byte little-endian floating-point number. * * @param string $str * - * @param string $str - * @return double + * @return float */ - public static function readLFloat(string $str): float {} + public static function readLFloat(string $str): float + { + } /** * Reads a 4-byte little-endian floating-point number rounded to the specified number of decimal places. * + * @param string $str * @param int $accuracy * - * @param string $str - * @param int $accuracy - * @return double + * @return float */ - public static function readRoundedLFloat(string $str, int $accuracy): float {} + public static function readRoundedLFloat(string $str, int $accuracy): float + { + } /** * Writes a 4-byte little-endian floating-point number. * * @param float $value * - * @param double $value * @return string */ - public static function writeLFloat(float $value): string {} + public static function writeLFloat(float $value): string + { + } /** * Returns a printable floating-point number. * * @param float $value * - * @param double $value * @return string */ - public static function printFloat(float $value): string {} + public static function printFloat(float $value): string + { + } /** * Reads an 8-byte floating-point number. * * @param string $str * - * @param string $str - * @return double + * @return float */ - public static function readDouble(string $str): float {} + public static function readDouble(string $str): float + { + } /** * Writes an 8-byte floating-point number. * * @param float $value * - * @param double $value * @return string */ - public static function writeDouble(float $value): string {} + public static function writeDouble(float $value): string + { + } /** * Reads an 8-byte little-endian floating-point number. * * @param string $str * - * @param string $str - * @return double + * @return float */ - public static function readLDouble(string $str): float {} + public static function readLDouble(string $str): float + { + } /** * Writes an 8-byte floating-point little-endian number. * * @param float $value * - * @param double $value * @return string */ - public static function writeLDouble(float $value): string {} + public static function writeLDouble(float $value): string + { + } /** * Reads an 8-byte integer. * * @param string $str * - * @param string $str * @return int */ - public static function readLong(string $str): int {} + public static function readLong(string $str): int + { + } /** * Writes an 8-byte integer. * * @param int $value * - * @param int $value * @return string */ - public static function writeLong(int $value): string {} + public static function writeLong(int $value): string + { + } /** * Reads an 8-byte little-endian integer. * * @param string $str * - * @param string $str * @return int */ - public static function readLLong(string $str): int {} + public static function readLLong(string $str): int + { + } /** * Writes an 8-byte little-endian integer. * * @param int $value * - * @param int $value * @return string */ - public static function writeLLong(int $value): string {} + public static function writeLLong(int $value): string + { + } /** * Reads a 32-bit zigzag-encoded variable-length integer. * + * @param string $buffer * @param int $offset * - * @param string $buffer - * @param mixed $offset * @return int */ - public static function readVarInt(string $buffer, $offset): int {} + public static function readVarInt(string $buffer, $offset): int + { + } /** * Reads a 32-bit variable-length unsigned integer. * + * @param string $buffer * @param int $offset * * @return int * * @throws BinaryDataException if the var-int did not end after 5 bytes or there were not enough bytes - * @param string $buffer - * @param mixed $offset - * @return int */ - public static function readUnsignedVarInt($buffer, $offset): int {} + public static function readUnsignedVarInt($buffer, $offset): int + { + } /** * Writes a 32-bit integer as a zigzag-encoded variable-length integer. * * @param int $v * - * @param int $v * @return string */ - public static function writeVarInt(int $v): string {} + public static function writeVarInt(int $v): string + { + } /** * Writes a 32-bit unsigned integer as a variable-length integer. * * @param int $value * - * @param int $value - * @return string + * @return string up to 5 bytes */ - public static function writeUnsignedVarInt(int $value): string {} + public static function writeUnsignedVarInt(int $value): string + { + } /** * Reads a 64-bit zigzag-encoded variable-length integer. * + * @param string $buffer * @param int $offset * - * @param string $buffer - * @param mixed $offset * @return long */ - public static function readVarLong(string $buffer, $offset): int {} + public static function readVarLong(string $buffer, $offset): int + { + } /** * Reads a 64-bit unsigned variable-length integer. * + * @param string $buffer * @param int $offset * * @return int * * @throws BinaryDataException if the var-int did not end after 10 bytes or there were not enough bytes - * @param string $buffer - * @param mixed $offset - * @return long */ - public static function readUnsignedVarLong($buffer, $offset): int {} + public static function readUnsignedVarLong($buffer, $offset): int + { + } /** * Writes a 64-bit integer as a zigzag-encoded variable-length long. * * @param int $v * - * @param int $v * @return string */ - public static function writeVarLong(int $v): string {} + public static function writeVarLong(int $v): string + { + } /** * Writes a 64-bit unsigned integer as a variable-length long. * * @param int $value * - * @param int $value * @return string */ - public static function writeUnsignedVarLong(int $value): string {} + public static function writeUnsignedVarLong(int $value): string + { + } } diff --git a/ide/0.0.5/Pocketmine/utils/BinaryDataException.zep.php b/ide/0.0.5/Pocketmine/utils/BinaryDataException.zep.php index d01cde0..dbf682b 100644 --- a/ide/0.0.5/Pocketmine/utils/BinaryDataException.zep.php +++ b/ide/0.0.5/Pocketmine/utils/BinaryDataException.zep.php @@ -16,7 +16,7 @@ * You should have received a copy of the GNU General Public License * along with RapidPM. If not, see . */ -class BinaryDataException extends RuntimeException +class BinaryDataException extends \RuntimeException { } diff --git a/ide/0.0.5/Pocketmine/utils/BinaryStream.zep.php b/ide/0.0.5/Pocketmine/utils/BinaryStream.zep.php index 83ea03a..d0a3879 100644 --- a/ide/0.0.5/Pocketmine/utils/BinaryStream.zep.php +++ b/ide/0.0.5/Pocketmine/utils/BinaryStream.zep.php @@ -32,37 +32,51 @@ class BinaryStream /** * @return long */ - public function getOffset(): int {} + public function getOffset(): int + { + } /** * @return string */ - public function getBuffer(): string {} + public function getBuffer(): string + { + } /** * @param string $buffer * @param int $offset */ - public function __construct(string $buffer = '', int $offset = 0) {} + public function __construct(string $buffer = '', int $offset = 0) + { + } /** * @param long $offset */ - public function setOffset(int $offset): void {} + public function setOffset(int $offset) + { + } - public function reset() {} + public function reset() + { + } /** * Rewinds the stream pointer to the start. */ - public function rewind(): void {} + public function rewind() + { + } /** * @param string $buffer * @param long $offset */ - public function setBuffer(string $buffer = '', int $offset = 0) {} + public function setBuffer(string $buffer = '', int $offset = 0) + { + } /** * @param int $len @@ -70,246 +84,332 @@ public function setBuffer(string $buffer = '', int $offset = 0) {} * @return string * * @throws BinaryDataException if there are not enough bytes left in the buffer - * @param long $len - * @return string */ - public function get(int $len): string {} + public function get(int $len): string + { + } /** - * @throws BinaryDataException * @return string + * @throws BinaryDataException */ - public function getRemaining(): string {} + public function getRemaining(): string + { + } /** * @param string $str */ - public function put(string $str) {} + public function put(string $str) + { + } /** * @return bool */ - public function getBool(): bool {} + public function getBool(): bool + { + } /** * @param bool $v */ - public function putBool(bool $v) {} + public function putBool(bool $v) + { + } /** * @return int */ - public function getByte(): int {} + public function getByte(): int + { + } /** * @param int $v */ - public function putByte(int $v) {} + public function putByte(int $v) + { + } /** * @return int */ - public function getShort(): int {} + public function getShort(): int + { + } /** * @return int */ - public function getSignedShort(): int {} + public function getSignedShort(): int + { + } /** * @param int $v */ - public function putShort(int $v) {} + public function putShort(int $v) + { + } /** * @return int */ - public function getLShort(): int {} + public function getLShort(): int + { + } /** * @return int */ - public function getSignedLShort(): int {} + public function getSignedLShort(): int + { + } /** * @param int $v */ - public function putLShort(int $v) {} + public function putLShort(int $v) + { + } /** * @return long */ - public function getTriad(): int {} + public function getTriad(): int + { + } /** * @param long $v */ - public function putTriad(int $v) {} + public function putTriad(int $v) + { + } /** * @return long */ - public function getLTriad(): int {} + public function getLTriad(): int + { + } /** * @param long $v */ - public function putLTriad(int $v) {} + public function putLTriad(int $v) + { + } /** * @return int */ - public function getInt(): int {} + public function getInt(): int + { + } /** * @param int $v */ - public function putInt(int $v) {} + public function putInt(int $v) + { + } /** * @return long */ - public function getLInt(): int {} + public function getLInt(): int + { + } /** * @param long $v */ - public function putLInt(int $v) {} + public function putLInt(int $v) + { + } /** * @return double */ - public function getFloat(): float {} + public function getFloat(): float + { + } /** * @param int $accuracy * @return double */ - public function getRoundedFloat(int $accuracy): float {} + public function getRoundedFloat(int $accuracy): float + { + } /** * @param double $v */ - public function putFloat(float $v) {} + public function putFloat(float $v) + { + } /** * @return double */ - public function getLFloat(): float {} + public function getLFloat(): float + { + } /** * @param int $accuracy * @return double */ - public function getRoundedLFloat(int $accuracy): float {} + public function getRoundedLFloat(int $accuracy): float + { + } /** * @param double $v */ - public function putLFloat(float $v) {} + public function putLFloat(float $v) + { + } /** * @return double */ - public function getDouble(): float {} + public function getDouble(): float + { + } /** * @param double $v */ - public function putDouble(float $v): void {} + public function putDouble(float $v) + { + } /** * @return double */ - public function getLDouble(): float {} + public function getLDouble(): float + { + } /** * @param double $v */ - public function putLDouble(float $v): void {} + public function putLDouble(float $v) + { + } /** * @return int */ - public function getLong(): int {} + public function getLong(): int + { + } /** * @param int $v */ - public function putLong(int $v) {} + public function putLong(int $v) + { + } /** * @return int */ - public function getLLong(): int {} + public function getLLong(): int + { + } /** * @param int $v */ - public function putLLong(int $v) {} + public function putLLong(int $v) + { + } /** * Reads a 32-bit variable-length unsigned integer from the buffer and returns it. * * @return int */ - public function getUnsignedVarInt(): int {} + public function getUnsignedVarInt(): int + { + } /** * Writes a 32-bit variable-length unsigned integer to the end of the buffer. * * @param int $v */ - public function putUnsignedVarInt(int $v) {} + public function putUnsignedVarInt(int $v) + { + } /** * Reads a 32-bit zigzag-encoded variable-length integer from the buffer and returns it. * * @return int */ - public function getVarInt(): int {} + public function getVarInt(): int + { + } /** * Writes a 32-bit zigzag-encoded variable-length integer to the end of the buffer. * * @param int $v */ - public function putVarInt(int $v) {} + public function putVarInt(int $v) + { + } /** * Reads a 64-bit variable-length integer from the buffer and returns it. * - * @return long + * @return int */ - public function getUnsignedVarLong(): int {} + public function getUnsignedVarLong(): int + { + } /** * Writes a 64-bit variable-length integer to the end of the buffer. * * @param int $v */ - public function putUnsignedVarLong(int $v) {} + public function putUnsignedVarLong(int $v) + { + } /** * Reads a 64-bit zigzag-encoded variable-length integer from the buffer and returns it. * - * @return long + * @return int */ - public function getVarLong(): int {} + public function getVarLong(): int + { + } /** * Writes a 64-bit zigzag-encoded variable-length integer to the end of the buffer. * - * @param long $v * @param int + * @param long $v */ - public function putVarLong(int $v) {} + public function putVarLong(int $v) + { + } /** * Returns whether the offset has reached the end of the buffer. * * @return bool */ - public function feof(): bool {} + public function feof(): bool + { + } }