diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eb3ed37390..213579decb 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,17 +17,17 @@ on: env: RE2C_VERSION: 2.2 - ZEPHIR_PARSER_VERSION: 1.5.0 + ZEPHIR_PARSER_VERSION: 1.5.3 PSR_VERSION: 1.2.0 CACHE_DIR: .cache jobs: analyze: name: Static Code Analysis - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 1 @@ -61,7 +61,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '7.4', '8.0' , '8.1' ] + php: [ '7.4', '8.0' , '8.1', '8.2' ] ts: [ 'ts', 'nts' ] arch: [ 'x64' ] @@ -73,9 +73,9 @@ jobs: # {php}-{ts}-{os.name}-{compiler}-{arch} include: # Linux - - { name: ubuntu-gcc, os: ubuntu-18.04, compiler: gcc } + - { name: ubuntu-gcc, os: ubuntu-latest, compiler: gcc } # macOS - - { name: macos-clang, os: macos-10.15, compiler: clang } + - { name: macos-clang, os: macos-12, compiler: clang } # Windows - { php: '7.4', ts: 'ts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15' } - { php: '7.4', ts: 'nts', arch: 'x64', name: 'windows2019-vc15', os: 'windows-2019', compiler: 'vc15' } @@ -83,14 +83,17 @@ jobs: - { php: '8.0', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } - { php: '8.1', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } - { php: '8.1', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } + # Disabled due PSR extension wasn't complied for 8.2 + #- { php: '8.2', ts: 'ts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } + #- { php: '8.2', ts: 'nts', arch: 'x64', name: 'windows2019-vs16', os: 'windows-2019', compiler: 'vs16' } steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 5 - name: Install PHP ${{ matrix.php }} - uses: shivammathur/setup-php@v2 + uses: shivammathur/setup-php@develop with: php-version: '${{ matrix.php }}' extensions: mbstring, fileinfo, gmp, sqlite, pdo_sqlite, psr-${{ env.PSR_VERSION }}, zip, mysqli, zephir_parser-${{ env.ZEPHIR_PARSER_VERSION }} @@ -109,19 +112,19 @@ jobs: date.timezone=UTC, xdebug.max_nesting_level=256 env: - PHPTS: ${{ matrix.ts }} + phpts: ${{ matrix.ts }} COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" +# - name: Get composer cache directory +# id: composer-cache +# run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - name: Set Up Composer Cache - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- +# - name: Set Up Composer Cache +# uses: actions/cache@v2 +# with: +# path: ${{ steps.composer-cache.outputs.dir }} +# key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} +# restore-keys: ${{ runner.os }}-composer- - name: Install Project Dependencies run: | diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml deleted file mode 100644 index 12255e73a3..0000000000 --- a/.github/workflows/nightly.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: Zephir Nightly - -on: - schedule: - - cron: '0 3 * * *' # Daily at 03:00 runs only on default branch - workflow_dispatch: - -env: - RE2C_VERSION: 2.2 - ZEPHIR_PARSER_VERSION: 1.5.0 - PSR_VERSION: 1.2.0 - CACHE_DIR: .cache - -jobs: - nightly: - name: "PHP-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }}" - - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - - matrix: - php: [ '8.2' ] - ts: [ 'ts', 'nts' ] - arch: [ 'x64' ] - - # matrix names should be in next format: - # {php}-{ts}-{os.name}-{compiler}-{arch} - include: - # Linux - - { name: ubuntu-gcc, os: ubuntu-20.04, compiler: gcc } - - steps: - - name: Checkout Code - uses: actions/checkout@v2 - with: - fetch-depth: 5 - - - name: Install PHP ${{ matrix.php }} - uses: shivammathur/setup-php@v2 - with: - php-version: '${{ matrix.php }}' - extensions: mbstring, fileinfo, gmp, sqlite, pdo_sqlite, psr-${{ env.PSR_VERSION }}, zip, mysqli, zephir_parser-${{ env.ZEPHIR_PARSER_VERSION }} - tools: phpize, php-config - coverage: xdebug - # variables_order: https://github.com/zephir-lang/zephir/pull/1537 - # enable_dl: https://github.com/zephir-lang/zephir/pull/1654 - # allow_url_fopen: https://github.com/zephir-lang/zephir/issues/1713 - # error_reporting: https://github.com/zendframework/zend-code/issues/160 - ini-values: >- - variables_order=EGPCS, - enable_dl=On, - allow_url_fopen=On, - error_reporting=-1, - memory_limit=1G, - date.timezone=UTC, - xdebug.max_nesting_level=256 - env: - PHPTS: ${{ matrix.ts }} - COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Set Up Composer Cache - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install Project Dependencies - run: | - echo "::group::Install composer dependencies" - composer install --prefer-dist --no-interaction --no-ansi --no-progress --ignore-platform-reqs - echo "::endgroup::" - - - name: Fast Commands Test - run: php zephir --help - - - name: Build Test Extension (Linux) - uses: ./.github/workflows/build-linux-ext - with: - compiler: ${{ matrix.compiler }} - cflags: '-O2 -Wall -fvisibility=hidden -flto -DZEPHIR_RELEASE=1' - ldflags: '--coverage' - - - name: Stub Extension Info - run: | - php --ri stub - - - name: Setup problem matchers for PHPUnit - run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" - - - name: Unit Tests (Stub Extension) - run: | - php vendor/bin/phpunit -c phpunit.ext.xml - - - name: Unit Tests (Zephir) - run: vendor/bin/phpunit --testsuite Zephir - env: - XDEBUG_MODE: coverage - - - name: Black-box Testing - working-directory: tests/sharness - run: | - make -j$(getconf _NPROCESSORS_ONLN) - - - name: Upload build artifacts after Failure - if: failure() - uses: actions/upload-artifact@v2 - with: - name: debug-PHP-${{ matrix.php }}-${{ matrix.ts }}-${{ matrix.name }}-${{ matrix.arch }} - path: | - ${{ github.workspace }}/*.log - ${{ github.workspace }}/ext/ - !${{ github.workspace }}/ext/kernel/ - !${{ github.workspace }}/ext/stub/ - !${{ github.workspace }}/ext/Release/ - !${{ github.workspace }}/ext/x64/Release/ - retention-days: 30 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4bf729af17..eb9ff91f50 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,21 +8,21 @@ on: jobs: release: name: Create Release - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest env: - BOX_VERSION: 3.15.0 + BOX_VERSION: 4.2.0 steps: - name: Checkout Code - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 5 - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.4' + php-version: '8.2' extensions: intl, zip, zlib coverage: none ini-values: memory_limit=1G, phar.readonly=0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cf5a0f738..a8c8eeb2b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,13 @@ and this project adheres to [Semantic Versioning](https://semver.org). ## [Unreleased] +## [0.17.0] - 2023-02-11 +### Added +- Added support of PHP `8.2` [#2255](https://github.com/zephir-lang/zephir/issues/2370) + +### Fixed +- Fixed backtrace on alpine [#2397](https://github.com/zephir-lang/zephir/issues/2397) + ## [0.16.3] - 2022-09-17 ### Fixed - Fixed segmentation fault on `mixed` return type and PHP 7.4 [#2387](https://github.com/zephir-lang/zephir/issues/2387) @@ -587,7 +594,9 @@ and this project adheres to [Semantic Versioning](https://semver.org). [#1524](https://github.com/zephir-lang/zephir/issues/1524) -[Unreleased]: https://github.com/zephir-lang/zephir/compare/0.16.2...HEAD +[Unreleased]: https://github.com/zephir-lang/zephir/compare/0.17.0...HEAD +[0.17.0]: https://github.com/zephir-lang/zephir/compare/0.16.3...0.17.0 +[0.16.3]: https://github.com/zephir-lang/zephir/compare/0.16.2...0.16.3 [0.16.2]: https://github.com/zephir-lang/zephir/compare/0.16.1...0.16.2 [0.16.1]: https://github.com/zephir-lang/zephir/compare/0.16.0...0.16.1 [0.16.0]: https://github.com/zephir-lang/zephir/compare/0.15.2...0.16.0 diff --git a/Library/BranchGraphNode.php b/Library/BranchGraphNode.php index d8e1cefc37..f206c8f07c 100644 --- a/Library/BranchGraphNode.php +++ b/Library/BranchGraphNode.php @@ -9,27 +9,34 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir; +use function count; +use function in_array; + /** - * Branch\BranchGraphNode. - * - * Allows to visualize assignments for a specific variable in every branch used + * Allows visualizing assignments for a specific variable in every branch used. */ class BranchGraphNode { - /** @var int */ - protected $increase = 0; + /** + * @var int + */ + protected int $increase = 0; - /** @var Branch[] */ - protected $branches = []; + /** + * @var Branch[] + */ + protected array $branches = []; - /** @var Branch */ - protected $branch; + /** + * @var Branch + */ + protected Branch $branch; /** - * BranchGraphNode. - * * @param Branch $branch */ public function __construct(Branch $branch) @@ -42,9 +49,9 @@ public function __construct(Branch $branch) * * @param BranchGraphNode $branch */ - public function insert(self $branch) + public function insert(self $branch): void { - if (!\in_array($branch, $this->branches)) { + if (!in_array($branch, $this->branches)) { $this->branches[] = $branch; } } @@ -52,7 +59,7 @@ public function insert(self $branch) /** * Increases the branch graph level. */ - public function increase() + public function increase(): void { ++$this->increase; } @@ -62,11 +69,13 @@ public function increase() * * @param int $padding */ - public function show($padding = 0) + public function show(int $padding = 0): void { echo str_repeat(' ', $padding), $this->branch->getUniqueId(), ':' , $this->increase; - if (\count($this->branches)) { + + if (count($this->branches) > 0) { echo ':', PHP_EOL; + /** @var BranchGraphNode $node */ foreach ($this->branches as $node) { $node->show($padding + 1); } diff --git a/Library/Call.php b/Library/Call.php index 3e03402521..2f1d7a3ce9 100644 --- a/Library/Call.php +++ b/Library/Call.php @@ -17,8 +17,6 @@ use Zephir\Exception\CompilerException; /** - * Zephir\Call. - * * Base class for common functionality in functions/calls */ class Call diff --git a/Library/ClassDefinitionRuntime.php b/Library/ClassDefinitionRuntime.php index 179f572bbc..c2679ad3ff 100644 --- a/Library/ClassDefinitionRuntime.php +++ b/Library/ClassDefinitionRuntime.php @@ -14,8 +14,6 @@ namespace Zephir; /** - * Class Definition in Runtime - * * Represents a class/interface that only exists in runtime. */ final class ClassDefinitionRuntime extends AbstractClassDefinition diff --git a/Library/ClassMethod.php b/Library/ClassMethod.php index 01e8354bf3..6071068c4c 100644 --- a/Library/ClassMethod.php +++ b/Library/ClassMethod.php @@ -27,8 +27,6 @@ use function is_array; /** - * ClassMethod. - * * Represents a class method */ class ClassMethod diff --git a/Library/ClassProperty.php b/Library/ClassProperty.php index 1b404426fe..a4a0ee9436 100644 --- a/Library/ClassProperty.php +++ b/Library/ClassProperty.php @@ -17,8 +17,6 @@ use Zephir\Expression\Builder\Statements\LetStatement as ExpressionLetStatement; /** - * ClassProperty. - * * Represents a property class */ class ClassProperty @@ -26,7 +24,7 @@ class ClassProperty /** * @var ClassDefinition */ - protected $classDefinition; + protected ClassDefinition $classDefinition; protected $visibility; diff --git a/Library/CompilationContext.php b/Library/CompilationContext.php index d58e69a1b3..db3b7d1622 100644 --- a/Library/CompilationContext.php +++ b/Library/CompilationContext.php @@ -19,8 +19,6 @@ use Zephir\Passes\StaticTypeInference; /** - * CompilationContext. - * * This class encapsulates important entities required during compilation */ class CompilationContext diff --git a/Library/Optimizers/FunctionCall/MtRandOptimizer.php b/Library/Optimizers/FunctionCall/MtRandOptimizer.php deleted file mode 100644 index b22d8b0f1a..0000000000 --- a/Library/Optimizers/FunctionCall/MtRandOptimizer.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -namespace Zephir\Optimizers\FunctionCall; - -use Zephir\Call; -use Zephir\CompilationContext; -use Zephir\CompiledExpression; -use Zephir\Exception\CompilerException; -use Zephir\Optimizers\OptimizerAbstract; - -/** - * MtRandOptimizer. - * - * Optimizes calls to 'mt_rand' using internal function - */ -class MtRandOptimizer extends OptimizerAbstract -{ - /** - * @param array $expression - * @param Call $call - * @param CompilationContext $context - * - * @throws CompilerException - * - * @return bool|CompiledExpression|mixed - */ - public function optimize(array $expression, Call $call, CompilationContext $context) - { - if (!isset($expression['parameters'])) { - return false; - } - - if (2 != \count($expression['parameters'])) { - return false; - } - - $context->headersManager->add('kernel/math'); - $context->headersManager->add('kernel/operators'); - - $resolvedParams = $call->getReadOnlyResolvedParams($expression['parameters'], $context, $expression); - - return new CompiledExpression('long', 'zephir_mt_rand(zephir_get_intval('.$resolvedParams[0].'), zephir_get_intval('.$resolvedParams[1].'))', $expression); - } -} diff --git a/Library/Zephir.php b/Library/Zephir.php index 026f40c3e2..f900f84a3c 100644 --- a/Library/Zephir.php +++ b/Library/Zephir.php @@ -15,7 +15,7 @@ final class Zephir { - public const VERSION = '0.16.3-$Id$'; + public const VERSION = '0.17.0-$Id$'; public const LOGO = <<<'ASCII' _____ __ _ diff --git a/composer.json b/composer.json index 86ed1142e4..974932b774 100644 --- a/composer.json +++ b/composer.json @@ -38,7 +38,7 @@ "ext-pdo": "*", "ext-pdo_sqlite": "*", "ext-zip": "*", - "phpunit/phpunit": "^9.5", + "phpunit/phpunit": "9.5.28", "psr/log": "1.1.*" }, "config": { diff --git a/composer.lock b/composer.lock index dce5e74070..da93b3b90a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "df940a5a2884459b1dc66d8212fbcd85", + "content-hash": "3f5dd4044a9111ddb52745217aa41362", "packages": [ { "name": "monolog/monolog", - "version": "2.8.0", + "version": "2.9.1", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50" + "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/720488632c590286b88b80e62aa3d3d551ad4a50", - "reference": "720488632c590286b88b80e62aa3d3d551ad4a50", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f259e2b15fb95494c83f52d3caad003bbf5ffaa1", + "reference": "f259e2b15fb95494c83f52d3caad003bbf5ffaa1", "shasum": "" }, "require": { @@ -32,7 +32,7 @@ "doctrine/couchdb": "~1.0@dev", "elasticsearch/elasticsearch": "^7 || ^8", "ext-json": "*", - "graylog2/gelf-php": "^1.4.2", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", "guzzlehttp/guzzle": "^7.4", "guzzlehttp/psr7": "^2.2", "mongodb/mongodb": "^1.8", @@ -94,7 +94,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.8.0" + "source": "https://github.com/Seldaek/monolog/tree/2.9.1" }, "funding": [ { @@ -106,7 +106,7 @@ "type": "tidelift" } ], - "time": "2022-07-24T11:55:47+00:00" + "time": "2023-02-06T13:44:46+00:00" }, { "name": "psr/container", @@ -258,16 +258,16 @@ }, { "name": "symfony/console", - "version": "v5.4.12", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1" + "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1", - "reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1", + "url": "https://api.github.com/repos/symfony/console/zipball/dccb8d251a9017d5994c988b034d3e18aaabf740", + "reference": "dccb8d251a9017d5994c988b034d3e18aaabf740", "shasum": "" }, "require": { @@ -337,7 +337,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.12" + "source": "https://github.com/symfony/console/tree/v5.4.19" }, "funding": [ { @@ -353,7 +353,7 @@ "type": "tidelift" } ], - "time": "2022-08-17T13:18:05+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/deprecation-contracts", @@ -424,16 +424,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v5.4.9", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc" + "reference": "abf49cc084c087d94b4cb939c3f3672971784e0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", - "reference": "8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/abf49cc084c087d94b4cb939c3f3672971784e0c", + "reference": "abf49cc084c087d94b4cb939c3f3672971784e0c", "shasum": "" }, "require": { @@ -489,7 +489,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.9" + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.19" }, "funding": [ { @@ -505,7 +505,7 @@ "type": "tidelift" } ], - "time": "2022-05-05T16:45:39+00:00" + "time": "2023-01-01T08:32:19+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -588,16 +588,16 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4" + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", - "reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a", + "reference": "5bbc823adecdae860bb64756d639ecfec17b050a", "shasum": "" }, "require": { @@ -612,7 +612,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -650,7 +650,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" }, "funding": [ { @@ -666,20 +666,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "433d05519ce6990bf3530fba6957499d327395c2" + "reference": "511a08c03c1960e08a883f4cffcacd219b758354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2", - "reference": "433d05519ce6990bf3530fba6957499d327395c2", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354", + "reference": "511a08c03c1960e08a883f4cffcacd219b758354", "shasum": "" }, "require": { @@ -691,7 +691,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -731,7 +731,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0" }, "funding": [ { @@ -747,20 +747,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd" + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd", - "reference": "219aa369ceff116e673852dce47c3a41794c14bd", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6", + "reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6", "shasum": "" }, "require": { @@ -772,7 +772,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -815,7 +815,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0" }, "funding": [ { @@ -831,20 +831,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e" + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", - "reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534", + "reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534", "shasum": "" }, "require": { @@ -859,7 +859,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -898,7 +898,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0" }, "funding": [ { @@ -914,20 +914,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85" + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85", - "reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9", + "reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9", "shasum": "" }, "require": { @@ -936,7 +936,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -977,7 +977,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0" }, "funding": [ { @@ -993,20 +993,20 @@ "type": "tidelift" } ], - "time": "2022-05-24T11:49:31+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.26.0", + "version": "v1.27.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace" + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace", - "reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", + "reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936", "shasum": "" }, "require": { @@ -1015,7 +1015,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "1.26-dev" + "dev-main": "1.27-dev" }, "thanks": { "name": "symfony/polyfill", @@ -1060,7 +1060,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0" }, "funding": [ { @@ -1076,7 +1076,7 @@ "type": "tidelift" } ], - "time": "2022-05-10T07:21:04+00:00" + "time": "2022-11-03T14:55:06+00:00" }, { "name": "symfony/service-contracts", @@ -1163,16 +1163,16 @@ }, { "name": "symfony/string", - "version": "v5.4.12", + "version": "v5.4.19", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058" + "reference": "0a01071610fd861cc160dfb7e2682ceec66064cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058", - "reference": "2fc515e512d721bf31ea76bd02fe23ada4640058", + "url": "https://api.github.com/repos/symfony/string/zipball/0a01071610fd861cc160dfb7e2682ceec66064cb", + "reference": "0a01071610fd861cc160dfb7e2682ceec66064cb", "shasum": "" }, "require": { @@ -1229,7 +1229,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.12" + "source": "https://github.com/symfony/string/tree/v5.4.19" }, "funding": [ { @@ -1245,36 +1245,36 @@ "type": "tidelift" } ], - "time": "2022-08-12T17:03:11+00:00" + "time": "2023-01-01T08:32:19+00:00" } ], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.4.1", + "version": "1.5.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", - "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", + "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9", + "doctrine/coding-standard": "^9 || ^11", "ext-pdo": "*", "ext-phar": "*", "phpbench/phpbench": "^0.16 || ^1", "phpstan/phpstan": "^1.4", "phpstan/phpstan-phpunit": "^1", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.22" + "vimeo/psalm": "^4.30 || ^5.4" }, "type": "library", "autoload": { @@ -1301,7 +1301,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.1" + "source": "https://github.com/doctrine/instantiator/tree/1.5.0" }, "funding": [ { @@ -1317,7 +1317,7 @@ "type": "tidelift" } ], - "time": "2022-03-03T08:28:38+00:00" + "time": "2022-12-30T00:15:36+00:00" }, { "name": "myclabs/deep-copy", @@ -1380,16 +1380,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.1", + "version": "v4.15.3", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900" + "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", - "reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/570e980a201d8ed0236b0a62ddf2c9cbb2034039", + "reference": "570e980a201d8ed0236b0a62ddf2c9cbb2034039", "shasum": "" }, "require": { @@ -1430,9 +1430,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.3" }, - "time": "2022-09-04T07:30:47+00:00" + "time": "2023-01-16T22:05:37+00:00" }, { "name": "phar-io/manifest", @@ -1547,16 +1547,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.17", + "version": "9.2.24", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8" + "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8", - "reference": "aa94dc41e8661fe90c7316849907cba3007b10d8", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2cf940ebc6355a9d430462811b5aaa308b174bed", + "reference": "2cf940ebc6355a9d430462811b5aaa308b174bed", "shasum": "" }, "require": { @@ -1612,7 +1612,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.24" }, "funding": [ { @@ -1620,7 +1620,7 @@ "type": "github" } ], - "time": "2022-08-30T12:24:04+00:00" + "time": "2023-01-26T08:26:55+00:00" }, { "name": "phpunit/php-file-iterator", @@ -1865,20 +1865,20 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.24", + "version": "9.5.28", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5" + "reference": "954ca3113a03bf780d22f07bf055d883ee04b65e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0aa6097bef9fd42458a9b3c49da32c6ce6129c5", - "reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/954ca3113a03bf780d22f07bf055d883ee04b65e", + "reference": "954ca3113a03bf780d22f07bf055d883ee04b65e", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1", + "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -1896,14 +1896,14 @@ "phpunit/php-timer": "^5.0.2", "sebastian/cli-parser": "^1.0.1", "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.5", + "sebastian/comparator": "^4.0.8", "sebastian/diff": "^4.0.3", "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.3", + "sebastian/exporter": "^4.0.5", "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.1", + "sebastian/type": "^3.2", "sebastian/version": "^3.0.2" }, "suggest": { @@ -1947,7 +1947,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.24" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.28" }, "funding": [ { @@ -1957,9 +1957,13 @@ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" } ], - "time": "2022-08-30T07:42:16+00:00" + "time": "2023-01-14T12:32:24+00:00" }, { "name": "sebastian/cli-parser", @@ -2327,16 +2331,16 @@ }, { "name": "sebastian/environment", - "version": "5.1.4", + "version": "5.1.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", - "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", "shasum": "" }, "require": { @@ -2378,7 +2382,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" }, "funding": [ { @@ -2386,7 +2390,7 @@ "type": "github" } ], - "time": "2022-04-03T09:37:03+00:00" + "time": "2023-02-03T06:03:51+00:00" }, { "name": "sebastian/exporter", @@ -2700,16 +2704,16 @@ }, { "name": "sebastian/recursion-context", - "version": "4.0.4", + "version": "4.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", "shasum": "" }, "require": { @@ -2748,10 +2752,10 @@ } ], "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" }, "funding": [ { @@ -2759,7 +2763,7 @@ "type": "github" } ], - "time": "2020-10-26T13:17:30+00:00" + "time": "2023-02-03T06:07:39+00:00" }, { "name": "sebastian/resource-operations", @@ -2818,16 +2822,16 @@ }, { "name": "sebastian/type", - "version": "3.2.0", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e" + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", - "reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", "shasum": "" }, "require": { @@ -2862,7 +2866,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.0" + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" }, "funding": [ { @@ -2870,7 +2874,7 @@ "type": "github" } ], - "time": "2022-09-12T14:47:03+00:00" + "time": "2023-02-03T06:13:03+00:00" }, { "name": "sebastian/version", @@ -2997,5 +3001,5 @@ "ext-pdo_sqlite": "*", "ext-zip": "*" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.1.0" } diff --git a/docker-compose.yml b/docker-compose.yml index 65be0b1d4c..3bb2269d9a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -32,3 +32,13 @@ services: - "USER=Zephir" volumes: - .:/srv + + zephir-8.2: + container_name: phalcon-zephir-8.2 + hostname: zephir-82 + build: docker/8.2 + working_dir: /srv + environment: + - "USER=Zephir" + volumes: + - .:/srv diff --git a/docker/8.1/Dockerfile b/docker/8.1/Dockerfile index 9761962773..4e001b9f04 100644 --- a/docker/8.1/Dockerfile +++ b/docker/8.1/Dockerfile @@ -1,5 +1,5 @@ FROM composer:latest as composer -FROM php:8.1.0-fpm +FROM php:8.1-fpm RUN CPU_CORES="$(getconf _NPROCESSORS_ONLN)"; ENV MAKEFLAGS="-j${CPU_CORES}" diff --git a/docker/8.2/.bashrc b/docker/8.2/.bashrc new file mode 100644 index 0000000000..fd3a636e58 --- /dev/null +++ b/docker/8.2/.bashrc @@ -0,0 +1,5 @@ +#!/bin/bash + +alias test-ext='php -d extension=ext/modules/stub.so vendor/bin/phpunit --bootstrap tests/ext-bootstrap.php --testsuite Extension' +alias test-zephir='php vendor/bin/phpunit --colors=always --testsuite Zephir' +alias test-all='test-ext; test-zephir' diff --git a/docker/8.2/Dockerfile b/docker/8.2/Dockerfile new file mode 100644 index 0000000000..69174c95e8 --- /dev/null +++ b/docker/8.2/Dockerfile @@ -0,0 +1,25 @@ +FROM composer:latest as composer +FROM php:8.2-fpm + +RUN CPU_CORES="$(getconf _NPROCESSORS_ONLN)"; +ENV MAKEFLAGS="-j${CPU_CORES}" + +RUN apt update -y && apt install -y \ + wget \ + zip \ + git \ + apt-utils \ + sudo \ + libicu-dev \ + libgmp-dev \ + libzip-dev && \ + pecl install psr zephir_parser + +RUN docker-php-ext-install zip gmp intl mysqli && \ + docker-php-ext-enable psr zephir_parser + +COPY --from=composer /usr/bin/composer /usr/local/bin/composer +# Bash script with helper aliases +COPY ./.bashrc /root/.bashrc + +CMD ["php-fpm"] diff --git a/ext/kernel/backtrace.c b/ext/kernel/backtrace.c index 994d9fcee9..3278b32eec 100644 --- a/ext/kernel/backtrace.c +++ b/ext/kernel/backtrace.c @@ -10,7 +10,7 @@ */ #ifndef ZEPHIR_RELEASE -#if defined(linux) || defined(DARWIN) || defined(__APPLE__) +#if defined(linux) && !defined(ALPINE_LINUX) || defined(DARWIN) || defined(__APPLE__) #include #include diff --git a/ext/kernel/fcall.c b/ext/kernel/fcall.c index 447d281044..d017ec4db3 100644 --- a/ext/kernel/fcall.c +++ b/ext/kernel/fcall.c @@ -693,15 +693,19 @@ void zephir_eval_php(zval *str, zval *retval_ptr, char *context) original_compiler_options = CG(compiler_options); CG(compiler_options) = ZEND_COMPILE_DEFAULT_FOR_EVAL; -#if PHP_VERSION_ID < 80000 - new_op_array = zend_compile_string(str, context); +#if PHP_VERSION_ID >= 80200 + new_op_array = zend_compile_string(Z_STR_P(str), context, ZEND_COMPILE_POSITION_AFTER_OPEN_TAG); #else +#if PHP_VERSION_ID >= 80000 new_op_array = zend_compile_string(Z_STR_P(str), context); +#else + new_op_array = zend_compile_string(str, context); +#endif #endif + CG(compiler_options) = original_compiler_options; - if (new_op_array) - { + if (new_op_array) { EG(no_extensions) = 1; zend_try { zend_execute(new_op_array, &local_retval); diff --git a/ext/kernel/main.c b/ext/kernel/main.c index 95eba881d1..1bbd149639 100644 --- a/ext/kernel/main.c +++ b/ext/kernel/main.c @@ -568,9 +568,15 @@ void zephir_get_arg(zval *return_value, zend_long idx) } arg_count = ZEND_CALL_NUM_ARGS(ex); - if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { - RETURN_FALSE; - } +#if PHP_VERSION_ID >= 80200 + if (zend_forbid_dynamic_call() == FAILURE) { + RETURN_FALSE; + } +#else + if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { + RETURN_FALSE; + } +#endif if (UNEXPECTED((zend_ulong)idx >= arg_count)) { zend_error(E_WARNING, "func_get_arg(): Argument " ZEND_LONG_FMT " not passed to function", idx); diff --git a/ext/kernel/math.c b/ext/kernel/math.c index 437a2596c7..50b17e179f 100644 --- a/ext/kernel/math.c +++ b/ext/kernel/math.c @@ -181,20 +181,6 @@ void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3) } } -zend_long zephir_mt_rand(zend_long min, zend_long max) -{ - if (max < min) { - php_error_docref(NULL, E_WARNING, "max(" ZEND_LONG_FMT ") is smaller than min(" ZEND_LONG_FMT ")", max, min); - return 0; - } - - if (!BG(mt_rand_is_seeded)) { - php_mt_srand(GENERATE_SEED()); - } - - return php_mt_rand_range(min, max); -} - double zephir_ldexp(zval *value, zval *expval) { int exp = (int) zephir_get_numberval(expval); diff --git a/ext/kernel/math.h b/ext/kernel/math.h index ba4c401664..606c088ab6 100644 --- a/ext/kernel/math.h +++ b/ext/kernel/math.h @@ -23,7 +23,6 @@ double zephir_acos(zval *op1); double zephir_sqrt(zval *op1); double zephir_floor(zval *op1); -zend_long zephir_mt_rand(zend_long min, zend_long max); double zephir_ceil(zval *op1); void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3); diff --git a/ext/php_stub.h b/ext/php_stub.h index bcbc27147c..1b24455ca5 100644 --- a/ext/php_stub.h +++ b/ext/php_stub.h @@ -14,7 +14,7 @@ #define PHP_STUB_VERSION "1.0.0" #define PHP_STUB_EXTNAME "stub" #define PHP_STUB_AUTHOR "Phalcon Team and contributors" -#define PHP_STUB_ZEPVERSION "0.16.3-$Id$" +#define PHP_STUB_ZEPVERSION "0.17.0-$Id$" #define PHP_STUB_DESCRIPTION "Description test for
Test Extension." typedef struct _zephir_struct_db { diff --git a/ext/stub.c b/ext/stub.c index 8af92d7614..23752125f1 100644 --- a/ext/stub.c +++ b/ext/stub.c @@ -586,7 +586,7 @@ static PHP_MINFO_FUNCTION(stub) php_info_print_table_start(); php_info_print_table_header(2, "Test Extension support", "Value"); php_info_print_table_row(2, "Lifecycle hooks", "PHP provides several lifecycle events, which extensions can use to perform common initialization or shutdown tasks."); - php_info_print_table_row(2, "Static Analysis", "Test extensions' compiler provides static analysis of the compiled code."); + php_info_print_table_row(2, "Static Analysis", "Test extensions' compiler provides static analysis of the compiled code."); php_info_print_table_end(); php_info_print_table_start(); php_info_print_table_header(2, "Test variable", "Value"); diff --git a/ext/stub/fcall.zep.c b/ext/stub/fcall.zep.c index bd943bfbbc..060bdcab57 100644 --- a/ext/stub/fcall.zep.c +++ b/ext/stub/fcall.zep.c @@ -15,9 +15,8 @@ #include "kernel/memory.h" #include "kernel/string.h" #include "kernel/object.h" -#include "kernel/math.h" -#include "kernel/operators.h" #include "kernel/fcall.h" +#include "kernel/operators.h" #include "kernel/file.h" #include "kernel/main.h" #include "kernel/array.h" @@ -61,17 +60,23 @@ PHP_METHOD(Stub_Fcall, testCall1) PHP_METHOD(Stub_Fcall, testCall2) { zval _0$$3, _1$$3; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zephir_fcall_cache_entry *_2 = NULL; zval *this_ptr = getThis(); ZVAL_UNDEF(&_0$$3); ZVAL_UNDEF(&_1$$3); + ZEPHIR_MM_GROW(); while (1) { ZVAL_LONG(&_0$$3, 0); ZVAL_LONG(&_1$$3, 100); - RETURN_LONG(zephir_mt_rand(zephir_get_intval(&_0$$3), zephir_get_intval(&_1$$3))); + ZEPHIR_RETURN_CALL_FUNCTION("mt_rand", &_2, 31, &_0$$3, &_1$$3); + zephir_check_call_status(); + RETURN_MM(); } } @@ -97,18 +102,18 @@ PHP_METHOD(Stub_Fcall, testCall3) ZVAL_STRING(&_0, "inputfile.txt"); ZEPHIR_INIT_VAR(&_1); ZVAL_STRING(&_1, "r"); - ZEPHIR_CALL_FUNCTION(&handle, "fopen", &_2, 31, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&handle, "fopen", &_2, 32, &_0, &_1); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "outputfile.txt"); ZEPHIR_INIT_NVAR(&_1); ZVAL_STRING(&_1, "w"); - ZEPHIR_CALL_FUNCTION(&handle2, "fopen", &_2, 31, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&handle2, "fopen", &_2, 32, &_0, &_1); zephir_check_call_status(); if (zephir_is_true(&handle)) { while (1) { ZVAL_LONG(&_3$$4, 4096); - ZEPHIR_CALL_FUNCTION(&buffer, "fgets", &_4, 32, &handle, &_3$$4); + ZEPHIR_CALL_FUNCTION(&buffer, "fgets", &_4, 33, &handle, &_3$$4); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(&buffer)) { break; @@ -143,18 +148,18 @@ PHP_METHOD(Stub_Fcall, testCall4) ZVAL_STRING(&_0, "r"); ZEPHIR_INIT_VAR(&_1); ZVAL_STRING(&_1, "inputfile.txt"); - ZEPHIR_CALL_FUNCTION(&handle, "fopen", &_2, 31, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&handle, "fopen", &_2, 32, &_0, &_1); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "outputfile.txt"); ZEPHIR_INIT_NVAR(&_1); ZVAL_STRING(&_1, "w"); - ZEPHIR_CALL_FUNCTION(&handle2, "fopen", &_2, 31, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&handle2, "fopen", &_2, 32, &_0, &_1); zephir_check_call_status(); if (zephir_is_true(&handle)) { while (1) { ZVAL_LONG(&_3$$4, 4096); - ZEPHIR_CALL_FUNCTION(&buffer, "fgets", &_4, 32, &handle, &_3$$4); + ZEPHIR_CALL_FUNCTION(&buffer, "fgets", &_4, 33, &handle, &_3$$4); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(&buffer)) { break; @@ -204,7 +209,7 @@ PHP_METHOD(Stub_Fcall, testCall6) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_FUNCTION("rand", NULL, 33); + ZEPHIR_RETURN_CALL_FUNCTION("rand", NULL, 34); zephir_check_call_status(); RETURN_MM(); } @@ -219,7 +224,7 @@ PHP_METHOD(Stub_Fcall, testCall7) ZEPHIR_MM_GROW(); - ZEPHIR_CALL_FUNCTION(NULL, "memory_get_usage", NULL, 34); + ZEPHIR_CALL_FUNCTION(NULL, "memory_get_usage", NULL, 35); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); } @@ -342,7 +347,7 @@ PHP_METHOD(Stub_Fcall, testStrtokVarBySlash) ZEPHIR_INIT_VAR(&_0); ZVAL_STRING(&_0, "/"); - ZEPHIR_RETURN_CALL_FUNCTION("strtok", NULL, 35, value, &_0); + ZEPHIR_RETURN_CALL_FUNCTION("strtok", NULL, 36, value, &_0); zephir_check_call_status(); RETURN_MM(); } @@ -536,7 +541,7 @@ PHP_FUNCTION(g_stub_zephir_global_method_test) { zephir_check_call_status(); } - ZEPHIR_RETURN_CALL_METHOD(&_0, "teststrtokvarbyslash", NULL, 36, str); + ZEPHIR_RETURN_CALL_METHOD(&_0, "teststrtokvarbyslash", NULL, 37, str); zephir_check_call_status(); RETURN_MM(); } @@ -586,7 +591,7 @@ PHP_FUNCTION(f_Stub_zephir_namespaced_method_test) { } ZVAL_LONG(&_1, 5); - ZEPHIR_RETURN_CALL_METHOD(&_0, "testcall5", NULL, 37, str, &_1); + ZEPHIR_RETURN_CALL_METHOD(&_0, "testcall5", NULL, 38, str, &_1); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/fibonnaci.zep.c b/ext/stub/fibonnaci.zep.c index 1fe26ec1bc..b5d533012f 100644 --- a/ext/stub/fibonnaci.zep.c +++ b/ext/stub/fibonnaci.zep.c @@ -185,10 +185,10 @@ PHP_METHOD(Stub_Fibonnaci, fibonacciRecursive) RETURN_MM_LONG(1); } else { ZVAL_LONG(&_1$$6, (n - 1)); - ZEPHIR_CALL_METHOD(&_0$$6, this_ptr, "fibonaccirecursive", &_2, 38, &_1$$6); + ZEPHIR_CALL_METHOD(&_0$$6, this_ptr, "fibonaccirecursive", &_2, 39, &_1$$6); zephir_check_call_status(); ZVAL_LONG(&_1$$6, (n - 2)); - ZEPHIR_CALL_METHOD(&_3$$6, this_ptr, "fibonaccirecursive", &_2, 38, &_1$$6); + ZEPHIR_CALL_METHOD(&_3$$6, this_ptr, "fibonaccirecursive", &_2, 39, &_1$$6); zephir_check_call_status(); zephir_add_function(return_value, &_0$$6, &_3$$6); RETURN_MM(); @@ -227,10 +227,10 @@ PHP_METHOD(Stub_Fibonnaci, fibonacciFinalRecursive) RETURN_MM_LONG(1); } else { ZVAL_LONG(&_1$$6, (n - 1)); - ZEPHIR_CALL_METHOD(&_0$$6, this_ptr, "fibonaccifinalrecursive", &_2, 39, &_1$$6); + ZEPHIR_CALL_METHOD(&_0$$6, this_ptr, "fibonaccifinalrecursive", &_2, 40, &_1$$6); zephir_check_call_status(); ZVAL_LONG(&_1$$6, (n - 2)); - ZEPHIR_CALL_METHOD(&_3$$6, this_ptr, "fibonaccifinalrecursive", &_2, 39, &_1$$6); + ZEPHIR_CALL_METHOD(&_3$$6, this_ptr, "fibonaccifinalrecursive", &_2, 40, &_1$$6); zephir_check_call_status(); zephir_add_function(return_value, &_0$$6, &_3$$6); RETURN_MM(); diff --git a/ext/stub/flow.zep.c b/ext/stub/flow.zep.c index cc39ee4a7f..b9e63b7a86 100644 --- a/ext/stub/flow.zep.c +++ b/ext/stub/flow.zep.c @@ -775,13 +775,13 @@ PHP_METHOD(Stub_Flow, testWhileNextTest) array_init(&returnValue); while (1) { ZEPHIR_MAKE_REF(variable); - ZEPHIR_CALL_FUNCTION(&_0, "next", &_1, 40, variable); + ZEPHIR_CALL_FUNCTION(&_0, "next", &_1, 41, variable); ZEPHIR_UNREF(variable); zephir_check_call_status(); if (!(zephir_is_true(&_0))) { break; } - ZEPHIR_CALL_FUNCTION(&_2$$3, "current", &_3, 41, variable); + ZEPHIR_CALL_FUNCTION(&_2$$3, "current", &_3, 42, variable); zephir_check_call_status(); zephir_array_append(&returnValue, &_2$$3, PH_SEPARATE, "stub/flow.zep", 420); } @@ -815,11 +815,11 @@ PHP_METHOD(Stub_Flow, testWhileDoNextTest) ZEPHIR_INIT_VAR(&returnValue); array_init(&returnValue); do { - ZEPHIR_CALL_FUNCTION(&_0$$3, "current", &_1, 41, variable); + ZEPHIR_CALL_FUNCTION(&_0$$3, "current", &_1, 42, variable); zephir_check_call_status(); zephir_array_append(&returnValue, &_0$$3, PH_SEPARATE, "stub/flow.zep", 430); ZEPHIR_MAKE_REF(variable); - ZEPHIR_CALL_FUNCTION(&_2, "next", &_3, 40, variable); + ZEPHIR_CALL_FUNCTION(&_2, "next", &_3, 41, variable); ZEPHIR_UNREF(variable); zephir_check_call_status(); } while (zephir_is_true(&_2)); diff --git a/ext/stub/flow/switchflow.zep.c b/ext/stub/flow/switchflow.zep.c index eaef800d6e..64f686349f 100644 --- a/ext/stub/flow/switchflow.zep.c +++ b/ext/stub/flow/switchflow.zep.c @@ -15,7 +15,7 @@ #include "kernel/object.h" #include "kernel/operators.h" #include "kernel/memory.h" -#include "kernel/math.h" +#include "kernel/fcall.h" ZEPHIR_INIT_CLASS(Stub_Flow_SwitchFlow) @@ -268,12 +268,15 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch12) PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch13) { - zval *a_param = NULL, _0, _1; - long a, _2; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *a_param = NULL, _0, _1, _2; + long a; zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_2); #if PHP_VERSION_ID >= 80000 bool is_null_true = 1; ZEND_PARSE_PARAMETERS_START(1, 1) @@ -282,20 +285,23 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch13) #endif - zephir_fetch_params_without_memory_grow(1, 0, &a_param); + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &a_param); a = zephir_get_intval(a_param); ZVAL_LONG(&_0, 1); ZVAL_LONG(&_1, 2); + ZEPHIR_CALL_FUNCTION(&_2, "mt_rand", NULL, 31, &_0, &_1); + zephir_check_call_status(); do { - _2 = zephir_mt_rand(zephir_get_intval(&_0), zephir_get_intval(&_1)); - if (_2 == 100) { - RETURN_LONG(1); + if (ZEPHIR_IS_LONG(&_2, 100)) { + RETURN_MM_LONG(1); } - RETURN_LONG(0); + RETURN_MM_LONG(0); } while(0); + ZEPHIR_MM_RESTORE(); } PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch14) diff --git a/ext/stub/functions.zep.c b/ext/stub/functions.zep.c index 26fb1e78a9..1d429d3c2b 100644 --- a/ext/stub/functions.zep.c +++ b/ext/stub/functions.zep.c @@ -47,7 +47,7 @@ PHP_METHOD(Stub_Functions, filterVar1) ZVAL_STRING(&ret, "0"); ZVAL_LONG(&_0, 259); ZVAL_LONG(&_1, 20480); - ZEPHIR_CALL_FUNCTION(&_2, "filter_var", NULL, 42, &ret, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&_2, "filter_var", NULL, 43, &ret, &_0, &_1); zephir_check_call_status(); RETURN_MM_BOOL(ZEPHIR_IS_FALSE_IDENTICAL(&_2)); } @@ -74,7 +74,7 @@ PHP_METHOD(Stub_Functions, filterVar2) ZVAL_STRING(&ret, "0"); ZVAL_LONG(&_0, 259); ZVAL_LONG(&_1, 20480); - ZEPHIR_CALL_FUNCTION(&_2, "filter_var", NULL, 42, &ret, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&_2, "filter_var", NULL, 43, &ret, &_0, &_1); zephir_check_call_status(); RETURN_MM_BOOL(ZEPHIR_IS_FALSE(&_2)); } diff --git a/ext/stub/globals/serverrequestfactory.zep.c b/ext/stub/globals/serverrequestfactory.zep.c index 315151b15e..ad48f36a19 100644 --- a/ext/stub/globals/serverrequestfactory.zep.c +++ b/ext/stub/globals/serverrequestfactory.zep.c @@ -130,19 +130,19 @@ PHP_METHOD(Stub_Globals_ServerRequestFactory, load) if (!(ZEPHIR_IS_EMPTY(&_SERVER))) { ZEPHIR_CPY_WRT(&globalServer, &_SERVER); } - ZEPHIR_CALL_METHOD(&_0, this_ptr, "checknullarray", &_1, 43, &server, &globalServer); + ZEPHIR_CALL_METHOD(&_0, this_ptr, "checknullarray", &_1, 44, &server, &globalServer); zephir_check_call_status(); ZEPHIR_CPY_WRT(&server, &_0); - ZEPHIR_CALL_METHOD(&_2, this_ptr, "checknullarray", &_1, 43, &files, &globalFiles); + ZEPHIR_CALL_METHOD(&_2, this_ptr, "checknullarray", &_1, 44, &files, &globalFiles); zephir_check_call_status(); ZEPHIR_CPY_WRT(&files, &_2); - ZEPHIR_CALL_METHOD(&_3, this_ptr, "checknullarray", &_1, 43, &cookies, &globalCookies); + ZEPHIR_CALL_METHOD(&_3, this_ptr, "checknullarray", &_1, 44, &cookies, &globalCookies); zephir_check_call_status(); ZEPHIR_CPY_WRT(&cookies, &_3); - ZEPHIR_CALL_METHOD(&_4, this_ptr, "checknullarray", &_1, 43, &get, &globalGet); + ZEPHIR_CALL_METHOD(&_4, this_ptr, "checknullarray", &_1, 44, &get, &globalGet); zephir_check_call_status(); ZEPHIR_CPY_WRT(&get, &_4); - ZEPHIR_CALL_METHOD(&_5, this_ptr, "checknullarray", &_1, 43, &post, &globalPost); + ZEPHIR_CALL_METHOD(&_5, this_ptr, "checknullarray", &_1, 44, &post, &globalPost); zephir_check_call_status(); ZEPHIR_CPY_WRT(&post, &_5); zephir_create_array(return_value, 5, 0); diff --git a/ext/stub/instance.zep.c b/ext/stub/instance.zep.c index e0b503c8da..2df0a1fbb5 100644 --- a/ext/stub/instance.zep.c +++ b/ext/stub/instance.zep.c @@ -93,7 +93,7 @@ PHP_METHOD(Stub_Instance, testIssue1339) zephir_array_fast_append(¶meters, &_0); ZEPHIR_INIT_NVAR(&_0); object_init_ex(&_0, stub_arrayobject_ce); - ZEPHIR_CALL_METHOD(NULL, &_0, "__construct", NULL, 44); + ZEPHIR_CALL_METHOD(NULL, &_0, "__construct", NULL, 45); zephir_check_call_status(); zephir_array_fast_append(¶meters, &_0); ZEPHIR_INIT_NVAR(&_0); diff --git a/ext/stub/invoke.zep.c b/ext/stub/invoke.zep.c index 3a743f5415..d9fc449852 100644 --- a/ext/stub/invoke.zep.c +++ b/ext/stub/invoke.zep.c @@ -71,7 +71,7 @@ PHP_METHOD(Stub_Invoke, test) ZEPHIR_INIT_VAR(&func); object_init_ex(&func, stub_invoke_ce); - ZEPHIR_CALL_METHOD(NULL, &func, "__construct", NULL, 45); + ZEPHIR_CALL_METHOD(NULL, &func, "__construct", NULL, 46); zephir_check_call_status(); ZEPHIR_RETURN_CALL_ZVAL_FUNCTION(&func, NULL, 0); zephir_check_call_status(); diff --git a/ext/stub/issue2165/issue.zep.c b/ext/stub/issue2165/issue.zep.c index 720a3ce3b7..fe042aa89b 100644 --- a/ext/stub/issue2165/issue.zep.c +++ b/ext/stub/issue2165/issue.zep.c @@ -66,7 +66,7 @@ PHP_METHOD(Stub_Issue2165_Issue, build) object_init_ex(return_value, stub_issue2165_issue_ce); ZVAL_BOOL(&_0, 1); - ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 46, &a, &_0); + ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 47, &a, &_0); zephir_check_call_status(); RETURN_MM(); } @@ -142,11 +142,11 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) m = zephir_fast_count_int(&a); - ZEPHIR_CALL_FUNCTION(&_0, "current", NULL, 41, &a); + ZEPHIR_CALL_FUNCTION(&_0, "current", NULL, 42, &a); zephir_check_call_status(); n = zephir_fast_count_int(&_0); if (validate) { - ZEPHIR_CALL_FUNCTION(&_1$$3, "array_values", &_2, 47, &a); + ZEPHIR_CALL_FUNCTION(&_1$$3, "array_values", &_2, 48, &a); zephir_check_call_status(); ZEPHIR_CPY_WRT(&a, &_1$$3); zephir_is_iterable(&a, 0, "stub/issue2165/issue.zep", 46); @@ -165,13 +165,13 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) ZEPHIR_INIT_NVAR(&_7$$5); object_init_ex(&_7$$5, spl_ce_InvalidArgumentException); ZVAL_LONG(&_8$$5, n); - ZEPHIR_CALL_FUNCTION(&_9$$5, "strval", &_10, 48, &_8$$5); + ZEPHIR_CALL_FUNCTION(&_9$$5, "strval", &_10, 49, &_8$$5); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_11$$5); ZVAL_LONG(&_11$$5, zephir_fast_count_int(&rowA)); ZEPHIR_INIT_NVAR(&_12$$5); ZEPHIR_CONCAT_SSVSVSSVS(&_12$$5, "The number of columns", " must be equal for all rows, ", &_9$$5, " needed but ", &_11$$5, " given", " at row offset ", &i, "."); - ZEPHIR_CALL_METHOD(NULL, &_7$$5, "__construct", &_13, 49, &_12$$5); + ZEPHIR_CALL_METHOD(NULL, &_7$$5, "__construct", &_13, 50, &_12$$5); zephir_check_call_status(); zephir_throw_exception_debug(&_7$$5, "stub/issue2165/issue.zep", 33); ZEPHIR_MM_RESTORE(); @@ -185,7 +185,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) ZVAL_COPY(&valueA, _14$$4); _16$$6 = !(Z_TYPE_P(&valueA) == IS_LONG); if (_16$$6) { - ZEPHIR_CALL_FUNCTION(&_17$$6, "is_float", &_18, 50, &valueA); + ZEPHIR_CALL_FUNCTION(&_17$$6, "is_float", &_18, 51, &valueA); zephir_check_call_status(); _16$$6 = !zephir_is_true(&_17$$6); } @@ -196,7 +196,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) zephir_gettype(&_20$$7, &valueA); ZEPHIR_INIT_NVAR(&_21$$7); ZEPHIR_CONCAT_SSVS(&_21$$7, "Matrix element must", " be an integer or floating point number, ", &_20$$7, " given."); - ZEPHIR_CALL_METHOD(NULL, &_19$$7, "__construct", &_13, 49, &_21$$7); + ZEPHIR_CALL_METHOD(NULL, &_19$$7, "__construct", &_13, 50, &_21$$7); zephir_check_call_status(); zephir_throw_exception_debug(&_19$$7, "stub/issue2165/issue.zep", 40); ZEPHIR_MM_RESTORE(); @@ -216,7 +216,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) zephir_check_call_status(); _22$$8 = !(Z_TYPE_P(&valueA) == IS_LONG); if (_22$$8) { - ZEPHIR_CALL_FUNCTION(&_23$$8, "is_float", &_18, 50, &valueA); + ZEPHIR_CALL_FUNCTION(&_23$$8, "is_float", &_18, 51, &valueA); zephir_check_call_status(); _22$$8 = !zephir_is_true(&_23$$8); } @@ -227,7 +227,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) zephir_gettype(&_25$$9, &valueA); ZEPHIR_INIT_NVAR(&_26$$9); ZEPHIR_CONCAT_SSVS(&_26$$9, "Matrix element must", " be an integer or floating point number, ", &_25$$9, " given."); - ZEPHIR_CALL_METHOD(NULL, &_24$$9, "__construct", &_13, 49, &_26$$9); + ZEPHIR_CALL_METHOD(NULL, &_24$$9, "__construct", &_13, 50, &_26$$9); zephir_check_call_status(); zephir_throw_exception_debug(&_24$$9, "stub/issue2165/issue.zep", 40); ZEPHIR_MM_RESTORE(); @@ -238,7 +238,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) } } ZEPHIR_INIT_NVAR(&valueA); - ZEPHIR_CALL_FUNCTION(&_27$$4, "array_values", &_2, 47, &rowA); + ZEPHIR_CALL_FUNCTION(&_27$$4, "array_values", &_2, 48, &rowA); zephir_check_call_status(); zephir_array_append(&rowA, &_27$$4, PH_SEPARATE, "stub/issue2165/issue.zep", 44); } ZEND_HASH_FOREACH_END(); @@ -259,13 +259,13 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) ZEPHIR_INIT_NVAR(&_28$$11); object_init_ex(&_28$$11, spl_ce_InvalidArgumentException); ZVAL_LONG(&_29$$11, n); - ZEPHIR_CALL_FUNCTION(&_30$$11, "strval", &_10, 48, &_29$$11); + ZEPHIR_CALL_FUNCTION(&_30$$11, "strval", &_10, 49, &_29$$11); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_31$$11); ZVAL_LONG(&_31$$11, zephir_fast_count_int(&rowA)); ZEPHIR_INIT_NVAR(&_32$$11); ZEPHIR_CONCAT_SSVSVSSVS(&_32$$11, "The number of columns", " must be equal for all rows, ", &_30$$11, " needed but ", &_31$$11, " given", " at row offset ", &i, "."); - ZEPHIR_CALL_METHOD(NULL, &_28$$11, "__construct", &_13, 49, &_32$$11); + ZEPHIR_CALL_METHOD(NULL, &_28$$11, "__construct", &_13, 50, &_32$$11); zephir_check_call_status(); zephir_throw_exception_debug(&_28$$11, "stub/issue2165/issue.zep", 33); ZEPHIR_MM_RESTORE(); @@ -279,7 +279,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) ZVAL_COPY(&valueA, _33$$10); _35$$12 = !(Z_TYPE_P(&valueA) == IS_LONG); if (_35$$12) { - ZEPHIR_CALL_FUNCTION(&_36$$12, "is_float", &_18, 50, &valueA); + ZEPHIR_CALL_FUNCTION(&_36$$12, "is_float", &_18, 51, &valueA); zephir_check_call_status(); _35$$12 = !zephir_is_true(&_36$$12); } @@ -290,7 +290,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) zephir_gettype(&_38$$13, &valueA); ZEPHIR_INIT_NVAR(&_39$$13); ZEPHIR_CONCAT_SSVS(&_39$$13, "Matrix element must", " be an integer or floating point number, ", &_38$$13, " given."); - ZEPHIR_CALL_METHOD(NULL, &_37$$13, "__construct", &_13, 49, &_39$$13); + ZEPHIR_CALL_METHOD(NULL, &_37$$13, "__construct", &_13, 50, &_39$$13); zephir_check_call_status(); zephir_throw_exception_debug(&_37$$13, "stub/issue2165/issue.zep", 40); ZEPHIR_MM_RESTORE(); @@ -310,7 +310,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) zephir_check_call_status(); _40$$14 = !(Z_TYPE_P(&valueA) == IS_LONG); if (_40$$14) { - ZEPHIR_CALL_FUNCTION(&_41$$14, "is_float", &_18, 50, &valueA); + ZEPHIR_CALL_FUNCTION(&_41$$14, "is_float", &_18, 51, &valueA); zephir_check_call_status(); _40$$14 = !zephir_is_true(&_41$$14); } @@ -321,7 +321,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) zephir_gettype(&_43$$15, &valueA); ZEPHIR_INIT_NVAR(&_44$$15); ZEPHIR_CONCAT_SSVS(&_44$$15, "Matrix element must", " be an integer or floating point number, ", &_43$$15, " given."); - ZEPHIR_CALL_METHOD(NULL, &_42$$15, "__construct", &_13, 49, &_44$$15); + ZEPHIR_CALL_METHOD(NULL, &_42$$15, "__construct", &_13, 50, &_44$$15); zephir_check_call_status(); zephir_throw_exception_debug(&_42$$15, "stub/issue2165/issue.zep", 40); ZEPHIR_MM_RESTORE(); @@ -332,7 +332,7 @@ PHP_METHOD(Stub_Issue2165_Issue, __construct) } } ZEPHIR_INIT_NVAR(&valueA); - ZEPHIR_CALL_FUNCTION(&_45$$10, "array_values", &_2, 47, &rowA); + ZEPHIR_CALL_FUNCTION(&_45$$10, "array_values", &_2, 48, &rowA); zephir_check_call_status(); zephir_array_append(&rowA, &_45$$10, PH_SEPARATE, "stub/issue2165/issue.zep", 44); ZEPHIR_CALL_METHOD(NULL, &a, "next", NULL, 0); @@ -383,7 +383,7 @@ PHP_METHOD(Stub_Issue2165_Issue, quick) object_init_ex(return_value, stub_issue2165_issue_ce); ZVAL_BOOL(&_0, 0); - ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 46, &a, &_0); + ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 47, &a, &_0); zephir_check_call_status(); RETURN_MM(); } @@ -465,7 +465,7 @@ PHP_METHOD(Stub_Issue2165_Issue, fill) _0 = !(Z_TYPE_P(value) == IS_LONG); if (_0) { - ZEPHIR_CALL_FUNCTION(&_1, "is_float", NULL, 50, value); + ZEPHIR_CALL_FUNCTION(&_1, "is_float", NULL, 51, value); zephir_check_call_status(); _0 = !zephir_is_true(&_1); } @@ -476,7 +476,7 @@ PHP_METHOD(Stub_Issue2165_Issue, fill) zephir_gettype(&_3$$3, value); ZEPHIR_INIT_VAR(&_4$$3); ZEPHIR_CONCAT_SSVS(&_4$$3, "Value must be an", " integer or floating point number, ", &_3$$3, " given."); - ZEPHIR_CALL_METHOD(NULL, &_2$$3, "__construct", NULL, 49, &_4$$3); + ZEPHIR_CALL_METHOD(NULL, &_2$$3, "__construct", NULL, 50, &_4$$3); zephir_check_call_status(); zephir_throw_exception_debug(&_2$$3, "stub/issue2165/issue.zep", 68); ZEPHIR_MM_RESTORE(); @@ -486,11 +486,11 @@ PHP_METHOD(Stub_Issue2165_Issue, fill) ZEPHIR_INIT_VAR(&_5$$4); object_init_ex(&_5$$4, spl_ce_InvalidArgumentException); ZVAL_LONG(&_6$$4, m); - ZEPHIR_CALL_FUNCTION(&_7$$4, "strval", &_8, 48, &_6$$4); + ZEPHIR_CALL_FUNCTION(&_7$$4, "strval", &_8, 49, &_6$$4); zephir_check_call_status(); ZEPHIR_INIT_VAR(&_9$$4); ZEPHIR_CONCAT_SSVS(&_9$$4, "M must be", " greater than 0, ", &_7$$4, " given."); - ZEPHIR_CALL_METHOD(NULL, &_5$$4, "__construct", NULL, 49, &_9$$4); + ZEPHIR_CALL_METHOD(NULL, &_5$$4, "__construct", NULL, 50, &_9$$4); zephir_check_call_status(); zephir_throw_exception_debug(&_5$$4, "stub/issue2165/issue.zep", 73); ZEPHIR_MM_RESTORE(); @@ -500,11 +500,11 @@ PHP_METHOD(Stub_Issue2165_Issue, fill) ZEPHIR_INIT_VAR(&_10$$5); object_init_ex(&_10$$5, spl_ce_InvalidArgumentException); ZVAL_LONG(&_11$$5, n); - ZEPHIR_CALL_FUNCTION(&_12$$5, "strval", &_8, 48, &_11$$5); + ZEPHIR_CALL_FUNCTION(&_12$$5, "strval", &_8, 49, &_11$$5); zephir_check_call_status(); ZEPHIR_INIT_VAR(&_13$$5); ZEPHIR_CONCAT_SSVS(&_13$$5, "N must be", " greater than 0, ", &_12$$5, " given."); - ZEPHIR_CALL_METHOD(NULL, &_10$$5, "__construct", NULL, 49, &_13$$5); + ZEPHIR_CALL_METHOD(NULL, &_10$$5, "__construct", NULL, 50, &_13$$5); zephir_check_call_status(); zephir_throw_exception_debug(&_10$$5, "stub/issue2165/issue.zep", 78); ZEPHIR_MM_RESTORE(); diff --git a/ext/stub/issue663.zep.c b/ext/stub/issue663.zep.c index a6ac3c53ce..d4862a44c6 100644 --- a/ext/stub/issue663.zep.c +++ b/ext/stub/issue663.zep.c @@ -55,7 +55,7 @@ PHP_METHOD(Stub_Issue663, is_array_assoc) if (_0) { RETURN_MM_BOOL(0); } - ZEPHIR_RETURN_CALL_STATIC("is_array_assoc_internal", &_1, 51, arr); + ZEPHIR_RETURN_CALL_STATIC("is_array_assoc_internal", &_1, 52, arr); zephir_check_call_status(); RETURN_MM(); } @@ -136,7 +136,7 @@ PHP_METHOD(Stub_Issue663, is_array_indexed) if (_0) { RETURN_MM_BOOL(0); } - ZEPHIR_CALL_STATIC(&_1, "is_array_assoc_internal", &_2, 51, arr); + ZEPHIR_CALL_STATIC(&_1, "is_array_assoc_internal", &_2, 52, arr); zephir_check_call_status(); RETURN_MM_BOOL(!zephir_is_true(&_1)); } diff --git a/ext/stub/mcall.zep.c b/ext/stub/mcall.zep.c index bc706450cc..485b8b5164 100644 --- a/ext/stub/mcall.zep.c +++ b/ext/stub/mcall.zep.c @@ -177,7 +177,7 @@ PHP_METHOD(Stub_Mcall, testCall3) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 52); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 53); zephir_check_call_status(); RETURN_MM(); } @@ -258,7 +258,7 @@ PHP_METHOD(Stub_Mcall, testCall6) zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 53, a, b); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 54, a, b); zephir_check_call_status(); RETURN_MM(); } @@ -353,7 +353,7 @@ PHP_METHOD(Stub_Mcall, testCall9) zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod6", NULL, 53, a, b); + ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod6", NULL, 54, a, b); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_1, this_ptr, "testmethod5", NULL, 0, a, b); zephir_check_call_status(); @@ -401,7 +401,7 @@ PHP_METHOD(Stub_Mcall, testCall12) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 52); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 53); zephir_check_call_status(); RETURN_MM(); } @@ -482,7 +482,7 @@ PHP_METHOD(Stub_Mcall, testCall15) zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 53, a, b); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 54, a, b); zephir_check_call_status(); RETURN_MM(); } @@ -551,7 +551,7 @@ PHP_METHOD(Stub_Mcall, testCall18) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod7", NULL, 54); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod7", NULL, 55); zephir_check_call_status(); RETURN_MM(); } @@ -692,7 +692,7 @@ PHP_METHOD(Stub_Mcall, testCall22) _0 = 1; } i = _1; - ZEPHIR_CALL_METHOD(&_3$$3, this_ptr, "testmethod21", &_4, 55, p, p); + ZEPHIR_CALL_METHOD(&_3$$3, this_ptr, "testmethod21", &_4, 56, p, p); zephir_check_call_status(); j += zephir_get_numberval(&_3$$3); } @@ -1116,7 +1116,7 @@ PHP_METHOD(Stub_Mcall, testCallablePass) ZEPHIR_INIT_VAR(&_0); ZEPHIR_INIT_NVAR(&_0); zephir_create_closure_ex(&_0, NULL, stub_12__closure_ce, SL("__invoke")); - ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 56, &_0); + ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 57, &_0); zephir_check_call_status(); RETURN_MM(); } @@ -1149,7 +1149,7 @@ PHP_METHOD(Stub_Mcall, testCallableArrayThisMethodPass) ZEPHIR_INIT_VAR(&_1); ZVAL_STRING(&_1, "bb"); zephir_array_fast_append(&_0, &_1); - ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 56, &_0); + ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 57, &_0); zephir_check_call_status(); RETURN_MM(); } @@ -1173,7 +1173,7 @@ PHP_METHOD(Stub_Mcall, aa) zephir_check_call_status(); } - ZEPHIR_RETURN_CALL_METHOD(&a, "bb", NULL, 57); + ZEPHIR_RETURN_CALL_METHOD(&a, "bb", NULL, 58); zephir_check_call_status(); RETURN_MM(); } @@ -1203,18 +1203,15 @@ PHP_METHOD(Stub_Mcall, issue1136) ZVAL_STRING(&_1, "8.0.0"); ZEPHIR_INIT_VAR(&_2); ZVAL_STRING(&_2, ">="); - ZEPHIR_CALL_FUNCTION(&_3, "version_compare", NULL, 58, &_0, &_1, &_2); + ZEPHIR_CALL_FUNCTION(&_3, "version_compare", NULL, 59, &_0, &_1, &_2); zephir_check_call_status(); if (zephir_is_true(&_3)) { ZEPHIR_INIT_VAR(&_finfo); object_init_ex(&_finfo, zephir_get_internal_ce(SL("finfo"))); - if (zephir_has_constructor(&_finfo)) { - ZEPHIR_CALL_METHOD(NULL, &_finfo, "__construct", NULL, 0); - zephir_check_call_status(); - } - + ZEPHIR_CALL_METHOD(NULL, &_finfo, "__construct", NULL, 0); + zephir_check_call_status(); } else { - ZEPHIR_CALL_FUNCTION(&_finfo, "finfo_open", NULL, 59); + ZEPHIR_CALL_FUNCTION(&_finfo, "finfo_open", NULL, 60); zephir_check_call_status(); } RETURN_CCTOR(&_finfo); diff --git a/ext/stub/mcallchained.zep.c b/ext/stub/mcallchained.zep.c index 0d9f39af4a..19b772a6e5 100644 --- a/ext/stub/mcallchained.zep.c +++ b/ext/stub/mcallchained.zep.c @@ -109,7 +109,7 @@ PHP_METHOD(Stub_McallChained, testChained3) ZEPHIR_MM_GROW(); - ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod3", NULL, 60); + ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod3", NULL, 61); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_1, &_0, "testmethod2", NULL, 0); zephir_check_call_status(); diff --git a/ext/stub/nativearray.zep.c b/ext/stub/nativearray.zep.c index d1fbeceb9d..5b2082a793 100644 --- a/ext/stub/nativearray.zep.c +++ b/ext/stub/nativearray.zep.c @@ -1968,7 +1968,7 @@ PHP_METHOD(Stub_NativeArray, issue709) ZEPHIR_INIT_NVAR(&_3$$3); ZVAL_LONG(&_3$$3, 2); zephir_array_fast_append(&arr, &_3$$3); - ZEPHIR_CALL_FUNCTION(&_5$$3, "array_rand", &_6, 61, &arr); + ZEPHIR_CALL_FUNCTION(&_5$$3, "array_rand", &_6, 62, &arr); zephir_check_call_status(); zephir_array_fetch(&_4$$3, &arr, &_5$$3, PH_NOISY | PH_READONLY, "stub/nativearray.zep", 626); ZEPHIR_CPY_WRT(&arr, &_4$$3); @@ -2022,7 +2022,7 @@ PHP_METHOD(Stub_NativeArray, Issue1140) zephir_read_property(&_2, this_ptr, ZEND_STRL("prefixes"), PH_NOISY_CC | PH_READONLY); zephir_array_fetch(&_3, &_2, &prefix, PH_NOISY | PH_READONLY, "stub/nativearray.zep", 639); ZEPHIR_MAKE_REF(&_3); - ZEPHIR_CALL_FUNCTION(NULL, "array_push", NULL, 62, &_3, &baseDir); + ZEPHIR_CALL_FUNCTION(NULL, "array_push", NULL, 63, &_3, &baseDir); ZEPHIR_UNREF(&_3); zephir_check_call_status(); RETURN_MM_MEMBER(getThis(), "prefixes"); diff --git a/ext/stub/oo.zep.c b/ext/stub/oo.zep.c index e12c842b5a..73d5dc903f 100644 --- a/ext/stub/oo.zep.c +++ b/ext/stub/oo.zep.c @@ -59,7 +59,7 @@ PHP_METHOD(Stub_Oo, testInstance2) ZEPHIR_INIT_VAR(&o); object_init_ex(&o, stub_oo_ooconstruct_ce); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 63); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64); zephir_check_call_status(); RETURN_CCTOR(&o); } @@ -106,7 +106,7 @@ PHP_METHOD(Stub_Oo, testInstance4) ZVAL_STRING(&b, "b"); ZEPHIR_INIT_VAR(&o); object_init_ex(&o, stub_oo_ooconstructparams_ce); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64, &a, &b); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 65, &a, &b); zephir_check_call_status(); RETURN_CCTOR(&o); } @@ -131,7 +131,7 @@ PHP_METHOD(Stub_Oo, testInstance5) ZVAL_STRING(&_0, "a"); ZEPHIR_INIT_VAR(&_1); ZVAL_STRING(&_1, "b"); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 65, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); } @@ -154,7 +154,7 @@ PHP_METHOD(Stub_Oo, testInstance6) object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_LONG(&_0, 1); ZVAL_LONG(&_1, 2); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 65, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); } @@ -177,7 +177,7 @@ PHP_METHOD(Stub_Oo, testInstance7) object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_BOOL(&_0, 0); ZVAL_BOOL(&_1, 1); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 65, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); } @@ -200,7 +200,7 @@ PHP_METHOD(Stub_Oo, testInstance8) object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_DOUBLE(&_0, 1.2); ZVAL_DOUBLE(&_1, 7.30); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 65, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); } @@ -259,7 +259,7 @@ PHP_METHOD(Stub_Oo, testInstance11) object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_LONG(&_0, 1); ZVAL_LONG(&_1, 2); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 64, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 65, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); } diff --git a/ext/stub/oo/deprecatedmethods.zep.c b/ext/stub/oo/deprecatedmethods.zep.c index 6597f69dfe..a7213f1622 100644 --- a/ext/stub/oo/deprecatedmethods.zep.c +++ b/ext/stub/oo/deprecatedmethods.zep.c @@ -43,7 +43,7 @@ PHP_METHOD(Stub_Oo_DeprecatedMethods, normalMethod) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "privatedeprecated", NULL, 65); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "privatedeprecated", NULL, 66); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/oo/oodestruct.zep.c b/ext/stub/oo/oodestruct.zep.c index fcfcb11f6d..6b1185966f 100644 --- a/ext/stub/oo/oodestruct.zep.c +++ b/ext/stub/oo/oodestruct.zep.c @@ -227,11 +227,11 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) zephir_read_property(&_1, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); if ((zephir_file_exists(&_1) == SUCCESS)) { zephir_read_property(&_2$$4, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&_3$$4, "realpath", NULL, 66, &_2$$4); + ZEPHIR_CALL_FUNCTION(&_3$$4, "realpath", NULL, 67, &_2$$4); zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("realpath"), &_3$$4); zephir_read_property(&_4$$4, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&imageinfo, "getimagesize", NULL, 67, &_4$$4); + ZEPHIR_CALL_FUNCTION(&imageinfo, "getimagesize", NULL, 68, &_4$$4); zephir_check_call_status(); if (zephir_is_true(&imageinfo)) { zephir_array_fetch_long(&_5$$5, &imageinfo, 0, PH_NOISY | PH_READONLY, "stub/oo/oodestruct.zep", 62); @@ -349,7 +349,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("image"), &_37$$13); zephir_read_property(&_35$$13, this_ptr, ZEND_STRL("image"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(NULL, "imagealphablending", NULL, 68, &_35$$13, &__$true); + ZEPHIR_CALL_FUNCTION(NULL, "imagealphablending", NULL, 69, &_35$$13, &__$true); zephir_check_call_status(); zephir_read_property(&_36$$13, this_ptr, ZEND_STRL("image"), PH_NOISY_CC | PH_READONLY); ZVAL_BOOL(&_38$$13, 1); @@ -446,7 +446,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, check) ZVAL_STRING(&_4, "2.0.1"); ZEPHIR_INIT_VAR(&_5); ZVAL_STRING(&_5, ">="); - ZEPHIR_CALL_FUNCTION(&_6, "version_compare", NULL, 58, &version, &_4, &_5); + ZEPHIR_CALL_FUNCTION(&_6, "version_compare", NULL, 59, &version, &_4, &_5); zephir_check_call_status(); if (UNEXPECTED(!zephir_is_true(&_6))) { ZEPHIR_INIT_VAR(&_7$$5); @@ -514,13 +514,13 @@ PHP_METHOD(Stub_Oo_OoDestruct, getVersion) ZVAL_NULL(&version); ZEPHIR_INIT_VAR(&_3); ZVAL_STRING(&_3, "GD_VERSION"); - ZEPHIR_CALL_FUNCTION(&_4, "defined", NULL, 69, &_3); + ZEPHIR_CALL_FUNCTION(&_4, "defined", NULL, 70, &_3); zephir_check_call_status(); if (zephir_is_true(&_4)) { ZEPHIR_INIT_NVAR(&version); ZEPHIR_GET_CONSTANT(&version, "GD_VERSION"); } else { - ZEPHIR_CALL_FUNCTION(&info, "gd_info", NULL, 70); + ZEPHIR_CALL_FUNCTION(&info, "gd_info", NULL, 71); zephir_check_call_status(); ZEPHIR_INIT_VAR(&matches); ZVAL_NULL(&matches); diff --git a/ext/stub/oo/scopes/privatescopetester.zep.c b/ext/stub/oo/scopes/privatescopetester.zep.c index 59f0155293..f442dc765f 100644 --- a/ext/stub/oo/scopes/privatescopetester.zep.c +++ b/ext/stub/oo/scopes/privatescopetester.zep.c @@ -138,7 +138,7 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getObjVars) zephir_fetch_params(1, 1, 0, &obj); - ZEPHIR_RETURN_CALL_FUNCTION("get_object_vars", NULL, 71, obj); + ZEPHIR_RETURN_CALL_FUNCTION("get_object_vars", NULL, 72, obj); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/optimizers/strreplace.zep.c b/ext/stub/optimizers/strreplace.zep.c index 0ef180fef1..8ddc9bccdd 100644 --- a/ext/stub/optimizers/strreplace.zep.c +++ b/ext/stub/optimizers/strreplace.zep.c @@ -209,7 +209,7 @@ PHP_METHOD(Stub_Optimizers_StrReplace, issue732B) zephir_array_fast_append(&replacements, &_0); ZEPHIR_INIT_VAR(&subject); ZVAL_STRING(&subject, "The quick brown fox jumped over the lazy dog."); - ZEPHIR_RETURN_CALL_FUNCTION("preg_replace", NULL, 72, &patterns, &replacements, &subject); + ZEPHIR_RETURN_CALL_FUNCTION("preg_replace", NULL, 73, &patterns, &replacements, &subject); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/properties/getobjectvars.zep.c b/ext/stub/properties/getobjectvars.zep.c index 96b67328c3..b37947bdf1 100644 --- a/ext/stub/properties/getobjectvars.zep.c +++ b/ext/stub/properties/getobjectvars.zep.c @@ -40,7 +40,7 @@ PHP_METHOD(Stub_Properties_GetObjectVars, issue1245) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_FUNCTION("get_object_vars", NULL, 71, this_ptr); + ZEPHIR_RETURN_CALL_FUNCTION("get_object_vars", NULL, 72, this_ptr); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/properties/propertyarray.zep.c b/ext/stub/properties/propertyarray.zep.c index 0c6ddddd1b..9cef65335b 100644 --- a/ext/stub/properties/propertyarray.zep.c +++ b/ext/stub/properties/propertyarray.zep.c @@ -146,12 +146,12 @@ PHP_METHOD(Stub_Properties_PropertyArray, testIssues1831) } zephir_read_property(&_0$$3, this_ptr, ZEND_STRL("otherArray"), PH_NOISY_CC | PH_READONLY); ZEPHIR_MAKE_REF(&_0$$3); - ZEPHIR_CALL_FUNCTION(&info, "array_shift", &_1, 73, &_0$$3); + ZEPHIR_CALL_FUNCTION(&info, "array_shift", &_1, 74, &_0$$3); ZEPHIR_UNREF(&_0$$3); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_2$$3); ZVAL_STRING(&_2$$3, "header"); - ZEPHIR_CALL_FUNCTION(&_3$$3, "stripos", &_4, 74, &info, &_2$$3); + ZEPHIR_CALL_FUNCTION(&_3$$3, "stripos", &_4, 75, &info, &_2$$3); zephir_check_call_status(); if (!ZEPHIR_IS_FALSE_IDENTICAL(&_3$$3)) { zephir_array_append(&headers, &info, PH_SEPARATE, "stub/properties/propertyarray.zep", 51); @@ -159,7 +159,7 @@ PHP_METHOD(Stub_Properties_PropertyArray, testIssues1831) } else { zephir_read_property(&_5$$5, this_ptr, ZEND_STRL("otherArray"), PH_NOISY_CC | PH_READONLY); ZEPHIR_MAKE_REF(&_5$$5); - ZEPHIR_CALL_FUNCTION(NULL, "array_unshift", &_6, 75, &_5$$5, &info); + ZEPHIR_CALL_FUNCTION(NULL, "array_unshift", &_6, 76, &_5$$5, &info); ZEPHIR_UNREF(&_5$$5); zephir_check_call_status(); break; diff --git a/ext/stub/quantum.zep.c b/ext/stub/quantum.zep.c index 8b88ff05db..945b36df41 100644 --- a/ext/stub/quantum.zep.c +++ b/ext/stub/quantum.zep.c @@ -140,7 +140,7 @@ PHP_METHOD(Stub_Quantum, harmos) ZVAL_STRING(&_0, "harmos.txt"); ZEPHIR_INIT_VAR(&_1); ZVAL_STRING(&_1, "w"); - ZEPHIR_CALL_FUNCTION(&fp, "fopen", NULL, 31, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&fp, "fopen", NULL, 32, &_0, &_1); zephir_check_call_status(); if (!(zephir_is_true(&fp))) { RETURN_MM_LONG(1); @@ -345,13 +345,13 @@ PHP_METHOD(Stub_Quantum, harmos) ZVAL_STRING(&_52$$9, "%16.8lf %16.8lf %16.8lf \n"); ZVAL_DOUBLE(&_53$$9, ((double) i * dx)); ZVAL_DOUBLE(&_54$$9, ((double) n * dt)); - ZEPHIR_CALL_FUNCTION(NULL, "fprintf", &_55, 76, &fp, &_52$$9, &_53$$9, &_54$$9, &_51$$9); + ZEPHIR_CALL_FUNCTION(NULL, "fprintf", &_55, 77, &fp, &_52$$9, &_53$$9, &_54$$9, &_51$$9); zephir_check_call_status(); i = (i + 10); } ZEPHIR_INIT_NVAR(&_56$$8); ZVAL_STRING(&_56$$8, "\n"); - ZEPHIR_CALL_FUNCTION(NULL, "fprintf", &_55, 76, &fp, &_56$$8); + ZEPHIR_CALL_FUNCTION(NULL, "fprintf", &_55, 77, &fp, &_56$$8); zephir_check_call_status(); } j = 1; diff --git a/ext/stub/range.zep.c b/ext/stub/range.zep.c index 14f5e48cec..09122154a1 100644 --- a/ext/stub/range.zep.c +++ b/ext/stub/range.zep.c @@ -46,7 +46,7 @@ PHP_METHOD(Stub_Range, inclusive1) ZVAL_LONG(&_0, 0); ZVAL_LONG(&_1, 10); - ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 77, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 78, &_0, &_1); zephir_check_call_status(); zephir_get_arrval(&_3, &_2); RETURN_CTOR(&_3); @@ -70,7 +70,7 @@ PHP_METHOD(Stub_Range, exclusive1) ZVAL_LONG(&_0, 0); ZVAL_LONG(&_1, 10); - ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 77, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 78, &_0, &_1); zephir_check_call_status(); zephir_get_arrval(&_3, &_2); RETURN_CTOR(&_3); diff --git a/ext/stub/reflection.zep.c b/ext/stub/reflection.zep.c index 8628a8df6e..2421e1f393 100644 --- a/ext/stub/reflection.zep.c +++ b/ext/stub/reflection.zep.c @@ -39,7 +39,7 @@ PHP_METHOD(Stub_Reflection, getReflectionClass) ZEPHIR_INIT_VAR(&r); object_init_ex(&r, zephir_get_internal_ce(SL("reflectionclass"))); - ZEPHIR_CALL_METHOD(NULL, &r, "__construct", NULL, 78, this_ptr); + ZEPHIR_CALL_METHOD(NULL, &r, "__construct", NULL, 79, this_ptr); zephir_check_call_status(); RETURN_CCTOR(&r); } @@ -61,7 +61,7 @@ PHP_METHOD(Stub_Reflection, getReflectionFunction) object_init_ex(&r, zephir_get_internal_ce(SL("reflectionfunction"))); ZEPHIR_INIT_VAR(&_0); ZVAL_STRING(&_0, "abs"); - ZEPHIR_CALL_METHOD(NULL, &r, "__construct", NULL, 79, &_0); + ZEPHIR_CALL_METHOD(NULL, &r, "__construct", NULL, 80, &_0); zephir_check_call_status(); RETURN_CCTOR(&r); } diff --git a/ext/stub/regexdna.zep.c b/ext/stub/regexdna.zep.c index 050f60ff0b..5b386f0a97 100644 --- a/ext/stub/regexdna.zep.c +++ b/ext/stub/regexdna.zep.c @@ -184,7 +184,7 @@ PHP_METHOD(Stub_RegexDNA, process) ZEPHIR_CONCAT_SVS(&_1, "/", &stuffToRemove, "/mS"); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, ""); - ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 72, &_1, &_0, &contents); + ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 73, &_1, &_0, &contents); zephir_check_call_status(); ZEPHIR_CPY_WRT(&contents, &_2); ZEPHIR_INIT_VAR(&codeLength); @@ -228,7 +228,7 @@ PHP_METHOD(Stub_RegexDNA, process) } } ZEPHIR_INIT_NVAR(®ex); - ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 72, &vIUB, &vIUBnew, &contents); + ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 73, &vIUB, &vIUBnew, &contents); zephir_check_call_status(); ZEPHIR_CPY_WRT(&contents, &_2); php_printf("%c", '\n'); diff --git a/ext/stub/requires.zep.c b/ext/stub/requires.zep.c index 3f249a3434..87549b16ad 100644 --- a/ext/stub/requires.zep.c +++ b/ext/stub/requires.zep.c @@ -111,7 +111,7 @@ PHP_METHOD(Stub_Requires, requireExternal3) zephir_check_call_status(); } - ZEPHIR_CALL_METHOD(NULL, &external3, "req", NULL, 80, path, this_ptr); + ZEPHIR_CALL_METHOD(NULL, &external3, "req", NULL, 81, path, this_ptr); zephir_check_call_status(); RETURN_MM_MEMBER(getThis(), "content"); } diff --git a/ext/stub/requires/external3.zep.c b/ext/stub/requires/external3.zep.c index 3d099907cc..a3b08e842d 100644 --- a/ext/stub/requires/external3.zep.c +++ b/ext/stub/requires/external3.zep.c @@ -52,12 +52,12 @@ PHP_METHOD(Stub_Requires_External3, req) zephir_fetch_params(1, 2, 0, &path, &requires); - ZEPHIR_CALL_FUNCTION(NULL, "ob_clean", NULL, 81); + ZEPHIR_CALL_FUNCTION(NULL, "ob_clean", NULL, 82); zephir_check_call_status(); if (zephir_require_zval(path) == FAILURE) { RETURN_MM_NULL(); } - ZEPHIR_CALL_FUNCTION(&_0, "ob_get_contents", NULL, 82); + ZEPHIR_CALL_FUNCTION(&_0, "ob_get_contents", NULL, 83); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, requires, "setcontent", NULL, 0, &_0); zephir_check_call_status(); diff --git a/ext/stub/resourcetest.zep.c b/ext/stub/resourcetest.zep.c index aa5af20ebe..a224eef3b5 100644 --- a/ext/stub/resourcetest.zep.c +++ b/ext/stub/resourcetest.zep.c @@ -123,7 +123,7 @@ PHP_METHOD(Stub_ResourceTest, testFunctionsForSTDIN) ZEPHIR_INIT_VAR(&a); ZEPHIR_GET_CONSTANT(&a, "STDIN"); ZVAL_LONG(&_0, 1); - ZEPHIR_CALL_FUNCTION(NULL, "stream_set_blocking", NULL, 83, &a, &_0); + ZEPHIR_CALL_FUNCTION(NULL, "stream_set_blocking", NULL, 84, &a, &_0); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); } diff --git a/ext/stub/router.zep.c b/ext/stub/router.zep.c index a68201c09a..9edea335b4 100644 --- a/ext/stub/router.zep.c +++ b/ext/stub/router.zep.c @@ -127,7 +127,7 @@ PHP_METHOD(Stub_Router, __construct) add_assoc_long_ex(&_1$$3, SL("controller"), 1); ZEPHIR_INIT_VAR(&_2$$3); ZVAL_STRING(&_2$$3, "#^/([a-zA-Z0-9\\_\\-]+)[/]{0,1}$#"); - ZEPHIR_CALL_METHOD(NULL, &_0$$3, "__construct", &_3, 84, &_2$$3, &_1$$3); + ZEPHIR_CALL_METHOD(NULL, &_0$$3, "__construct", &_3, 85, &_2$$3, &_1$$3); zephir_check_call_status(); zephir_array_append(&routes, &_0$$3, PH_SEPARATE, "stub/router.zep", 89); ZEPHIR_INIT_NVAR(&_2$$3); @@ -139,7 +139,7 @@ PHP_METHOD(Stub_Router, __construct) add_assoc_long_ex(&_4$$3, SL("params"), 3); ZEPHIR_INIT_VAR(&_5$$3); ZVAL_STRING(&_5$$3, "#^/([a-zA-Z0-9\\_\\-]+)/([a-zA-Z0-9\\.\\_]+)(/.*)*$#"); - ZEPHIR_CALL_METHOD(NULL, &_2$$3, "__construct", &_3, 84, &_5$$3, &_4$$3); + ZEPHIR_CALL_METHOD(NULL, &_2$$3, "__construct", &_3, 85, &_5$$3, &_4$$3); zephir_check_call_status(); zephir_array_append(&routes, &_2$$3, PH_SEPARATE, "stub/router.zep", 95); } @@ -1083,7 +1083,7 @@ PHP_METHOD(Stub_Router, add) ZEPHIR_INIT_VAR(&route); object_init_ex(&route, stub_router_route_ce); - ZEPHIR_CALL_METHOD(NULL, &route, "__construct", NULL, 84, pattern, paths, httpMethods); + ZEPHIR_CALL_METHOD(NULL, &route, "__construct", NULL, 85, pattern, paths, httpMethods); zephir_check_call_status(); zephir_update_property_array_append(this_ptr, SL("_routes"), &route); RETURN_CCTOR(&route); diff --git a/ext/stub/scall.zep.c b/ext/stub/scall.zep.c index 4a6d0bac3f..679703f473 100644 --- a/ext/stub/scall.zep.c +++ b/ext/stub/scall.zep.c @@ -175,7 +175,7 @@ PHP_METHOD(Stub_Scall, testCall3) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_SELF("testmethod3", &_0, 85); + ZEPHIR_RETURN_CALL_SELF("testmethod3", &_0, 86); zephir_check_call_status(); RETURN_MM(); } @@ -257,7 +257,7 @@ PHP_METHOD(Stub_Scall, testCall6) zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_RETURN_CALL_SELF("testmethod6", &_0, 86, a, b); + ZEPHIR_RETURN_CALL_SELF("testmethod6", &_0, 87, a, b); zephir_check_call_status(); RETURN_MM(); } @@ -303,7 +303,7 @@ PHP_METHOD(Stub_Scall, testCall9) ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_SELF("testmethod3", &_0, 85); + ZEPHIR_RETURN_CALL_SELF("testmethod3", &_0, 86); zephir_check_call_status(); RETURN_MM(); } @@ -385,7 +385,7 @@ PHP_METHOD(Stub_Scall, testCall12) zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_RETURN_CALL_SELF("testmethod6", &_0, 86, a, b); + ZEPHIR_RETURN_CALL_SELF("testmethod6", &_0, 87, a, b); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/scope.zep.c b/ext/stub/scope.zep.c index b77dc57267..f25467d03a 100644 --- a/ext/stub/scope.zep.c +++ b/ext/stub/scope.zep.c @@ -80,7 +80,7 @@ PHP_METHOD(Stub_Scope, test1) ZEPHIR_INIT_VAR(&ret); ZVAL_STRING(&ret, ""); - ZEPHIR_CALL_SELF(&k, "getstr", &_0, 87); + ZEPHIR_CALL_SELF(&k, "getstr", &_0, 88); zephir_check_call_status(); r = 1; if (r == 1) { @@ -176,7 +176,7 @@ PHP_METHOD(Stub_Scope, test3) } ZEPHIR_INIT_NVAR(&c); ZVAL_LONG(&c, _1); - ZEPHIR_CALL_SELF(&str$$3, "getdystr", &_3, 88, &c); + ZEPHIR_CALL_SELF(&str$$3, "getdystr", &_3, 89, &c); zephir_check_call_status(); zephir_concat_self(&k, &str$$3); } diff --git a/ext/stub/sort.zep.c b/ext/stub/sort.zep.c index b1bb49ce99..993f4dffc0 100644 --- a/ext/stub/sort.zep.c +++ b/ext/stub/sort.zep.c @@ -99,16 +99,16 @@ PHP_METHOD(Stub_Sort, quick) } } } - ZEPHIR_CALL_METHOD(&_7, this_ptr, "quick", &_8, 89, &left); + ZEPHIR_CALL_METHOD(&_7, this_ptr, "quick", &_8, 90, &left); zephir_check_call_status(); ZEPHIR_INIT_VAR(&_9); zephir_create_array(&_9, 1, 0); ZEPHIR_INIT_VAR(&_10); ZVAL_LONG(&_10, pivot); zephir_array_fast_append(&_9, &_10); - ZEPHIR_CALL_METHOD(&_11, this_ptr, "quick", &_8, 89, &right); + ZEPHIR_CALL_METHOD(&_11, this_ptr, "quick", &_8, 90, &right); zephir_check_call_status(); - ZEPHIR_RETURN_CALL_FUNCTION("array_merge", NULL, 90, &_7, &_9, &_11); + ZEPHIR_RETURN_CALL_FUNCTION("array_merge", NULL, 91, &_7, &_9, &_11); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/spectralnorm.zep.c b/ext/stub/spectralnorm.zep.c index 69fde255be..b9f902de3b 100644 --- a/ext/stub/spectralnorm.zep.c +++ b/ext/stub/spectralnorm.zep.c @@ -126,7 +126,7 @@ PHP_METHOD(Stub_SpectralNorm, Au) j = _4$$3; ZVAL_LONG(&_7$$4, i); ZVAL_LONG(&_8$$4, j); - ZEPHIR_CALL_METHOD(&_6$$4, this_ptr, "ax", &_9, 91, &_7$$4, &_8$$4); + ZEPHIR_CALL_METHOD(&_6$$4, this_ptr, "ax", &_9, 92, &_7$$4, &_8$$4); zephir_check_call_status(); ZVAL_LONG(&_7$$4, j); ZEPHIR_CALL_METHOD(&_10$$4, u, "offsetget", &_11, 0, &_7$$4); @@ -209,7 +209,7 @@ PHP_METHOD(Stub_SpectralNorm, Atu) j = _4$$3; ZVAL_LONG(&_7$$4, j); ZVAL_LONG(&_8$$4, i); - ZEPHIR_CALL_METHOD(&_6$$4, this_ptr, "ax", &_9, 91, &_7$$4, &_8$$4); + ZEPHIR_CALL_METHOD(&_6$$4, this_ptr, "ax", &_9, 92, &_7$$4, &_8$$4); zephir_check_call_status(); ZVAL_LONG(&_7$$4, j); ZEPHIR_CALL_METHOD(&_10$$4, u, "offsetget", &_11, 0, &_7$$4); @@ -254,9 +254,9 @@ PHP_METHOD(Stub_SpectralNorm, AtAu) zephir_fetch_params(1, 4, 0, &n, &u, &v, &w); - ZEPHIR_CALL_METHOD(NULL, this_ptr, "au", NULL, 92, n, u, w); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "au", NULL, 93, n, u, w); zephir_check_call_status(); - ZEPHIR_CALL_METHOD(NULL, this_ptr, "atu", NULL, 93, n, w, v); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "atu", NULL, 94, n, w, v); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); } @@ -300,17 +300,17 @@ PHP_METHOD(Stub_SpectralNorm, process) ZEPHIR_INIT_VAR(&u); object_init_ex(&u, spl_ce_SplFixedArray); ZVAL_LONG(&_0, n); - ZEPHIR_CALL_METHOD(NULL, &u, "__construct", NULL, 94, &_0); + ZEPHIR_CALL_METHOD(NULL, &u, "__construct", NULL, 95, &_0); zephir_check_call_status(); ZEPHIR_INIT_VAR(&v); object_init_ex(&v, spl_ce_SplFixedArray); ZVAL_LONG(&_0, n); - ZEPHIR_CALL_METHOD(NULL, &v, "__construct", NULL, 94, &_0); + ZEPHIR_CALL_METHOD(NULL, &v, "__construct", NULL, 95, &_0); zephir_check_call_status(); ZEPHIR_INIT_VAR(&w); object_init_ex(&w, spl_ce_SplFixedArray); ZVAL_LONG(&_0, n); - ZEPHIR_CALL_METHOD(NULL, &w, "__construct", NULL, 94, &_0); + ZEPHIR_CALL_METHOD(NULL, &w, "__construct", NULL, 95, &_0); zephir_check_call_status(); _3 = (n - 1); _2 = 0; @@ -328,15 +328,15 @@ PHP_METHOD(Stub_SpectralNorm, process) i = _2; ZVAL_LONG(&_4$$3, i); ZVAL_LONG(&_5$$3, 1); - ZEPHIR_CALL_METHOD(NULL, &u, "offsetset", &_6, 95, &_4$$3, &_5$$3); + ZEPHIR_CALL_METHOD(NULL, &u, "offsetset", &_6, 96, &_4$$3, &_5$$3); zephir_check_call_status(); ZVAL_LONG(&_4$$3, i); ZVAL_LONG(&_5$$3, 1); - ZEPHIR_CALL_METHOD(NULL, &v, "offsetset", &_6, 95, &_4$$3, &_5$$3); + ZEPHIR_CALL_METHOD(NULL, &v, "offsetset", &_6, 96, &_4$$3, &_5$$3); zephir_check_call_status(); ZVAL_LONG(&_4$$3, i); ZVAL_LONG(&_5$$3, 1); - ZEPHIR_CALL_METHOD(NULL, &w, "offsetset", &_6, 95, &_4$$3, &_5$$3); + ZEPHIR_CALL_METHOD(NULL, &w, "offsetset", &_6, 96, &_4$$3, &_5$$3); zephir_check_call_status(); } } @@ -355,10 +355,10 @@ PHP_METHOD(Stub_SpectralNorm, process) } i = _8; ZVAL_LONG(&_10$$4, n); - ZEPHIR_CALL_METHOD(NULL, this_ptr, "atau", &_11, 96, &_10$$4, &u, &v, &w); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "atau", &_11, 97, &_10$$4, &u, &v, &w); zephir_check_call_status(); ZVAL_LONG(&_10$$4, n); - ZEPHIR_CALL_METHOD(NULL, this_ptr, "atau", &_11, 96, &_10$$4, &v, &u, &w); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "atau", &_11, 97, &_10$$4, &v, &u, &w); zephir_check_call_status(); } } @@ -377,19 +377,19 @@ PHP_METHOD(Stub_SpectralNorm, process) } i = _13; ZVAL_LONG(&_16$$5, i); - ZEPHIR_CALL_METHOD(&_15$$5, &u, "offsetget", &_17, 97, &_16$$5); + ZEPHIR_CALL_METHOD(&_15$$5, &u, "offsetget", &_17, 98, &_16$$5); zephir_check_call_status(); ZVAL_LONG(&_16$$5, i); - ZEPHIR_CALL_METHOD(&_18$$5, &v, "offsetget", &_17, 97, &_16$$5); + ZEPHIR_CALL_METHOD(&_18$$5, &v, "offsetget", &_17, 98, &_16$$5); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_19$$5); mul_function(&_19$$5, &_15$$5, &_18$$5); vBv += zephir_get_numberval(&_19$$5); ZVAL_LONG(&_16$$5, i); - ZEPHIR_CALL_METHOD(&_15$$5, &v, "offsetget", &_17, 97, &_16$$5); + ZEPHIR_CALL_METHOD(&_15$$5, &v, "offsetget", &_17, 98, &_16$$5); zephir_check_call_status(); ZVAL_LONG(&_16$$5, i); - ZEPHIR_CALL_METHOD(&_18$$5, &v, "offsetget", &_17, 97, &_16$$5); + ZEPHIR_CALL_METHOD(&_18$$5, &v, "offsetget", &_17, 98, &_16$$5); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_20$$5); mul_function(&_20$$5, &_15$$5, &_18$$5); diff --git a/ext/stub/spl.zep.c b/ext/stub/spl.zep.c index 4fe91db3b8..070a9ca251 100644 --- a/ext/stub/spl.zep.c +++ b/ext/stub/spl.zep.c @@ -52,7 +52,7 @@ PHP_METHOD(Stub_Spl, issue1212) object_init_ex(return_value, spl_ce_SplFileObject); - ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 98, &file); + ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 99, &file); zephir_check_call_status(); RETURN_MM(); } diff --git a/ext/stub/strings.zep.c b/ext/stub/strings.zep.c index 618ab6c205..456b5068b1 100644 --- a/ext/stub/strings.zep.c +++ b/ext/stub/strings.zep.c @@ -679,7 +679,7 @@ PHP_METHOD(Stub_Strings, strToHex) _1$$3 = ZEPHIR_STRING_OFFSET(&value, i); ZEPHIR_INIT_NVAR(&_2$$3); ZVAL_STRINGL(&_2$$3, &_1$$3, 1); - ZEPHIR_CALL_FUNCTION(&_3$$3, "ord", &_4, 99, &_2$$3); + ZEPHIR_CALL_FUNCTION(&_3$$3, "ord", &_4, 100, &_2$$3); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_5$$3, "dechex", &_6, 11, &_3$$3); zephir_check_call_status(); @@ -737,17 +737,17 @@ PHP_METHOD(Stub_Strings, issue1267) zephir_fast_str_replace(&_0, &_1, &_2, value); ZEPHIR_CPY_WRT(value, &_0); ZVAL_LONG(&_3, 516); - ZEPHIR_CALL_FUNCTION(&_4, "filter_var", NULL, 42, value, &_3); + ZEPHIR_CALL_FUNCTION(&_4, "filter_var", NULL, 43, value, &_3); zephir_check_call_status(); ZEPHIR_CPY_WRT(value, &_4); ZEPHIR_INIT_NVAR(&_0); - ZEPHIR_CALL_FUNCTION(&_4, "strip_tags", &_5, 100, value); + ZEPHIR_CALL_FUNCTION(&_4, "strip_tags", &_5, 101, value); zephir_check_call_status(); zephir_stripslashes(&_0, &_4); ZEPHIR_INIT_VAR(&x); zephir_fast_trim(&x, &_0, NULL , ZEPHIR_TRIM_BOTH); ZEPHIR_INIT_VAR(&_6); - ZEPHIR_CALL_FUNCTION(&_7, "strip_tags", &_5, 100, value); + ZEPHIR_CALL_FUNCTION(&_7, "strip_tags", &_5, 101, value); zephir_check_call_status(); zephir_stripcslashes(&_6, &_7); zephir_fast_trim(return_value, &_6, NULL , ZEPHIR_TRIM_BOTH); diff --git a/ext/stub/trytest.zep.c b/ext/stub/trytest.zep.c index e71d7dce55..0eed207df1 100644 --- a/ext/stub/trytest.zep.c +++ b/ext/stub/trytest.zep.c @@ -197,7 +197,7 @@ PHP_METHOD(Stub_TryTest, testTry4) object_init_ex(&_2$$5, spl_ce_RuntimeException); ZEPHIR_INIT_VAR(&_3$$5); ZVAL_STRING(&_3$$5, "error!"); - ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 101, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 102, &_3$$5); zephir_check_call_status_or_jump(try_end_1); zephir_throw_exception_debug(&_2$$5, "stub/trytest.zep", 48); goto try_end_1; @@ -272,7 +272,7 @@ PHP_METHOD(Stub_TryTest, testTry5) object_init_ex(&_2$$5, spl_ce_RuntimeException); ZEPHIR_INIT_VAR(&_3$$5); ZVAL_STRING(&_3$$5, "error!"); - ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 101, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 102, &_3$$5); zephir_check_call_status_or_jump(try_end_1); zephir_throw_exception_debug(&_2$$5, "stub/trytest.zep", 65); goto try_end_1; @@ -346,7 +346,7 @@ PHP_METHOD(Stub_TryTest, testTry6) object_init_ex(&_2$$5, spl_ce_RuntimeException); ZEPHIR_INIT_VAR(&_3$$5); ZVAL_STRING(&_3$$5, "error!"); - ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 101, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 102, &_3$$5); zephir_check_call_status_or_jump(try_end_1); zephir_throw_exception_debug(&_2$$5, "stub/trytest.zep", 82); goto try_end_1; @@ -419,7 +419,7 @@ PHP_METHOD(Stub_TryTest, testTry7) object_init_ex(&_2$$5, spl_ce_RuntimeException); ZEPHIR_INIT_VAR(&_3$$5); ZVAL_STRING(&_3$$5, "error!"); - ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 101, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 102, &_3$$5); zephir_check_call_status_or_jump(try_end_1); zephir_throw_exception_debug(&_2$$5, "stub/trytest.zep", 101); goto try_end_1; @@ -515,7 +515,7 @@ PHP_METHOD(Stub_TryTest, testTry9) /* try_start_1: */ - ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod1", NULL, 102); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod1", NULL, 103); zephir_check_call_status_or_jump(try_end_1); RETURN_MM_STRING("not catched"); @@ -550,7 +550,7 @@ PHP_METHOD(Stub_TryTest, testTry10) /* try_start_1: */ - ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod2", NULL, 103); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod2", NULL, 104); zephir_check_call_status_or_jump(try_end_1); RETURN_MM_STRING("not catched"); diff --git a/ext/stub/vars.zep.c b/ext/stub/vars.zep.c index c2692a3afb..d85b039d34 100644 --- a/ext/stub/vars.zep.c +++ b/ext/stub/vars.zep.c @@ -73,7 +73,7 @@ PHP_METHOD(Stub_Vars, testParam) } ZEPHIR_INIT_NVAR(&v); ZVAL_COPY(&v, _1); - ZEPHIR_CALL_FUNCTION(&_5$$3, "realpath", &_6, 66, &v); + ZEPHIR_CALL_FUNCTION(&_5$$3, "realpath", &_6, 67, &v); zephir_check_call_status(); zephir_array_update_multi(&config, &_5$$3, SL("sz"), 3, SL("dir"), &k); } ZEND_HASH_FOREACH_END(); @@ -90,7 +90,7 @@ PHP_METHOD(Stub_Vars, testParam) zephir_check_call_status(); ZEPHIR_CALL_METHOD(&v, &_0, "current", NULL, 0); zephir_check_call_status(); - ZEPHIR_CALL_FUNCTION(&_7$$4, "realpath", &_6, 66, &v); + ZEPHIR_CALL_FUNCTION(&_7$$4, "realpath", &_6, 67, &v); zephir_check_call_status(); zephir_array_update_multi(&config, &_7$$4, SL("sz"), 3, SL("dir"), &k); ZEPHIR_CALL_METHOD(NULL, &_0, "next", NULL, 0); diff --git a/kernels/ZendEngine3/backtrace.c b/kernels/ZendEngine3/backtrace.c index 994d9fcee9..3278b32eec 100755 --- a/kernels/ZendEngine3/backtrace.c +++ b/kernels/ZendEngine3/backtrace.c @@ -10,7 +10,7 @@ */ #ifndef ZEPHIR_RELEASE -#if defined(linux) || defined(DARWIN) || defined(__APPLE__) +#if defined(linux) && !defined(ALPINE_LINUX) || defined(DARWIN) || defined(__APPLE__) #include #include diff --git a/kernels/ZendEngine3/fcall.c b/kernels/ZendEngine3/fcall.c index 447d281044..d017ec4db3 100755 --- a/kernels/ZendEngine3/fcall.c +++ b/kernels/ZendEngine3/fcall.c @@ -693,15 +693,19 @@ void zephir_eval_php(zval *str, zval *retval_ptr, char *context) original_compiler_options = CG(compiler_options); CG(compiler_options) = ZEND_COMPILE_DEFAULT_FOR_EVAL; -#if PHP_VERSION_ID < 80000 - new_op_array = zend_compile_string(str, context); +#if PHP_VERSION_ID >= 80200 + new_op_array = zend_compile_string(Z_STR_P(str), context, ZEND_COMPILE_POSITION_AFTER_OPEN_TAG); #else +#if PHP_VERSION_ID >= 80000 new_op_array = zend_compile_string(Z_STR_P(str), context); +#else + new_op_array = zend_compile_string(str, context); +#endif #endif + CG(compiler_options) = original_compiler_options; - if (new_op_array) - { + if (new_op_array) { EG(no_extensions) = 1; zend_try { zend_execute(new_op_array, &local_retval); diff --git a/kernels/ZendEngine3/main.c b/kernels/ZendEngine3/main.c index 95eba881d1..1bbd149639 100755 --- a/kernels/ZendEngine3/main.c +++ b/kernels/ZendEngine3/main.c @@ -568,9 +568,15 @@ void zephir_get_arg(zval *return_value, zend_long idx) } arg_count = ZEND_CALL_NUM_ARGS(ex); - if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { - RETURN_FALSE; - } +#if PHP_VERSION_ID >= 80200 + if (zend_forbid_dynamic_call() == FAILURE) { + RETURN_FALSE; + } +#else + if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { + RETURN_FALSE; + } +#endif if (UNEXPECTED((zend_ulong)idx >= arg_count)) { zend_error(E_WARNING, "func_get_arg(): Argument " ZEND_LONG_FMT " not passed to function", idx); diff --git a/kernels/ZendEngine3/math.c b/kernels/ZendEngine3/math.c index 437a2596c7..50b17e179f 100755 --- a/kernels/ZendEngine3/math.c +++ b/kernels/ZendEngine3/math.c @@ -181,20 +181,6 @@ void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3) } } -zend_long zephir_mt_rand(zend_long min, zend_long max) -{ - if (max < min) { - php_error_docref(NULL, E_WARNING, "max(" ZEND_LONG_FMT ") is smaller than min(" ZEND_LONG_FMT ")", max, min); - return 0; - } - - if (!BG(mt_rand_is_seeded)) { - php_mt_srand(GENERATE_SEED()); - } - - return php_mt_rand_range(min, max); -} - double zephir_ldexp(zval *value, zval *expval) { int exp = (int) zephir_get_numberval(expval); diff --git a/kernels/ZendEngine3/math.h b/kernels/ZendEngine3/math.h index ba4c401664..606c088ab6 100755 --- a/kernels/ZendEngine3/math.h +++ b/kernels/ZendEngine3/math.h @@ -23,7 +23,6 @@ double zephir_acos(zval *op1); double zephir_sqrt(zval *op1); double zephir_floor(zval *op1); -zend_long zephir_mt_rand(zend_long min, zend_long max); double zephir_ceil(zval *op1); void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3); diff --git a/tests/Extension/ArrayAccessTest.php b/tests/Extension/ArrayAccessTest.php index 97a40d729e..97ea15ba81 100644 --- a/tests/Extension/ArrayAccessTest.php +++ b/tests/Extension/ArrayAccessTest.php @@ -92,6 +92,10 @@ public function testIssue1094(): void */ public function testIssue1086StaticallyCalledFunctionWithArrayAsArgMustReturnArray(): void { + if (version_compare(PHP_VERSION, '8.2.0', '>=')) { + $this->markTestSkipped('Deprecated Callable Patterns'); + } + $class = new \Stub\ArrayAccessTest(); $actual = $class->issue1086WontNullArrayAfterPassViaStaticWithStrictParams(); diff --git a/tests/Extension/ArrayObjectTest.php b/tests/Extension/ArrayObjectTest.php index c5dc6d3e4f..a4f90aacff 100644 --- a/tests/Extension/ArrayObjectTest.php +++ b/tests/Extension/ArrayObjectTest.php @@ -1,7 +1,5 @@ assertInstanceOf('\ArrayObject', $test); - $test->test_1 = 1; - $this->assertSame(1, $test->test_1); + if (version_compare(PHP_VERSION, '8.2.0', '<')) { + $test->test_1 = 1; + $this->assertSame(1, $test->test_1); + } $test['test_2'] = 1; $this->assertSame(1, $test['test_2']); diff --git a/tests/Extension/DynamicPropTest.php b/tests/Extension/DynamicPropTest.php index f30372a8be..7d68af6a21 100644 --- a/tests/Extension/DynamicPropTest.php +++ b/tests/Extension/DynamicPropTest.php @@ -1,7 +1,5 @@ =')) { + $this->markTestSkipped(' Creation of dynamic property is deprecated'); + } + $class = new DynamicProp(); $this->assertNull($class->test); diff --git a/tests/Extension/IssetTest.php b/tests/Extension/IssetTest.php index 34c598a36f..eaf82e66c6 100644 --- a/tests/Extension/IssetTest.php +++ b/tests/Extension/IssetTest.php @@ -52,6 +52,10 @@ public function testIssetProperties(): void public function testIssetDynamicProperty(): void { + if (version_compare(PHP_VERSION, '8.2.0', '>=')) { + $this->markTestSkipped(' Creation of dynamic property is deprecated'); + } + $this->assertTrue($this->test->testIssetDynamicProperty1()); $this->assertTrue(!$this->test->testIssetDynamicProperty2($this)); $this->s = ['a' => 'true']; diff --git a/tests/Extension/Issue2165Test.php b/tests/Extension/Issue2165Test.php index 49e99b6328..4e17adb0ef 100644 --- a/tests/Extension/Issue2165Test.php +++ b/tests/Extension/Issue2165Test.php @@ -23,6 +23,10 @@ final class Issue2165Test extends TestCase { public function testIssue2165(): void { + if (version_compare(PHP_VERSION, '8.2.0', '>=')) { + $this->markTestSkipped('Creation of dynamic property is deprecated'); + } + $class = Issue2165Class::build([ [22, -17, 12], [4, 11, -2], diff --git a/tests/Extension/Issue663Test.php b/tests/Extension/Issue663Test.php index 3113d6a53c..b7084baafa 100644 --- a/tests/Extension/Issue663Test.php +++ b/tests/Extension/Issue663Test.php @@ -25,15 +25,19 @@ public function testIssue663(): void $this->assertFalse($test->is_array_assoc(false)); $this->assertFalse($test->is_array_assoc(1)); $this->assertFalse($test->is_array_assoc([])); - $this->assertTrue($test->is_array_assoc(['test' => 'test'])); - $this->assertFalse($test->is_array_assoc(['test'])); - $this->assertFalse($test->is_array_assoc([0 => 'test'])); + + if (version_compare(PHP_VERSION, '8.2.0', '<')) { + $this->assertTrue($test->is_array_assoc(['test' => 'test'])); + $this->assertFalse($test->is_array_assoc(['test'])); + $this->assertFalse($test->is_array_assoc([0 => 'test'])); + + $this->assertFalse($test->is_array_indexed(['test' => 'test'])); + $this->assertTrue($test->is_array_indexed(['test'])); + $this->assertTrue($test->is_array_indexed([0 => 'test'])); + } $this->assertFalse($test->is_array_indexed(false)); $this->assertFalse($test->is_array_indexed(1)); $this->assertFalse($test->is_array_indexed([])); - $this->assertFalse($test->is_array_indexed(['test' => 'test'])); - $this->assertTrue($test->is_array_indexed(['test'])); - $this->assertTrue($test->is_array_indexed([0 => 'test'])); } } diff --git a/tests/Extension/Oo/ExtendClassTest.php b/tests/Extension/Oo/ExtendClassTest.php index 56a758d070..1586003099 100644 --- a/tests/Extension/Oo/ExtendClassTest.php +++ b/tests/Extension/Oo/ExtendClassTest.php @@ -67,7 +67,9 @@ public function testShouldCorrectWorkWithLateStaticBinding(): void public function testShouldCallParentMethodFromStaticByUsingSelf(): void { $this->assertSame('ConcreteStatic:parentFunction', ConcreteStatic::parentFunction()); - $this->assertSame('ConcreteStatic:parentFunction', ConcreteStatic::childFunction()); + if (version_compare(PHP_VERSION, '8.2.0', '<')) { + $this->assertSame('ConcreteStatic:parentFunction', ConcreteStatic::childFunction()); + } } public function testShouldCallParentMethodFromStaticByUsingParent(): void diff --git a/tests/Extension/OoTest.php b/tests/Extension/OoTest.php index 18b2006bbb..c8798d4192 100644 --- a/tests/Extension/OoTest.php +++ b/tests/Extension/OoTest.php @@ -68,9 +68,11 @@ public function testAssertations(): void $this->assertIsObject($obj); $this->assertInstanceOf(OoConstructParams::class, $obj); - $obj12 = $test->testInstance12(); - $this->assertIsObject($obj12); - $this->assertInstanceOf('Stub\Oo\OoDynamicA', $obj12); + if (version_compare(PHP_VERSION, '8.2.0', '<')) { + $obj12 = $test->testInstance12(); + $this->assertIsObject($obj12); + $this->assertInstanceOf('Stub\Oo\OoDynamicA', $obj12); + } } /** diff --git a/tests/Extension/ScallTest.php b/tests/Extension/ScallTest.php index b4f35f0f98..8d9faf970c 100644 --- a/tests/Extension/ScallTest.php +++ b/tests/Extension/ScallTest.php @@ -46,8 +46,10 @@ public function testScall(): void $this->assertSame('hello parent public', $test->testCall13()); $this->assertSame('hello parent protected', $test->testCall14()); - $this->assertSame('hello ScallParent', Scallparent::testCallStatic()); - $this->assertSame('hello Scall', $test::testCallStatic()); + if (version_compare(PHP_VERSION, '8.2.0', '<')) { + $this->assertSame('hello ScallParent', Scallparent::testCallStatic()); + $this->assertSame('hello Scall', $test::testCallStatic()); + } } /** diff --git a/tests/Extension/ScopeTest.php b/tests/Extension/ScopeTest.php index 6923992df6..8d8d5b0cc5 100644 --- a/tests/Extension/ScopeTest.php +++ b/tests/Extension/ScopeTest.php @@ -20,8 +20,11 @@ final class ScopeTest extends TestCase { public function testScope1(): void { - $this->assertSame(Scope::test1(), 'testinternal_string'); + if (version_compare(PHP_VERSION, '8.2.0', '<')) { + $this->assertSame(Scope::test1(), 'testinternal_string'); + $this->assertSame(Scope::test3(), 'internal_0internal_1internal_2internal_3'); + } + $this->assertSame(Scope::test2(), [15, '0_66_132_198_']); - $this->assertSame(Scope::test3(), 'internal_0internal_1internal_2internal_3'); } }