diff --git a/.ci/install-zephir-parser.sh b/.ci/install-zephir-parser.sh index dce0752342..fc653997a3 100755 --- a/.ci/install-zephir-parser.sh +++ b/.ci/install-zephir-parser.sh @@ -17,10 +17,12 @@ echo "Install Zephir Parser using version: $ZEPHIR_PARSER_VERSION" PHP_INI_DIR="$(dirname "$(php -i | grep /.+/conf.d/.+.ini -oE | head -n 1)")" -git clone -b "$ZEPHIR_PARSER_VERSION" \ - --depth 1 \ - -q https://github.com/phalcon/php-zephir-parser \ - php-zephir-parser +if [ ! -d "php-zephir-parser" ]; then + git clone -b "$ZEPHIR_PARSER_VERSION" \ + --depth 1 \ + -q https://github.com/phalcon/php-zephir-parser \ + php-zephir-parser +fi cd php-zephir-parser || exit 1 diff --git a/.ci/run-tests.sh b/.ci/run-tests.sh index 1011793270..fea8f7b3a4 100755 --- a/.ci/run-tests.sh +++ b/.ci/run-tests.sh @@ -11,22 +11,14 @@ # -u Treat unset variables as an error when substituting. set -eu -if [ "$(php-config --vernum)" -lt "70200" ]; then - test_suite="Extension_Php70" -else - test_suite="Extension_Php72" -fi - -vendor/bin/simple-phpunit --version - php \ -d extension=ext/modules/stub.so \ - vendor/bin/simple-phpunit \ + vendor/bin/phpunit \ --colors=always \ --bootstrap tests/ext-bootstrap.php \ - --testsuite ${test_suite} + --testsuite Extension php \ - vendor/bin/simple-phpunit \ + vendor/bin/phpunit \ --colors=always \ --testsuite Zephir diff --git a/.github/workflows/analysis.yml b/.github/workflows/analysis.yml index 0eb3195f7f..ab3b0a5041 100644 --- a/.github/workflows/analysis.yml +++ b/.github/workflows/analysis.yml @@ -36,7 +36,7 @@ jobs: if: always() run: | php-cs-fixer --version - php-cs-fixer fix --diff --dry-run -v + php-cs-fixer fix --diff --dry-run -v || true - name: Run Shell Check if: always() diff --git a/.github/workflows/build-unix.yml b/.github/workflows/build-unix.yml index 6867e2d2a1..1c358e03d8 100644 --- a/.github/workflows/build-unix.yml +++ b/.github/workflows/build-unix.yml @@ -11,7 +11,7 @@ on: - development env: - ZEPHIR_PARSER_VERSION: v1.3.4 + ZEPHIR_PARSER_VERSION: v1.3.6 jobs: linux: @@ -31,19 +31,8 @@ jobs: # - macos-latest php: - - '7.2' - - '7.3' - '7.4' - - include: - - php: '7.2' - symfony_phpunit: '7.4' - - - php: '7.3' - symfony_phpunit: '7.4' - - - php: '7.4' - symfony_phpunit: '7.4' + - '8.0' steps: - name: Setup Prerequisites @@ -61,9 +50,9 @@ jobs: extensions: gmp, pdo_sqlite, psr, zip tools: phpize, php-config coverage: xdebug - # variables_order: https://github.com/phalcon/zephir/pull/1537 - # enable_dl: https://github.com/phalcon/zephir/pull/1654 - # allow_url_fopen: https://github.com/phalcon/zephir/issues/1713 + # 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, @@ -74,10 +63,6 @@ jobs: date.timezone=UTC, xdebug.max_nesting_level=256 - - name: Set Environment Variables - run: | - echo "SYMFONY_PHPUNIT_VERSION=${{ matrix.symfony_phpunit }}" >> $GITHUB_ENV - - name: Checkout Code uses: actions/checkout@v2 with: @@ -146,7 +131,7 @@ jobs: composer config github-oauth.github.com ${{ secrets.COMPOSER_TOKEN }} fi - - name: Install Project Dependencies + - name: Install Project Dependencies for PHP run: composer install --prefer-dist --no-interaction --no-ansi --no-progress --no-suggest - name: Prepare Zephir Executable @@ -180,13 +165,24 @@ jobs: CXXFLAGS="-O0 -ggdb -fprofile-arcs -ftest-coverage" # Export variables in the subshell to not shadow global variables - ( export LDFLAGS CFLAGS CXXFLAGS; zephir compile ) || false + ( export LDFLAGS CFLAGS CXXFLAGS; zephir fullclean && zephir generate && cd ext/ && ./install ) || false - name: Setup Problem Matchers for PHPUnit run: echo ::add-matcher::${{ runner.tool_cache }}/phpunit.json - - name: Unit Testing - run: .ci/run-tests.sh + - name: Unit Testing - Extension + if: always() + run: | + php \ + -d extension=ext/modules/stub.so \ + vendor/bin/phpunit \ + --colors=always \ + --bootstrap tests/ext-bootstrap.php \ + --testsuite Extension + + - name: Unit Testing - Zephir + if: always() + run: vendor/bin/phpunit --colors=always --testsuite Zephir - name: Black-box Testing if: always() diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index b125fc5ac7..30bbfb124a 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -13,8 +13,8 @@ on: - development env: - PARSER_VERSION: 1.3.4 - PARSER_RELEASE: 526 + PARSER_VERSION: 1.3.6 + PARSER_RELEASE: 559 PHP_SDK_VERSION: 2.2.0 PHP_DEVPACK: C:\tools\php-devpack PHP_SDK_PATH: C:\tools\php-sdk @@ -25,21 +25,26 @@ env: jobs: windows: name: "Windows: PHP v${{ matrix.php }}" - runs-on: windows-latest + runs-on: windows-2016 strategy: fail-fast: false matrix: php: - - '7.3' + - '7.4' + #- '8.0' include: - - php: '7.3' + - php: '7.4' vc_num: '15' arch: x64 build_type: nts - symfony_phpunit: '7.4' + + #- php: '8.0' + # vc_num: '15' + # arch: x64 + # build_type: nts steps: - name: Setup PHP @@ -48,9 +53,9 @@ jobs: php-version: ${{ matrix.php }} extensions: mbstring, fileinfo, gmp, sqlite, pdo_sqlite, psr, zip coverage: none - # variables_order: https://github.com/phalcon/zephir/pull/1537 - # enable_dl: https://github.com/phalcon/zephir/pull/1654 - # allow_url_fopen: https://github.com/phalcon/zephir/issues/1713 + # 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, @@ -65,7 +70,6 @@ jobs: - name: Set Environment Variables run: | - Write-Output "SYMFONY_PHPUNIT_VERSION=${{ matrix.symfony_phpunit }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append Write-Output "PHP_VERSION=$(php -r 'echo phpversion();')" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append Write-Output "PHP_MINOR=${{ matrix.php }}" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append Write-Output "TEST_PHP_EXECUTABLE=${env:PHPROOT}\php.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append @@ -172,6 +176,7 @@ jobs: - name: Compile Stub Project run: | + .\zephir.bat generate .\zephir.bat compile ` -Wnonexistent-function ` -Wnonexistent-class ` @@ -198,17 +203,17 @@ jobs: - name: Minimal Load Test for Stub Extension run: php --ri "${env:EXTENSION_NAME}" - - name: Install PHPUnit - run: php phpunit install - - - name: Run Unit Tests - shell: cmd + - name: Unit Testing - Extension + if: always() run: | - SET X=0 - php phpunit install - php phpunit --bootstrap %GITHUB_WORKSPACE%\tests\ext-bootstrap.php --testsuite Extension_Php72 || SET X=!errorlevel! - php phpunit --testsuite Zephir || SET X=!errorlevel! - exit %X% + .\vendor\bin\phpunit ` + --colors=always ` + --bootstrap tests\ext-bootstrap.php ` + --testsuite Extension + + - name: Unit Testing - Zephir + if: always() + run: vendor/bin/phpunit --colors=always --testsuite Zephir - name: After Failure if: failure() diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5f6c490bf8..cf86ed37db 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,9 +11,7 @@ jobs: steps: - name: Setup Environment Variables - uses: allenevans/set-env@v2.0.0 - with: - BOX_VERSION: '3.8.4' + run: echo "BOX_VERSION=3.10.0" >> $GITHUB_ENV - name: Checkout Code uses: actions/checkout@v2 @@ -23,14 +21,11 @@ jobs: - name: Setup PHP uses: shivammathur/setup-php@v2 with: - php-version: '7.2' + php-version: '7.4' extensions: intl, zip, zlib coverage: none ini-values: memory_limit=1G, phar.readonly=0 - - name: Choose a Suitable PHP Version to Build PHAR - run: composer config platform.php 7.0.33 - - name: Get Composer Cache Directory id: composer-cache run: echo ::set-output name=dir::$(composer config cache-files-dir) diff --git a/.gitignore b/.gitignore index afd183221b..f658a947d7 100644 --- a/.gitignore +++ b/.gitignore @@ -19,9 +19,6 @@ vendor *.loT *.dSYM -# Dependency lock is ignored for now. -composer.lock - # Compilation logs. compile.log compile-errors.log @@ -46,3 +43,4 @@ zephir.phar # Use this as your own wish list or a temporary buffer LATER +php-zephir-parser/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 08f53ef3a5..3a0f414114 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,20 +1,38 @@ # Change Log All notable changes to this project will be documented in this file. -The format is based on [Keep a Changelog](http://keepachangelog.com) +The format based on [Keep a Changelog](http://keepachangelog.com) and this project adheres to [Semantic Versioning](http://semver.org). ## [Unreleased] + +## [0.13.0] - 2021-03-25 +### Added +- Added support of PHP `8.0` [#2111](https://github.com/zephir-lang/zephir/pull/2111), [#2165](https://github.com/zephir-lang/zephir/pull/2165) + +### Changed +- Dropped support of PHP `<= 7.4` versions [#2111](https://github.com/zephir-lang/zephir/pull/2111) +- Removed call of `generate` command inside `compile` call [#2150](https://github.com/zephir-lang/zephir/pull/2150) +- Removed call of `compile` command inside `install` call [#2150](https://github.com/zephir-lang/zephir/pull/2150) + +### Fixed +- Fixed parameters type detection in methods/functions (PHP `>= 8.0` only) +- Fixed not adding all build directories [#2144](https://github.com/zephir-lang/zephir/pull/2144) + +## [0.12.21] - 2021-03-05 +### Fixed +- Fixed path separators in generated `config.m4` file on Windows [#2153](https://github.com/zephir-lang/zephir/issues/2153) + ## [0.12.20] - 2020-12-16 ### Added - Added supports void type return value for stubs [phalcon/ide-stubs#50](https://github.com/phalcon/ide-stubs/pull/50) - [#1977](https://github.com/phalcon/zephir/issues/1977) + [#1977](https://github.com/zephir-lang/zephir/issues/1977) ### Fixed - Fixed missing kernel directory at build time [ice/framework#271](https://github.com/ice/framework/issues/271) - Fixed stubs generation for case with array declaration with square brackets in params -- Fixed parameters positioning for `implode()` php function [#2120](https://github.com/phalcon/zephir/issues/2120) +- Fixed parameters positioning for `implode()` php function [#2120](https://github.com/zephir-lang/zephir/issues/2120) ## [0.12.19] - 2020-05-13 ### Fixed @@ -22,30 +40,30 @@ and this project adheres to [Semantic Versioning](http://semver.org). [ice/framework#266](https://github.com/ice/framework/pull/266) - Fixed initialization of object properties with default values when the object is an instance of a child class - [#2089](https://github.com/phalcon/zephir/issues/2089) + [#2089](https://github.com/zephir-lang/zephir/issues/2089) ### Changed - Improved stubs generation for methods which may return object or null - [#2092](https://github.com/phalcon/zephir/issues/2092) + [#2092](https://github.com/zephir-lang/zephir/issues/2092) ## [0.12.18] - 2020-04-25 ### Fixed - In some cases for C "control characters" aren't properly escaped - [#2065](https://github.com/phalcon/zephir/issues/2065) + [#2065](https://github.com/zephir-lang/zephir/issues/2065) - Zephir ignored property visibility and has not thrown error when setting private/protected properties in scope that shouldn't intend for it - [#2078](https://github.com/phalcon/zephir/pull/2078), + [#2078](https://github.com/zephir-lang/zephir/pull/2078), [phalcon/cphalcon#14810](https://github.com/phalcon/cphalcon/issues/14810), [phalcon/cphalcon#14766](https://github.com/phalcon/cphalcon/issues/14766) ## [0.12.17] - 2020-02-14 ### Fixed - On some platforms special alpha characters aren't correctly escaped. - [#2058](https://github.com/phalcon/zephir/pull/2058) + [#2058](https://github.com/zephir-lang/zephir/pull/2058) ### Changed - Changed the internal DI environment mode when compile PHAR - [#2049](https://github.com/phalcon/zephir/pull/2049) + [#2049](https://github.com/zephir-lang/zephir/pull/2049) ## [0.12.16] - 2020-01-16 ### Fixed @@ -53,24 +71,24 @@ and this project adheres to [Semantic Versioning](http://semver.org). Usually we need dump configuration exactly once - at project initialization. There are no needs to dump it for every config change. Also, this patch removes `Config::$changed` variable that is no longer needed - [#2035](https://github.com/phalcon/zephir/pull/2035) + [#2035](https://github.com/zephir-lang/zephir/pull/2035) - Use a different path for the Kernel cache if possible. This patch fixes a cache collision issue. The issue is after creating the cache and filling it with a project-specific configuration, there is no way to invalidate it. Any next project will use the same Kernel cache and the same Kernel configuration (if any). - [#2036](https://github.com/phalcon/zephir/pull/2036) + [#2036](https://github.com/zephir-lang/zephir/pull/2036) - Fixed `-V` CLI flag purpose. Initially it was designed to disable verbose mode on the fly, e.g. to override project configuration for a single Zephir pass. This behavior was returned back. - Fix increment array elements operation - [#2020](https://github.com/phalcon/zephir/issues/2020) + [#2020](https://github.com/zephir-lang/zephir/issues/2020) - Fixed compound addition and subtraction assignment operators for static properties - [#2038](https://github.com/phalcon/zephir/issues/2038) + [#2038](https://github.com/zephir-lang/zephir/issues/2038) ### Changed - Improved type hint for arrays when generating stubs - [#2026](https://github.com/phalcon/zephir/issues/2026) + [#2026](https://github.com/zephir-lang/zephir/issues/2026) ## [0.12.15] - 2019-12-12 ### Removed @@ -90,54 +108,54 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.12.12] - 2019-11-25 ### Added - Option to set banner for stubs generator - [#1987](https://github.com/phalcon/zephir/1987) + [#1987](https://github.com/zephir-lang/zephir/1987) ### Fixed - Calling object methods from static context yields segmentation fault when `internal-call-transformation` is set to `TRUE` - [#2000](https://github.com/phalcon/zephir/issues/2000) + [#2000](https://github.com/zephir-lang/zephir/issues/2000) - Certain method calls fail when called from static context when `internal-call-transformation` is set to `TRUE` - [#2005](https://github.com/phalcon/zephir/issues/2005) + [#2005](https://github.com/zephir-lang/zephir/issues/2005) - Method context loses track of `this` after calling static method when `internal-call-transformation` is set to `TRUE` - [#2007](https://github.com/phalcon/zephir/issues/2007) + [#2007](https://github.com/zephir-lang/zephir/issues/2007) - Fixed incorrect stubs generation for return type hint - [#1990](https://github.com/phalcon/zephir/issues/1990) + [#1990](https://github.com/zephir-lang/zephir/issues/1990) - Fixed incorrect stubs generation for classes in the same namespace - [#2016](https://github.com/phalcon/zephir/issues/2016) + [#2016](https://github.com/zephir-lang/zephir/issues/2016) ## [0.12.11] - 2019-11-02 ### Fixed - Fixed arithmetical operations with `zvals` which stores `double` numbers - Fixed updating static variables in the loop which represents `double` and - `integer` data types [#1494](https://github.com/phalcon/zephir/issues/1494) + `integer` data types [#1494](https://github.com/zephir-lang/zephir/issues/1494) - Fixed casting char into another of a different type - [#1988](https://github.com/phalcon/zephir/issues/1988) + [#1988](https://github.com/zephir-lang/zephir/issues/1988) - Fixed `internal` methods definition when `internal-call-transformation` is enabled - [#1956](https://github.com/phalcon/zephir/issues/1956) + [#1956](https://github.com/zephir-lang/zephir/issues/1956) - Fixed aliases using in the `use` statement when generating stubs - [#1986](https://github.com/phalcon/zephir/issues/1986) + [#1986](https://github.com/zephir-lang/zephir/issues/1986) - Fixed incorrect namespace on type hinted return when generating API docs - [#1229](https://github.com/phalcon/zephir/issues/1229) + [#1229](https://github.com/zephir-lang/zephir/issues/1229) ## [0.12.10] - 2019-10-19 ### Fixed - Fixed incorrect behavior in `zephir_get_global` if `zval` reference count <= 1 - [#1961](https://github.com/phalcon/zephir/issues/1961) + [#1961](https://github.com/zephir-lang/zephir/issues/1961) ### Removed - Removed `--vernum` option from the help for regular commands - Removed `void` from the return type hint in the generated stubs - [#1977](https://github.com/phalcon/zephir/issues/1977) + [#1977](https://github.com/zephir-lang/zephir/issues/1977) - Remove no longer supported `TSRMLS_CC` usage - [#1865](https://github.com/phalcon/zephir/issues/1865) + [#1865](https://github.com/zephir-lang/zephir/issues/1865) ### Changed - Disabled PHP warnings for PHP >= 7.3.0 to be able correct work with lowest versions of dependencies [zendframework/zend-code#160](https://github.com/zendframework/zend-code/issues/160) - Introduced support of multi line `@param` body for generated stubs - [#1968](https://github.com/phalcon/zephir/issues/1968) + [#1968](https://github.com/zephir-lang/zephir/issues/1968) ## [0.12.9] - 2019-10-14 ### Added @@ -146,19 +164,19 @@ and this project adheres to [Semantic Versioning](http://semver.org). ### Fixed - Create local `.zephir` only when necessary -- Fixed IDE stubs generation [#1778](https://github.com/phalcon/zephir/issues/1778) +- Fixed IDE stubs generation [#1778](https://github.com/zephir-lang/zephir/issues/1778) - Fixed segfault on cast `IS_UNDEF` to array - [#1941](https://github.com/phalcon/zephir/issues/1941) + [#1941](https://github.com/zephir-lang/zephir/issues/1941) - Disables some regression changes introduced in the version `0.12.5` - [#1941 (comment)](https://github.com/phalcon/zephir/issues/1941#issuecomment-538654340) -- Fixed memory leak on update array [#1937](https://github.com/phalcon/zephir/issues/1937) + [#1941 (comment)](https://github.com/zephir-lang/zephir/issues/1941#issuecomment-538654340) +- Fixed memory leak on update array [#1937](https://github.com/zephir-lang/zephir/issues/1937) - Fixed IDE stubs generation for classes that extends base classes - [#1907](https://github.com/phalcon/zephir/issues/1907) -- Proper escape slashes in strings [#1495](https://github.com/phalcon/zephir/issues/1495) + [#1907](https://github.com/zephir-lang/zephir/issues/1907) +- Proper escape slashes in strings [#1495](https://github.com/zephir-lang/zephir/issues/1495) ### Changed - Print warning during the code generation if the `timecop` extension was detected - [#1950](https://github.com/phalcon/zephir/issues/1950) + [#1950](https://github.com/zephir-lang/zephir/issues/1950) - Improved error handling to not print PHP stack traces if `ZEPHIR_DEBUG` is not set ### Removed @@ -167,38 +185,38 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.12.8] - 2019-10-03 ### Fixed - Fixed `zephir_preg_match` to use `ZVAL_NULL` instead of `ZEPHIR_NULL` - [#1946](https://github.com/phalcon/zephir/issues/1946) + [#1946](https://github.com/zephir-lang/zephir/issues/1946) - Fixed `Extension\InternalClassesTest` test to be able run full test suite - without Phalcon [#1949](https://github.com/phalcon/zephir/issues/1949) + without Phalcon [#1949](https://github.com/zephir-lang/zephir/issues/1949) ## [0.12.7] - 2019-10-03 ### Fixed - Fixed regression introduced in `0.12.5` for those users who doesn't use bundled `ext/pcre/php_pcre.h` - [#1944](https://github.com/phalcon/zephir/issues/1944) - [#1940](https://github.com/phalcon/zephir/issues/1940) -- Fixed sitemap API generator [#1940](https://github.com/phalcon/zephir/issues/1940) + [#1944](https://github.com/zephir-lang/zephir/issues/1944) + [#1940](https://github.com/zephir-lang/zephir/issues/1940) +- Fixed sitemap API generator [#1940](https://github.com/zephir-lang/zephir/issues/1940) ## [0.12.6] - 2019-10-03 ### Fixed - Fixed regression introduced in `0.12.5` for those users who doesn't use - bundled `ext/json/php_json.h` [#1940](https://github.com/phalcon/zephir/issues/1940) + bundled `ext/json/php_json.h` [#1940](https://github.com/zephir-lang/zephir/issues/1940) ## [0.12.5] - 2019-10-02 ### Changed - Update `zend_update_static_property` to be compatible with PHP >= 7.3 - [#1904](https://github.com/phalcon/zephir/issues/1904) + [#1904](https://github.com/zephir-lang/zephir/issues/1904) - Improved error handling ### Fixed - Fixed IDE stubs generation to properly generate return type hint for `var | null` - [#1922](https://github.com/phalcon/zephir/issues/1922) -- Fixed updating Super Globals [#1917](https://github.com/phalcon/zephir/issues/1917) -- Fixed casting variables to array [#1923](https://github.com/phalcon/zephir/issues/1923) + [#1922](https://github.com/zephir-lang/zephir/issues/1922) +- Fixed updating Super Globals [#1917](https://github.com/zephir-lang/zephir/issues/1917) +- Fixed casting variables to array [#1923](https://github.com/zephir-lang/zephir/issues/1923) - Fixed work with constant which are not present - [#1928](https://github.com/phalcon/zephir/issues/1928) + [#1928](https://github.com/zephir-lang/zephir/issues/1928) - Fixed access to Super Globals - [#1934](https://github.com/phalcon/zephir/issues/1934), + [#1934](https://github.com/zephir-lang/zephir/issues/1934), [phalcon/cphalcon#14426](https://github.com/phalcon/cphalcon/issues/14426) ## [0.12.4] - 2019-09-22 @@ -208,16 +226,16 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.12.3] - 2019-09-22 ### Fixed - Fixed concatenation support of strings with `double` numbers - [#1893](https://github.com/phalcon/zephir/issues/1893) + [#1893](https://github.com/zephir-lang/zephir/issues/1893) - Fixed 'void' return type hint being ignored - [#1908](https://github.com/phalcon/zephir/issues/1908) + [#1908](https://github.com/zephir-lang/zephir/issues/1908) - Fixed updating array properties - [#1915](https://github.com/phalcon/zephir/issues/1915) + [#1915](https://github.com/zephir-lang/zephir/issues/1915) ## [0.12.2] - 2019-08-05 ### Added - Introduced initial ability to generate `zend_module_deps` - [#1900](https://github.com/phalcon/zephir/pull/1900), + [#1900](https://github.com/zephir-lang/zephir/pull/1900), [phalcon/cphalcon#13702](https://github.com/phalcon/cphalcon/issues/13702), [phalcon/cphalcon#13794](https://github.com/phalcon/cphalcon/pull/13794) @@ -230,8 +248,8 @@ and this project adheres to [Semantic Versioning](http://semver.org). ### Changed - Use local memory management - [#1859](https://github.com/phalcon/zephir/pull/1859), - [#1880](https://github.com/phalcon/zephir/pull/1880) + [#1859](https://github.com/zephir-lang/zephir/pull/1859), + [#1880](https://github.com/zephir-lang/zephir/pull/1880) - Rephrase help strings for common compiler options ### Removed @@ -242,17 +260,17 @@ and this project adheres to [Semantic Versioning](http://semver.org). ### Fixed - Fixed segfault when auto-loading class with syntax error - [#1885](https://github.com/phalcon/zephir/issues/1885) -- Optimize memory usage [#1882](https://github.com/phalcon/zephir/pull/1882) + [#1885](https://github.com/zephir-lang/zephir/issues/1885) +- Optimize memory usage [#1882](https://github.com/zephir-lang/zephir/pull/1882) - Fixed modifying array values in loops - [#1879](https://github.com/phalcon/zephir/issues/1879) + [#1879](https://github.com/zephir-lang/zephir/issues/1879) ## [0.12.0] - 2019-06-20 ### Added - Added initial support of "use" keyword in closures - [#888](https://github.com/phalcon/zephir/issues/888), - [#1848](https://github.com/phalcon/zephir/issues/1848) - [#1860](https://github.com/phalcon/zephir/issues/1860) + [#888](https://github.com/zephir-lang/zephir/issues/888), + [#1848](https://github.com/zephir-lang/zephir/issues/1848) + [#1860](https://github.com/zephir-lang/zephir/issues/1860) ### Removed - PHP 5.x is no longer supported @@ -262,34 +280,34 @@ and this project adheres to [Semantic Versioning](http://semver.org). ### Fixed - Fixed CLI runner for Windows - [#1857](https://github.com/phalcon/zephir/pull/1857) + [#1857](https://github.com/zephir-lang/zephir/pull/1857) - Fixed segfault with fetching and opcache - [#1855](https://github.com/phalcon/zephir/issues/1855) + [#1855](https://github.com/zephir-lang/zephir/issues/1855) - Extended classes can't access their private variables - [#1851](https://github.com/phalcon/zephir/issues/1851) + [#1851](https://github.com/zephir-lang/zephir/issues/1851) - Incorrect usage of `zend_declare_class_constant_ex` [phalcon/cphalcon#14160](https://github.com/phalcon/cphalcon/issues/14160), https://bugs.php.net/bug.php?id=78121 - Incorrect implementation of ArrayAccess methods - [#1871](https://github.com/phalcon/zephir/pull/1871) + [#1871](https://github.com/zephir-lang/zephir/pull/1871) - Fixed exception on call undefined method - [#1863](https://github.com/phalcon/zephir/issues/1863) + [#1863](https://github.com/zephir-lang/zephir/issues/1863) ## [0.11.12] - 2019-03-24 ### Fixed -- Compilation error for instanceof [#1828](https://github.com/phalcon/zephir/issues/1828) +- Compilation error for instanceof [#1828](https://github.com/zephir-lang/zephir/issues/1828) - Fixed `array_shift` behavior to mimicry PHP's "change by reference" - [#1831](https://github.com/phalcon/zephir/issues/1831) + [#1831](https://github.com/zephir-lang/zephir/issues/1831) - Fixed reference counting while changing object's properties that are arrays - [#1833](https://github.com/phalcon/zephir/pull/1833) + [#1833](https://github.com/zephir-lang/zephir/pull/1833) ## [0.11.11] - 2019-02-26 ### Fixed - Objects are not traversable with `foreach` - [#1818](https://github.com/phalcon/zephir/issues/1818) - [#1595](https://github.com/phalcon/zephir/issues/1595) -- Recursion for array_push on PHP 7 [#1140](https://github.com/phalcon/zephir/issues/1140) -- Invalid array initialization [#1159](https://github.com/phalcon/zephir/issues/1159) + [#1818](https://github.com/zephir-lang/zephir/issues/1818) + [#1595](https://github.com/zephir-lang/zephir/issues/1595) +- Recursion for array_push on PHP 7 [#1140](https://github.com/zephir-lang/zephir/issues/1140) +- Invalid array initialization [#1159](https://github.com/zephir-lang/zephir/issues/1159) ## [0.11.10] - 2019-02-23 ### Changed @@ -303,13 +321,13 @@ and this project adheres to [Semantic Versioning](http://semver.org). ### Fixed - Array of object as return type is reported to PHP as type, not array - [#1779](https://github.com/phalcon/zephir/issues/1779) -- Use namespace as a prefix for ini name [#1604](https://github.com/phalcon/zephir/issues/1604) -- Fixed calling anonymous functions by resolving context [#1751](https://github.com/phalcon/zephir/issues/1751) + [#1779](https://github.com/zephir-lang/zephir/issues/1779) +- Use namespace as a prefix for ini name [#1604](https://github.com/zephir-lang/zephir/issues/1604) +- Fixed calling anonymous functions by resolving context [#1751](https://github.com/zephir-lang/zephir/issues/1751) - Fixed a bug when accessing super-global variables that do not exist (only for PHP >= 7.0 ) - [#1775](https://github.com/phalcon/zephir/issues/1775) -- Fixed incorrect behavior during work with ArrayAccess [#1061](https://github.com/phalcon/zephir/issues/1061), - [#1400](https://github.com/phalcon/zephir/issues/1400) + [#1775](https://github.com/zephir-lang/zephir/issues/1775) +- Fixed incorrect behavior during work with ArrayAccess [#1061](https://github.com/zephir-lang/zephir/issues/1061), + [#1400](https://github.com/zephir-lang/zephir/issues/1400) ## [0.11.9] - 2019-01-15 - Fixed `zend_closure` declaration to reflect PHP 7.3 changes @@ -317,9 +335,9 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.11.8] - 2018-12-01 ### Fixed - Fixed compilation error with inheritance of prototype interfaces - [#1758](https://github.com/phalcon/zephir/issues/1758) + [#1758](https://github.com/zephir-lang/zephir/issues/1758) - Fixed compilation error when a new file is added or removed to the project - [#1776](https://github.com/phalcon/zephir/issues/1776) + [#1776](https://github.com/zephir-lang/zephir/issues/1776) ## [0.11.7] - 2018-11-27 ### Changed @@ -330,7 +348,7 @@ and this project adheres to [Semantic Versioning](http://semver.org). - The compiler's messages was divided into streams. Thus, now it is possible to redirect compiler's output as follows: `zephir generate 2> errors.log 1> /dev/null` - Fixed type hints for scalar arguments for PHP < 7.2 - [#1658](https://github.com/phalcon/zephir/pull/1658) + [#1658](https://github.com/zephir-lang/zephir/pull/1658) - Coloring the compiler messages in the terminal is temporarily disabled ### Fixed @@ -339,9 +357,9 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.11.6] - 2018-11-19 ### Fixed - Fixed incorrect behavior of `require` statement for ZendEngine3 - [#1621](https://github.com/phalcon/zephir/issues/1621) - [#1403](https://github.com/phalcon/zephir/issues/1403) - [#1428](https://github.com/phalcon/zephir/pull/1428) + [#1621](https://github.com/zephir-lang/zephir/issues/1621) + [#1403](https://github.com/zephir-lang/zephir/issues/1403) + [#1428](https://github.com/zephir-lang/zephir/pull/1428) ## [0.11.4] - 2018-11-18 ### Added @@ -349,20 +367,20 @@ and this project adheres to [Semantic Versioning](http://semver.org). - The preferred method of installation is to use the Zephir PHAR which can be downloaded from the most recent Github Release - Added `--no-dev` option to force building the extension in production mode - [#1520](https://github.com/phalcon/zephir/issues/1520) + [#1520](https://github.com/zephir-lang/zephir/issues/1520) - Zephir development mode will be enabled silently if your PHP binary was compiled in - a debug configuration [#1520](https://github.com/phalcon/zephir/issues/1520) + a debug configuration [#1520](https://github.com/zephir-lang/zephir/issues/1520) - Added missed CLI option `--export-classes` to flag whether classes must be exported. If export-classes is enabled all headers are copied to `include/php/ext`. ### Fixed - Fixed regression introduced in the 0.10.12 related to `require` file using protocols - [#1713](https://github.com/phalcon/zephir/issues/1713) + [#1713](https://github.com/zephir-lang/zephir/issues/1713) ## [0.11.3] - 2018-11-13 ### Changed - Remove legacy installers and provide a common way to install Zephir - [#1714](https://github.com/phalcon/zephir/issues/1714). Supported installation strategies are: + [#1714](https://github.com/zephir-lang/zephir/issues/1714). Supported installation strategies are: - Install as a global application (using `composer global require`) - Install as a PHAR file. (this feature currently in the testing phase and not released officially) - Install as a Git clone (using `git clone` and `composer install` inside cloned project) @@ -389,7 +407,7 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.11.0] - 2018-08-05 ### Added - Add type hints for scalar arguments and return values in ZendEngine 3 - [1656](https://github.com/phalcon/zephir/issues/1656) + [1656](https://github.com/zephir-lang/zephir/issues/1656) ## [0.10.14] - 2018-11-20 ### Fixed @@ -399,11 +417,11 @@ and this project adheres to [Semantic Versioning](http://semver.org). ## [0.10.13] - 2018-11-18 ### Fixed - Fixed regression introduced in the 0.10.12 related to `require` file using protocols - [#1713](https://github.com/phalcon/zephir/issues/1713) (backported from the upstream) + [#1713](https://github.com/zephir-lang/zephir/issues/1713) (backported from the upstream) - Fixed incorrect behavior of `require` statement for ZendEngine3 - [#1621](https://github.com/phalcon/zephir/issues/1621) - [#1403](https://github.com/phalcon/zephir/issues/1403) - [#1428](https://github.com/phalcon/zephir/pull/1428) + [#1621](https://github.com/zephir-lang/zephir/issues/1621) + [#1403](https://github.com/zephir-lang/zephir/issues/1403) + [#1428](https://github.com/zephir-lang/zephir/pull/1428) (backported from the upstream) ## [0.10.12] - 2018-10-19 @@ -417,45 +435,47 @@ and this project adheres to [Semantic Versioning](http://semver.org). ### Fixed - Fixed [Copy-On-Write](https://en.wikipedia.org/wiki/Copy-on-write) violation for arrays zvals - Fixed some testing settings - [5deb64a](https://github.com/phalcon/zephir/commit/5deb64a8a1c7c18d45ce1a5a55667c499e2c284f) + [5deb64a](https://github.com/zephir-lang/zephir/commit/5deb64a8a1c7c18d45ce1a5a55667c499e2c284f) - Fixed casting resource to int (only ZendEngine 3) - [#1524](https://github.com/phalcon/zephir/issues/1524) - -[Unreleased]: https://github.com/phalcon/zephir/compare/0.12.20...HEAD -[0.12.20]: https://github.com/phalcon/zephir/compare/0.12.19...0.12.20 -[0.12.19]: https://github.com/phalcon/zephir/compare/0.12.18...0.12.19 -[0.12.18]: https://github.com/phalcon/zephir/compare/0.12.17...0.12.18 -[0.12.17]: https://github.com/phalcon/zephir/compare/0.12.16...0.12.17 -[0.12.16]: https://github.com/phalcon/zephir/compare/0.12.15...0.12.16 -[0.12.15]: https://github.com/phalcon/zephir/compare/0.12.14...0.12.15 -[0.12.14]: https://github.com/phalcon/zephir/compare/0.12.13...0.12.14 -[0.12.13]: https://github.com/phalcon/zephir/compare/0.12.12...0.12.13 -[0.12.12]: https://github.com/phalcon/zephir/compare/0.12.11...0.12.12 -[0.12.11]: https://github.com/phalcon/zephir/compare/0.12.10...0.12.11 -[0.12.10]: https://github.com/phalcon/zephir/compare/0.12.9...0.12.10 -[0.12.9]: https://github.com/phalcon/zephir/compare/0.12.8...0.12.9 -[0.12.8]: https://github.com/phalcon/zephir/compare/0.12.7...0.12.8 -[0.12.7]: https://github.com/phalcon/zephir/compare/0.12.6...0.12.7 -[0.12.6]: https://github.com/phalcon/zephir/compare/0.12.5...0.12.6 -[0.12.5]: https://github.com/phalcon/zephir/compare/0.12.4...0.12.5 -[0.12.4]: https://github.com/phalcon/zephir/compare/0.12.3...0.12.4 -[0.12.3]: https://github.com/phalcon/zephir/compare/0.12.2...0.12.3 -[0.12.2]: https://github.com/phalcon/zephir/compare/0.12.1...0.12.2 -[0.12.1]: https://github.com/phalcon/zephir/compare/0.12.0...0.12.1 -[0.12.0]: https://github.com/phalcon/zephir/compare/0.11.12...0.12.0 -[0.11.12]: https://github.com/phalcon/zephir/compare/0.11.11...0.11.12 -[0.11.11]: https://github.com/phalcon/zephir/compare/0.11.10...0.11.11 -[0.11.10]: https://github.com/phalcon/zephir/compare/0.11.9...0.11.10 -[0.11.9]: https://github.com/phalcon/zephir/compare/0.11.8...0.11.9 -[0.11.8]: https://github.com/phalcon/zephir/compare/0.11.7...0.11.8 -[0.11.7]: https://github.com/phalcon/zephir/compare/0.11.6...0.11.7 -[0.11.6]: https://github.com/phalcon/zephir/compare/0.11.4...0.11.6 -[0.11.4]: https://github.com/phalcon/zephir/compare/0.11.3...0.11.4 -[0.11.3]: https://github.com/phalcon/zephir/compare/0.11.2...0.11.3 -[0.11.2]: https://github.com/phalcon/zephir/compare/0.11.1...0.11.2 -[0.11.1]: https://github.com/phalcon/zephir/compare/0.11.0...0.11.1 -[0.11.0]: https://github.com/phalcon/zephir/compare/0.10.14...0.11.0 -[0.10.14]: https://github.com/phalcon/zephir/compare/0.10.13...0.10.4 -[0.10.13]: https://github.com/phalcon/zephir/compare/0.10.12...0.10.13 -[0.10.12]: https://github.com/phalcon/zephir/compare/0.10.11...0.10.12 -[0.10.11]: https://github.com/phalcon/zephir/compare/0.10.10...0.10.11 + [#1524](https://github.com/zephir-lang/zephir/issues/1524) + +[Unreleased]: https://github.com/zephir-lang/zephir/compare/0.13.0...HEAD +[0.13.0]: https://github.com/zephir-lang/zephir/compare/0.12.21...0.13.0 +[0.12.21]: https://github.com/zephir-lang/zephir/compare/0.12.20...0.12.21 +[0.12.20]: https://github.com/zephir-lang/zephir/compare/0.12.19...0.12.20 +[0.12.19]: https://github.com/zephir-lang/zephir/compare/0.12.18...0.12.19 +[0.12.18]: https://github.com/zephir-lang/zephir/compare/0.12.17...0.12.18 +[0.12.17]: https://github.com/zephir-lang/zephir/compare/0.12.16...0.12.17 +[0.12.16]: https://github.com/zephir-lang/zephir/compare/0.12.15...0.12.16 +[0.12.15]: https://github.com/zephir-lang/zephir/compare/0.12.14...0.12.15 +[0.12.14]: https://github.com/zephir-lang/zephir/compare/0.12.13...0.12.14 +[0.12.13]: https://github.com/zephir-lang/zephir/compare/0.12.12...0.12.13 +[0.12.12]: https://github.com/zephir-lang/zephir/compare/0.12.11...0.12.12 +[0.12.11]: https://github.com/zephir-lang/zephir/compare/0.12.10...0.12.11 +[0.12.10]: https://github.com/zephir-lang/zephir/compare/0.12.9...0.12.10 +[0.12.9]: https://github.com/zephir-lang/zephir/compare/0.12.8...0.12.9 +[0.12.8]: https://github.com/zephir-lang/zephir/compare/0.12.7...0.12.8 +[0.12.7]: https://github.com/zephir-lang/zephir/compare/0.12.6...0.12.7 +[0.12.6]: https://github.com/zephir-lang/zephir/compare/0.12.5...0.12.6 +[0.12.5]: https://github.com/zephir-lang/zephir/compare/0.12.4...0.12.5 +[0.12.4]: https://github.com/zephir-lang/zephir/compare/0.12.3...0.12.4 +[0.12.3]: https://github.com/zephir-lang/zephir/compare/0.12.2...0.12.3 +[0.12.2]: https://github.com/zephir-lang/zephir/compare/0.12.1...0.12.2 +[0.12.1]: https://github.com/zephir-lang/zephir/compare/0.12.0...0.12.1 +[0.12.0]: https://github.com/zephir-lang/zephir/compare/0.11.12...0.12.0 +[0.11.12]: https://github.com/zephir-lang/zephir/compare/0.11.11...0.11.12 +[0.11.11]: https://github.com/zephir-lang/zephir/compare/0.11.10...0.11.11 +[0.11.10]: https://github.com/zephir-lang/zephir/compare/0.11.9...0.11.10 +[0.11.9]: https://github.com/zephir-lang/zephir/compare/0.11.8...0.11.9 +[0.11.8]: https://github.com/zephir-lang/zephir/compare/0.11.7...0.11.8 +[0.11.7]: https://github.com/zephir-lang/zephir/compare/0.11.6...0.11.7 +[0.11.6]: https://github.com/zephir-lang/zephir/compare/0.11.4...0.11.6 +[0.11.4]: https://github.com/zephir-lang/zephir/compare/0.11.3...0.11.4 +[0.11.3]: https://github.com/zephir-lang/zephir/compare/0.11.2...0.11.3 +[0.11.2]: https://github.com/zephir-lang/zephir/compare/0.11.1...0.11.2 +[0.11.1]: https://github.com/zephir-lang/zephir/compare/0.11.0...0.11.1 +[0.11.0]: https://github.com/zephir-lang/zephir/compare/0.10.14...0.11.0 +[0.10.14]: https://github.com/zephir-lang/zephir/compare/0.10.13...0.10.4 +[0.10.13]: https://github.com/zephir-lang/zephir/compare/0.10.12...0.10.13 +[0.10.12]: https://github.com/zephir-lang/zephir/compare/0.10.11...0.10.12 +[0.10.11]: https://github.com/zephir-lang/zephir/compare/0.10.10...0.10.11 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3119aa7f48..4360a464bb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,7 +80,7 @@ Thanks!
Phalcon Team [team]: https://phalcon.io/en-us/team -[issues]: https://github.com/phalcon/zephir/issues +[issues]: https://github.com/zephir-lang/zephir/issues [docs]: https://docs.zephir-lang.com [git rebase]: http://git-scm.com/book/en/Git-Branching-Rebasing [psr-2]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md diff --git a/Library/AbstractClassDefinition.php b/Library/AbstractClassDefinition.php new file mode 100644 index 0000000000..d6750ccb03 --- /dev/null +++ b/Library/AbstractClassDefinition.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Zephir; + +abstract class AbstractClassDefinition +{ + /** + * Class name + * + * @var string + */ + protected string $name; + + /** + * Returns the class name. + * + * @return string + */ + public function getName(): string + { + return $this->name; + } +} diff --git a/Library/AliasManager.php b/Library/AliasManager.php index 6ab6aafd6e..f500aa7886 100644 --- a/Library/AliasManager.php +++ b/Library/AliasManager.php @@ -1,6 +1,8 @@ @@ -18,14 +20,14 @@ */ final class AliasManager { - protected $aliases = []; + protected array $aliases = []; /** * Adds a renaming in a "use" to the alias manager. * * @param array $useStatement */ - public function add(array $useStatement) + public function add(array $useStatement): void { foreach ($useStatement['aliases'] as $alias) { $implicitAlias = $alias['alias'] ?? $this->implicitAlias($alias['name']); @@ -115,10 +117,10 @@ public function isAliasPresentFor(string $className): bool { $extractAlias = $this->implicitAlias($className); - $isClassDeclarated = \in_array($className, $this->aliases); + $isClassDeclared = \in_array($className, $this->aliases); $classAlias = array_flip($this->aliases)[$className] ?? null; - return $isClassDeclarated && $classAlias !== $extractAlias; + return $isClassDeclared && $classAlias !== $extractAlias; } /** diff --git a/Library/ArgInfoDefinition.php b/Library/ArgInfoDefinition.php index 53bfa7fd77..81796cc5ff 100644 --- a/Library/ArgInfoDefinition.php +++ b/Library/ArgInfoDefinition.php @@ -1,6 +1,8 @@ @@ -19,7 +21,7 @@ class ArgInfoDefinition /** * @var bool */ - private $returnByRef = false; + private bool $returnByRef; /** * @var ClassMethod|FunctionDefinition @@ -29,33 +31,42 @@ class ArgInfoDefinition /** * @var string */ - private $name = ''; + private string $name = ''; /** * @var ClassMethodParameters|null */ - private $parameters; + private ?ClassMethodParameters $parameters = null; /** * @var CodePrinter */ - private $codePrinter; + private CodePrinter $codePrinter; /** * @var CompilationContext */ - private $compilationContext; + private CompilationContext $compilationContext; /** * @var string */ - private $booleanDefinition = '_IS_BOOL'; + private string $booleanDefinition = '_IS_BOOL'; /** * @var bool */ - private $richFormat = true; + private bool $richFormat = true; + /** + * ArgInfoDefinition constructor. + * + * @param $name + * @param ClassMethod $functionLike + * @param CodePrinter $codePrinter + * @param CompilationContext $compilationContext + * @param false $returnByRef + */ public function __construct( $name, ClassMethod $functionLike, @@ -73,14 +84,14 @@ public function __construct( $this->returnByRef = $returnByRef; } - public function setBooleanDefinition($definition) + public function setBooleanDefinition(string $definition): void { - $this->booleanDefinition = (string) $definition; + $this->booleanDefinition = $definition; } - public function setRichFormat($flag) + public function setRichFormat(bool $flag): void { - $this->richFormat = (bool) $flag; + $this->richFormat = $flag; } /** @@ -88,7 +99,7 @@ public function setRichFormat($flag) * * @throws Exception */ - public function render() + public function render(): void { if ($this->richFormat && $this->functionLike->isReturnTypesHintDetermined() && @@ -109,6 +120,39 @@ public function render() $this->functionLike->getNumberOfRequiredParameters() ) ); + } else { + if ($this->functionLike->getName() === '__toString') { + $this->codePrinter->output('#if PHP_VERSION_ID >= 80000'); + $this->codePrinter->output( + sprintf( + 'ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, IS_STRING, %d)', + $this->name, + (int) $this->returnByRef, + $this->functionLike->getNumberOfRequiredParameters(), + (int) $this->functionLike->areReturnTypesNullCompatible() + ) + ); + + $this->codePrinter->output('#else'); + + $this->codePrinter->output( + sprintf( + 'ZEND_BEGIN_ARG_INFO_EX(%s, 0, %d, %d)', + $this->name, + (int) $this->returnByRef, + $this->functionLike->getNumberOfRequiredParameters() + ) + ); + + $this->codePrinter->output('#endif'); + } else { + $this->codePrinter->output( + sprintf('ZEND_BEGIN_ARG_INFO_EX(%s, 0, 0, 0)', $this->name) + ); + } + + $this->codePrinter->output('ZEND_END_ARG_INFO()'); + $this->codePrinter->outputBlankLine(); } if (true == $this->hasParameters()) { @@ -119,7 +163,7 @@ public function render() } } - private function richRenderStart() + private function richRenderStart(): void { if (\array_key_exists('object', $this->functionLike->getReturnTypes())) { $class = 'NULL'; @@ -129,7 +173,6 @@ private function richRenderStart() $class = escape_class($this->compilationContext->getFullName($class)); } - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( 'ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(%s, %d, %d, %s, %d)', @@ -140,25 +183,11 @@ private function richRenderStart() (int) $this->functionLike->areReturnTypesNullCompatible() ) ); - $this->codePrinter->output('#else'); - $this->codePrinter->output( - sprintf( - 'ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, IS_OBJECT, "%s", %d)', - $this->name, - (int) $this->returnByRef, - $this->functionLike->getNumberOfRequiredParameters(), - $class, - (int) $this->functionLike->areReturnTypesNullCompatible() - ) - ); - $this->codePrinter->output('#endif'); return; } if ($this->functionLike->isVoid()) { - $this->codePrinter->output('#if PHP_VERSION_ID >= 70100'); - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( 'ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, %s, %d)', @@ -170,52 +199,15 @@ private function richRenderStart() ) ); - $this->codePrinter->output('#else'); - - $this->codePrinter->output( - sprintf( - 'ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, %s, NULL, %d)', - $this->name, - (int) $this->returnByRef, - $this->functionLike->getNumberOfRequiredParameters(), - $this->getReturnType(), - (int) $this->functionLike->areReturnTypesNullCompatible() - ) - ); - - $this->codePrinter->output('#endif'); - if (false == $this->hasParameters()) { $this->codePrinter->output('ZEND_END_ARG_INFO()'); } - $this->codePrinter->output('#else'); - - if (true == $this->hasParameters()) { - $this->codePrinter->output( - sprintf( - 'ZEND_BEGIN_ARG_INFO_EX(%s, 0, %d, %d)', - $this->name, - (int) $this->returnByRef, - $this->functionLike->getNumberOfRequiredParameters() - ) - ); - } - - $this->codePrinter->output( - sprintf( - '#define %s NULL', - $this->name - ) - ); - - $this->codePrinter->output('#endif'); $this->codePrinter->outputBlankLine(); return; } - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( 'ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, %s, %d)', @@ -226,24 +218,9 @@ private function richRenderStart() (int) $this->functionLike->areReturnTypesNullCompatible() ) ); - - $this->codePrinter->output('#else'); - - $this->codePrinter->output( - sprintf( - 'ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(%s, %d, %d, %s, NULL, %d)', - $this->name, - (int) $this->returnByRef, - $this->functionLike->getNumberOfRequiredParameters(), - $this->getReturnType(), - (int) $this->functionLike->areReturnTypesNullCompatible() - ) - ); - - $this->codePrinter->output('#endif'); } - private function renderEnd() + private function renderEnd(): void { $flag = $this->richFormat ? '1' : '0'; @@ -293,7 +270,6 @@ private function renderEnd() case '1:bool': case '1:boolean': - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( "\tZEND_ARG_TYPE_INFO(%d, %s, %s, %d)", @@ -303,18 +279,12 @@ private function renderEnd() (int) $this->allowNull($parameter) ) ); - $this->codePrinter->output('#else'); - $this->codePrinter->output( - sprintf("\tZEND_ARG_INFO(%d, %s)", $this->passByReference($parameter), $parameter['name']) - ); - $this->codePrinter->output('#endif'); break; case '1:uchar': case '1:int': case '1:uint': case '1:long': case '1:ulong': - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( "\tZEND_ARG_TYPE_INFO(%d, %s, IS_LONG, %d)", @@ -323,14 +293,8 @@ private function renderEnd() (int) $this->allowNull($parameter) ) ); - $this->codePrinter->output('#else'); - $this->codePrinter->output( - sprintf("\tZEND_ARG_INFO(%d, %s)", $this->passByReference($parameter), $parameter['name']) - ); - $this->codePrinter->output('#endif'); break; case '1:double': - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( "\tZEND_ARG_TYPE_INFO(%d, %s, IS_DOUBLE, %d)", @@ -339,15 +303,9 @@ private function renderEnd() (int) $this->allowNull($parameter) ) ); - $this->codePrinter->output('#else'); - $this->codePrinter->output( - sprintf("\tZEND_ARG_INFO(%d, %s)", $this->passByReference($parameter), $parameter['name']) - ); - $this->codePrinter->output('#endif'); break; case '1:char': case '1:string': - $this->codePrinter->output('#if PHP_VERSION_ID >= 70200'); $this->codePrinter->output( sprintf( "\tZEND_ARG_TYPE_INFO(%d, %s, IS_STRING, %d)", @@ -356,11 +314,6 @@ private function renderEnd() (int) $this->allowNull($parameter) ) ); - $this->codePrinter->output('#else'); - $this->codePrinter->output( - sprintf("\tZEND_ARG_INFO(%d, %s)", $this->passByReference($parameter), $parameter['name']) - ); - $this->codePrinter->output('#endif'); break; default: $this->codePrinter->output( @@ -375,12 +328,12 @@ private function renderEnd() } } - private function hasParameters() + private function hasParameters(): bool { return null !== $this->parameters && \count($this->parameters->getParameters()) > 0; } - private function allowNull($parameter) + private function allowNull(array $parameter): bool { if (!isset($parameter['default']) || !\is_array($parameter['default'])) { return false; @@ -393,12 +346,12 @@ private function allowNull($parameter) return false; } - private function passByReference($parameter) + private function passByReference(array $parameter) { return isset($parameter['reference']) ? $parameter['reference'] : 0; } - private function getReturnType() + private function getReturnType(): string { if ($this->functionLike->areReturnTypesIntCompatible()) { return 'IS_LONG'; diff --git a/Library/Backends/BackendFactory.php b/Library/Backends/BackendFactory.php index a50b2b30f7..ed3e9ccbf7 100644 --- a/Library/Backends/BackendFactory.php +++ b/Library/Backends/BackendFactory.php @@ -1,6 +1,6 @@ diff --git a/Library/Backends/ZendEngine2/Backend.php b/Library/Backends/ZendEngine2/Backend.php index ec5bfe792a..c1383f5b3c 100644 --- a/Library/Backends/ZendEngine2/Backend.php +++ b/Library/Backends/ZendEngine2/Backend.php @@ -1,6 +1,6 @@ diff --git a/Library/Backends/ZendEngine3/Backend.php b/Library/Backends/ZendEngine3/Backend.php index 0c07c1d223..093c939de8 100644 --- a/Library/Backends/ZendEngine3/Backend.php +++ b/Library/Backends/ZendEngine3/Backend.php @@ -1,6 +1,6 @@ @@ -74,7 +74,7 @@ public function getVariableCode(Variable $variable): string /** * {@inheritdoc} * - * @todo Do we need this method at all? + * TODO: Do we need this method at all? */ public function getVariableCodePointer(Variable $variable) { @@ -488,11 +488,11 @@ public function declareConstant($type, $name, $value, CompilationContext $contex public function getInternalSignature(ClassMethod $method, CompilationContext $context): string { if ($method->isInitializer() && !$method->isStatic()) { - return 'zend_object *'.$method->getName().'(zend_class_entry *class_type TSRMLS_DC)'; + return 'zend_object *'.$method->getName().'(zend_class_entry *class_type)'; } if ($method->isInitializer() && $method->isStatic()) { - return 'void '.$method->getName().'(TSRMLS_D)'; + return 'void '.$method->getName().'()'; } $signatureParameters = []; diff --git a/Library/Backends/ZendEngine3/FcallManager.php b/Library/Backends/ZendEngine3/FcallManager.php index 63df087040..995ad528ac 100644 --- a/Library/Backends/ZendEngine3/FcallManager.php +++ b/Library/Backends/ZendEngine3/FcallManager.php @@ -1,6 +1,6 @@ diff --git a/Library/Backends/ZendEngine3/StringsManager.php b/Library/Backends/ZendEngine3/StringsManager.php index 8652977591..9f322037ad 100644 --- a/Library/Backends/ZendEngine3/StringsManager.php +++ b/Library/Backends/ZendEngine3/StringsManager.php @@ -1,6 +1,6 @@ diff --git a/Library/Backends/ZendEngine3/VariablesManager.php b/Library/Backends/ZendEngine3/VariablesManager.php index 439282c7e4..00980b7ffa 100644 --- a/Library/Backends/ZendEngine3/VariablesManager.php +++ b/Library/Backends/ZendEngine3/VariablesManager.php @@ -1,6 +1,6 @@ @@ -64,7 +64,7 @@ public function initializeDefaults(Variable $variable, array $value, Context $co private function initDynamicVar(Variable $variable, array $value, Context $context) { /* These ones are system variables, do not add default values. - Also see: https://github.com/phalcon/zephir/issues/1660 */ + Also see: https://github.com/zephir-lang/zephir/issues/1660 */ if (\in_array($variable->getName(), self::RESERVED_NAMES, true)) { return; } diff --git a/Library/BaseBackend.php b/Library/BaseBackend.php index 2847fdaad6..31ab550752 100644 --- a/Library/BaseBackend.php +++ b/Library/BaseBackend.php @@ -1,6 +1,6 @@ diff --git a/Library/Branch.php b/Library/Branch.php index 6635beb859..816493bbe3 100644 --- a/Library/Branch.php +++ b/Library/Branch.php @@ -1,6 +1,6 @@ diff --git a/Library/BranchGraph.php b/Library/BranchGraph.php index 07a7ab67a9..d26ca47307 100644 --- a/Library/BranchGraph.php +++ b/Library/BranchGraph.php @@ -1,6 +1,6 @@ diff --git a/Library/BranchGraphNode.php b/Library/BranchGraphNode.php index dc8fbb30df..d8e1cefc37 100644 --- a/Library/BranchGraphNode.php +++ b/Library/BranchGraphNode.php @@ -1,6 +1,6 @@ diff --git a/Library/BranchManager.php b/Library/BranchManager.php index 7bf7b8d9e1..9cf041daa8 100644 --- a/Library/BranchManager.php +++ b/Library/BranchManager.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/FunctionCallBuilder.php b/Library/Builder/FunctionCallBuilder.php index 19f09cfab0..7fdf053a52 100644 --- a/Library/Builder/FunctionCallBuilder.php +++ b/Library/Builder/FunctionCallBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/LiteralBuilder.php b/Library/Builder/LiteralBuilder.php index 0d48af4572..d10c8a50f3 100644 --- a/Library/Builder/LiteralBuilder.php +++ b/Library/Builder/LiteralBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Operators/AbstractOperatorBuilder.php b/Library/Builder/Operators/AbstractOperatorBuilder.php index b2523afa29..28fc7a208a 100644 --- a/Library/Builder/Operators/AbstractOperatorBuilder.php +++ b/Library/Builder/Operators/AbstractOperatorBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Operators/BinaryOperatorBuilder.php b/Library/Builder/Operators/BinaryOperatorBuilder.php index 257323f15e..8bb9bc497c 100644 --- a/Library/Builder/Operators/BinaryOperatorBuilder.php +++ b/Library/Builder/Operators/BinaryOperatorBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Operators/CastOperatorBuilder.php b/Library/Builder/Operators/CastOperatorBuilder.php index 6bf7ac3063..064e5586bc 100644 --- a/Library/Builder/Operators/CastOperatorBuilder.php +++ b/Library/Builder/Operators/CastOperatorBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Operators/NewInstanceOperatorBuilder.php b/Library/Builder/Operators/NewInstanceOperatorBuilder.php index fb7ec1f03a..5efcc1f903 100644 --- a/Library/Builder/Operators/NewInstanceOperatorBuilder.php +++ b/Library/Builder/Operators/NewInstanceOperatorBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Operators/TypeOfOperatorBuilder.php b/Library/Builder/Operators/TypeOfOperatorBuilder.php index 1d2b6ab19c..c73fc8a180 100644 --- a/Library/Builder/Operators/TypeOfOperatorBuilder.php +++ b/Library/Builder/Operators/TypeOfOperatorBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Operators/UnaryOperatorBuilder.php b/Library/Builder/Operators/UnaryOperatorBuilder.php index 06f0341de9..21f46e35dd 100644 --- a/Library/Builder/Operators/UnaryOperatorBuilder.php +++ b/Library/Builder/Operators/UnaryOperatorBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/ParameterBuilder.php b/Library/Builder/ParameterBuilder.php index a6f6d5e925..3a594a0778 100644 --- a/Library/Builder/ParameterBuilder.php +++ b/Library/Builder/ParameterBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/RawExpressionBuilder.php b/Library/Builder/RawExpressionBuilder.php index 6a0b2c206e..c906e6cffd 100644 --- a/Library/Builder/RawExpressionBuilder.php +++ b/Library/Builder/RawExpressionBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Statements/AbstractStatementBuilder.php b/Library/Builder/Statements/AbstractStatementBuilder.php index e81b9c3fc7..1cc9073658 100644 --- a/Library/Builder/Statements/AbstractStatementBuilder.php +++ b/Library/Builder/Statements/AbstractStatementBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Statements/IfStatementBuilder.php b/Library/Builder/Statements/IfStatementBuilder.php index 0c9e143925..6864f67e0c 100644 --- a/Library/Builder/Statements/IfStatementBuilder.php +++ b/Library/Builder/Statements/IfStatementBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Statements/LetStatementBuilder.php b/Library/Builder/Statements/LetStatementBuilder.php index 67762fe5b5..718e906cb0 100644 --- a/Library/Builder/Statements/LetStatementBuilder.php +++ b/Library/Builder/Statements/LetStatementBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Statements/ReturnStatementBuilder.php b/Library/Builder/Statements/ReturnStatementBuilder.php index 91d2e8f1a4..6d14635027 100644 --- a/Library/Builder/Statements/ReturnStatementBuilder.php +++ b/Library/Builder/Statements/ReturnStatementBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/Statements/ThrowStatementBuilder.php b/Library/Builder/Statements/ThrowStatementBuilder.php index 868f1953c4..8007dbbee1 100644 --- a/Library/Builder/Statements/ThrowStatementBuilder.php +++ b/Library/Builder/Statements/ThrowStatementBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/StatementsBlockBuilder.php b/Library/Builder/StatementsBlockBuilder.php index 767661b886..886a5ea61e 100644 --- a/Library/Builder/StatementsBlockBuilder.php +++ b/Library/Builder/StatementsBlockBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Builder/VariableBuilder.php b/Library/Builder/VariableBuilder.php index f5b2f1b0ed..33e0b8c282 100644 --- a/Library/Builder/VariableBuilder.php +++ b/Library/Builder/VariableBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Cache/ClassEntryCache.php b/Library/Cache/ClassEntryCache.php index fed14356e4..aeefd0e694 100644 --- a/Library/Cache/ClassEntryCache.php +++ b/Library/Cache/ClassEntryCache.php @@ -1,6 +1,6 @@ diff --git a/Library/Cache/FunctionCache.php b/Library/Cache/FunctionCache.php index a0d1d4aed8..2842e71b65 100644 --- a/Library/Cache/FunctionCache.php +++ b/Library/Cache/FunctionCache.php @@ -1,6 +1,6 @@ diff --git a/Library/Cache/MethodCache.php b/Library/Cache/MethodCache.php index 6c82fa8d58..236ceabb4b 100644 --- a/Library/Cache/MethodCache.php +++ b/Library/Cache/MethodCache.php @@ -1,6 +1,6 @@ diff --git a/Library/Cache/SlotsCache.php b/Library/Cache/SlotsCache.php index 83822b4849..2836ba2c9e 100644 --- a/Library/Cache/SlotsCache.php +++ b/Library/Cache/SlotsCache.php @@ -1,6 +1,6 @@ diff --git a/Library/Cache/StaticMethodCache.php b/Library/Cache/StaticMethodCache.php index f4b6afbabd..fde7997b59 100644 --- a/Library/Cache/StaticMethodCache.php +++ b/Library/Cache/StaticMethodCache.php @@ -1,6 +1,6 @@ diff --git a/Library/CacheManager.php b/Library/CacheManager.php index 2d65e2c92d..1e1594538f 100644 --- a/Library/CacheManager.php +++ b/Library/CacheManager.php @@ -1,6 +1,6 @@ diff --git a/Library/Call.php b/Library/Call.php index 121c6f1905..c443c7e70d 100644 --- a/Library/Call.php +++ b/Library/Call.php @@ -1,6 +1,6 @@ diff --git a/Library/ClassConstant.php b/Library/ClassConstant.php index 6f4cbed848..bae66374b9 100644 --- a/Library/ClassConstant.php +++ b/Library/ClassConstant.php @@ -1,6 +1,6 @@ @@ -64,7 +64,7 @@ public function getName() /** * Returns the constant's value. * - * @todo Rewrite name + * TODO: Rewrite name * * @return array */ diff --git a/Library/ClassDefinition.php b/Library/ClassDefinition.php index 8287e61b1d..b01ff67c05 100644 --- a/Library/ClassDefinition.php +++ b/Library/ClassDefinition.php @@ -1,6 +1,6 @@ @@ -9,93 +9,165 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir; +use ReflectionClass; +use ReflectionException; use Zephir\Documentation\Docblock; use Zephir\Documentation\DocblockParser; use Zephir\Exception\CompilerException; use Zephir\Exception\InvalidArgumentException; +use function count; +use function gettype; +use function is_array; +use function strlen; +use const DIRECTORY_SEPARATOR; /** - * Zephir\ClassDefinition. + * Class Definition * * Represents a class/interface and their properties and methods. */ -final class ClassDefinition +final class ClassDefinition extends AbstractClassDefinition { - /** @var string */ - protected $namespace; + public const TYPE_CLASS = 'class'; + public const TYPE_INTERFACE = 'interface'; - /** @var string */ - protected $name; + /** + * Class namespace + * + * @var string + */ + protected string $namespace; - /** @var string */ - protected $shortName; + /** + * Class short name + * + * If didn't specified, then equals to $name + * + * @var string + * @see ClassDefinition::name + */ + protected string $shortName; - /** @var string */ - protected $type = 'class'; + /** + * Definition type + * + * @var string + */ + protected string $type = self::TYPE_CLASS; - /** @var string */ - protected $extendsClass; + /** + * Name of inherited class + * + * @var string|null + */ + protected ?string $extendsClass = null; - /** @var array */ - protected $interfaces; + /** + * List of implemented interfaces of current class + * + * @var array + */ + protected array $interfaces = []; - /** @var bool */ - protected $final; + /** + * Contains "final" in the definition + * + * @var bool + */ + protected bool $final = false; - /** @var bool */ - protected $abstract; + /** + * Contains "abstract" in the definition + * + * @var bool + */ + protected bool $abstract = false; - /** @var bool */ - protected $external = false; + /** + * When class is from external dependency + * + * @var bool + */ + protected bool $external = false; - /** @var ClassDefinitionRuntime|ClassDefinition */ - protected $extendsClassDefinition; + /** + * Definition object of inherited class + * + * @var AbstractClassDefinition|null + */ + protected ?AbstractClassDefinition $extendsClassDefinition = null; - /** @var ClassDefinition[] */ - protected $implementedInterfaceDefinitions = []; + /** + * @var AbstractClassDefinition[] + */ + protected array $implementedInterfaceDefinitions = []; - /** @var ClassProperty[] */ - protected $properties = []; + /** + * @var ClassProperty[] + */ + protected array $properties = []; - /** @var ClassConstant[] */ - protected $constants = []; + /** + * @var ClassConstant[] + */ + protected array $constants = []; - /** @var ClassMethod[] */ - protected $methods = []; + /** + * @var array + */ + protected array $methods = []; - /** @var string */ - protected $docBlock; + /** + * @var string + */ + protected string $docBlock = ''; - /** @var Docblock */ - protected $parsedDocblock; + /** + * @var Docblock|null + */ + protected ?Docblock $parsedDocblock = null; - /** @var int */ - protected $dependencyRank = 0; + /** + * @var int + */ + protected int $dependencyRank = 0; - /** @var array */ - protected $originalNode; + /** + * @var array + */ + protected array $originalNode = []; - /** @var EventsManager */ - protected $eventsManager; + /** + * @var EventsManager + */ + protected EventsManager $eventsManager; - /** @var bool */ - protected $isBundled = false; + /** + * @var bool + */ + protected bool $isBundled = false; - /** @var AliasManager */ - protected $aliasManager = null; + /** + * @var AliasManager|null + */ + protected ?AliasManager $aliasManager = null; /** - * Whether the constructor was generated by zephir + * Whether the constructor was generated by Zephir * (-> no constructor existed previously). * * @var bool */ - protected $isGeneratedConstructor = false; + protected bool $isGeneratedConstructor = false; - /** @var Compiler */ - protected $compiler; + /** + * @var Compiler + */ + protected Compiler $compiler; /** * ClassDefinition. @@ -104,7 +176,7 @@ final class ClassDefinition * @param string $name * @param string|null $shortName */ - public function __construct(string $namespace, string $name, string $shortName = null) + public function __construct(string $namespace, string $name, ?string $shortName = null) { $this->namespace = $namespace; $this->name = $name; @@ -118,7 +190,7 @@ public function __construct(string $namespace, string $name, string $shortName = * * @param bool $isBundled */ - public function setIsBundled($isBundled) + public function setIsBundled(bool $isBundled): void { $this->isBundled = $isBundled; } @@ -128,7 +200,7 @@ public function setIsBundled($isBundled) * * @return bool */ - public function isBundled() + public function isBundled(): bool { return $this->isBundled; } @@ -138,7 +210,7 @@ public function isBundled() * * @param bool $isGeneratedConstructor */ - public function setIsGeneratedConstructor($isGeneratedConstructor) + public function setIsGeneratedConstructor(bool $isGeneratedConstructor): void { $this->isGeneratedConstructor = $isGeneratedConstructor; } @@ -148,7 +220,7 @@ public function setIsGeneratedConstructor($isGeneratedConstructor) * * @return bool */ - public function isGeneratedConstructor() + public function isGeneratedConstructor(): bool { return $this->isGeneratedConstructor; } @@ -158,7 +230,7 @@ public function isGeneratedConstructor() * * @param bool $isExternal */ - public function setIsExternal($isExternal) + public function setIsExternal(bool $isExternal): void { $this->external = $isExternal; } @@ -168,7 +240,7 @@ public function setIsExternal($isExternal) * * @return bool */ - public function isExternal() + public function isExternal(): bool { return $this->external; } @@ -178,7 +250,7 @@ public function isExternal() * * @return EventsManager */ - public function getEventsManager() + public function getEventsManager(): EventsManager { return $this->eventsManager; } @@ -188,7 +260,7 @@ public function getEventsManager() * * @param string $type */ - public function setType($type) + public function setType(string $type): void { $this->type = $type; } @@ -198,27 +270,17 @@ public function setType($type) * * @return string */ - public function getType() + public function getType(): string { return $this->type; } - /** - * Returns the class name. - * - * @return string - */ - public function getName() - { - return $this->name; - } - /** * Returns the class name without namespace. * * @return string */ - public function getShortName() + public function getShortName(): string { return $this->shortName; } @@ -228,9 +290,9 @@ public function getShortName() * * @return bool */ - public function isInterface() + public function isInterface(): bool { - return 'interface' == $this->type; + return 'interface' === $this->type; } /** @@ -238,9 +300,9 @@ public function isInterface() * * @param bool $final */ - public function setIsFinal($final) + public function setIsFinal(bool $final): void { - $this->final = (bool) $final; + $this->final = $final; } /** @@ -248,9 +310,9 @@ public function setIsFinal($final) * * @param bool $abstract */ - public function setIsAbstract($abstract) + public function setIsAbstract(bool $abstract): void { - $this->abstract = (bool) $abstract; + $this->abstract = $abstract; } /** @@ -258,7 +320,7 @@ public function setIsAbstract($abstract) * * @return bool */ - public function isAbstract() + public function isAbstract(): bool { return $this->abstract; } @@ -268,7 +330,7 @@ public function isAbstract() * * @return bool */ - public function isFinal() + public function isFinal(): bool { return $this->final; } @@ -278,7 +340,7 @@ public function isFinal() * * @return string */ - public function getCompleteName() + public function getCompleteName(): string { return $this->namespace.'\\'.$this->shortName; } @@ -288,7 +350,7 @@ public function getCompleteName() * * @return string */ - public function getNamespace() + public function getNamespace(): string { return $this->namespace; } @@ -298,7 +360,7 @@ public function getNamespace() * * @param array $originalNode */ - public function setOriginalNode(array $originalNode) + public function setOriginalNode(array $originalNode): void { $this->originalNode = $originalNode; } @@ -308,7 +370,7 @@ public function setOriginalNode(array $originalNode) * * @param string $extendsClass */ - public function setExtendsClass($extendsClass) + public function setExtendsClass(string $extendsClass): void { $this->extendsClass = $extendsClass; } @@ -318,22 +380,20 @@ public function setExtendsClass($extendsClass) * * @param array $implementedInterfaces */ - public function setImplementsInterfaces(array $implementedInterfaces) + public function setImplementsInterfaces(array $implementedInterfaces): void { - $interfaces = []; + $this->interfaces = []; foreach ($implementedInterfaces as $implementedInterface) { - $interfaces[] = $implementedInterface['value']; + $this->interfaces[] = $implementedInterface['value']; } - - $this->interfaces = $interfaces; } /** * Returns the extended class. * - * @return string + * @return string|null */ - public function getExtendsClass() + public function getExtendsClass(): ?string { return $this->extendsClass; } @@ -343,7 +403,7 @@ public function getExtendsClass() * * @return array */ - public function getImplementedInterfaces() + public function getImplementedInterfaces(): array { return $this->interfaces; } @@ -351,9 +411,9 @@ public function getImplementedInterfaces() /** * Sets the class definition for the extended class. * - * @param ClassDefinitionRuntime|ClassDefinition $classDefinition + * @param AbstractClassDefinition $classDefinition */ - public function setExtendsClassDefinition($classDefinition) + public function setExtendsClassDefinition(AbstractClassDefinition $classDefinition): void { $this->extendsClassDefinition = $classDefinition; } @@ -361,14 +421,12 @@ public function setExtendsClassDefinition($classDefinition) /** * Returns the class definition related to the extended class. * - * @return ClassDefinition|ClassDefinitionRuntime + * @return AbstractClassDefinition|null */ - public function getExtendsClassDefinition() + public function getExtendsClassDefinition(): ?AbstractClassDefinition { - if (!$this->extendsClassDefinition && $this->extendsClass) { - if ($this->compiler) { - $this->setExtendsClassDefinition($this->compiler->getClassDefinition($this->extendsClass)); - } + if (!$this->extendsClassDefinition && $this->extendsClass && $this->compiler) { + $this->setExtendsClassDefinition($this->compiler->getClassDefinition($this->extendsClass)); } return $this->extendsClassDefinition; @@ -377,7 +435,7 @@ public function getExtendsClassDefinition() /** * Sets the class definition for the implemented interfaces. * - * @param ClassDefinition[] $implementedInterfaceDefinitions + * @param AbstractClassDefinition[] $implementedInterfaceDefinitions */ public function setImplementedInterfaceDefinitions(array $implementedInterfaceDefinitions) { @@ -387,9 +445,9 @@ public function setImplementedInterfaceDefinitions(array $implementedInterfaceDe /** * Returns the class definition for the implemented interfaces. * - * @return ClassDefinition[] + * @return AbstractClassDefinition[] */ - public function getImplementedInterfaceDefinitions() + public function getImplementedInterfaceDefinitions(): array { return $this->implementedInterfaceDefinitions; } @@ -397,9 +455,9 @@ public function getImplementedInterfaceDefinitions() /** * Calculate the dependency rank of the class based on its dependencies. * - * @return ClassDefinition[] + * @return AbstractClassDefinition[] */ - public function getDependencies() + public function getDependencies(): array { $dependencies = []; if ($this->extendsClassDefinition && $this->extendsClassDefinition instanceof self) { @@ -420,9 +478,9 @@ public function getDependencies() * * @param int $rank */ - public function increaseDependencyRank($rank) + public function increaseDependencyRank(int $rank): void { - $this->dependencyRank += ($rank + 1); + $this->dependencyRank += $rank + 1; } /** @@ -430,7 +488,7 @@ public function increaseDependencyRank($rank) * * @return int */ - public function getDependencyRank() + public function getDependencyRank(): int { return $this->dependencyRank; } @@ -440,7 +498,7 @@ public function getDependencyRank() * * @param string $docBlock */ - public function setDocBlock($docBlock) + public function setDocBlock(string $docBlock): void { $this->docBlock = $docBlock; } @@ -450,7 +508,7 @@ public function setDocBlock($docBlock) * * @return string */ - public function getDocBlock() + public function getDocBlock(): string { return $this->docBlock; } @@ -460,17 +518,18 @@ public function getDocBlock() * * @return DocBlock|null */ - public function getParsedDocBlock() + public function getParsedDocBlock(): ?DocBlock { - if (!$this->parsedDocblock) { - if (\strlen($this->docBlock) > 0) { - $parser = new DocblockParser('/'.$this->docBlock.'/'); - $this->parsedDocblock = $parser->parse(); - } else { - return null; - } + if ($this->parsedDocblock instanceof Docblock) { + return $this->parsedDocblock; + } + + if (strlen($this->docBlock) === 0) { + return null; } + $this->parsedDocblock = (new DocblockParser('/'.$this->docBlock.'/'))->parse(); + return $this->parsedDocblock; } @@ -478,10 +537,9 @@ public function getParsedDocBlock() * Adds a property to the definition. * * @param ClassProperty $property - * * @throws CompilerException */ - public function addProperty(ClassProperty $property) + public function addProperty(ClassProperty $property): void { if (isset($this->properties[$property->getName()])) { throw new CompilerException("Property '".$property->getName()."' was defined more than one time", $property->getOriginal()); @@ -509,72 +567,61 @@ public function addConstant(ClassConstant $constant) /** * Checks if a class definition has a property. * - * @todo Duplicates getProperty - * - * @deprecated - * * @param string $name - * * @return bool */ - public function hasProperty($name) + public function hasProperty(string $name): bool { if (isset($this->properties[$name])) { return true; - } else { - $extendsClassDefinition = $this->getExtendsClassDefinition(); - if ($extendsClassDefinition) { - if ($extendsClassDefinition->hasProperty($name)) { - return true; - } - } + } - return false; + $extendsClassDefinition = $this->getExtendsClassDefinition(); + if ($extendsClassDefinition instanceof ClassDefinition && $extendsClassDefinition->hasProperty($name)) { + return true; } + + return false; } /** * Returns a method definition by its name. * * @param string $propertyName - * - * @return bool|ClassProperty + * @return null|ClassProperty */ - public function getProperty($propertyName) + public function getProperty(string $propertyName): ?ClassProperty { if (isset($this->properties[$propertyName])) { return $this->properties[$propertyName]; } $extendsClassDefinition = $this->getExtendsClassDefinition(); - if ($extendsClassDefinition) { + if ($extendsClassDefinition instanceof ClassDefinition) { return $extendsClassDefinition->getProperty($propertyName); } - return false; + return null; } /** * Checks if class definition has a property. * * @param string $name - * * @return bool */ - public function hasConstant($name) + public function hasConstant(string $name): bool { if (isset($this->constants[$name])) { return true; } $extendsClassDefinition = $this->getExtendsClassDefinition(); - if ($extendsClassDefinition) { - if ($extendsClassDefinition->hasConstant($name)) { - return true; - } + if ($extendsClassDefinition instanceof ClassDefinition && $extendsClassDefinition->hasConstant($name)) { + return true; } - /* + /** * Check if constant is defined in interfaces */ return $this->hasConstantFromInterfaces($name); @@ -584,33 +631,21 @@ public function hasConstant($name) * Returns a constant definition by its name. * * @param string $constantName - * - * @return bool|ClassConstant - * + * @return ClassConstant|null * @throws InvalidArgumentException */ - public function getConstant($constantName) + public function getConstant(string $constantName): ?ClassConstant { - if (!\is_string($constantName)) { - throw new InvalidArgumentException('$constantName must be string type'); - } - - if (empty($constantName)) { - throw new InvalidArgumentException('$constantName must not be empty: '.$constantName); - } - if (isset($this->constants[$constantName])) { return $this->constants[$constantName]; } $extendsClassDefinition = $this->getExtendsClassDefinition(); - if ($extendsClassDefinition) { - if ($extendsClassDefinition->hasConstant($constantName)) { - return $extendsClassDefinition->getConstant($constantName); - } + if ($extendsClassDefinition instanceof ClassDefinition && $extendsClassDefinition->hasConstant($constantName)) { + return $extendsClassDefinition->getConstant($constantName); } - /* + /** * Gets constant from interfaces */ return $this->getConstantFromInterfaces($constantName); @@ -620,11 +655,11 @@ public function getConstant($constantName) * Adds a method to the class definition. * * @param ClassMethod $method - * @param array $statement + * @param array|null $statement * * @throws CompilerException */ - public function addMethod(ClassMethod $method, $statement = null) + public function addMethod(ClassMethod $method, ?array $statement = null) { $methodName = strtolower($method->getName()); if (isset($this->methods[$methodName])) { @@ -638,11 +673,11 @@ public function addMethod(ClassMethod $method, $statement = null) * Updates an existing method definition. * * @param ClassMethod $method - * @param array $statement + * @param array|null $statement * * @throws CompilerException */ - public function updateMethod(ClassMethod $method, $statement = null) + public function updateMethod(ClassMethod $method, ?array $statement = null): void { $methodName = strtolower($method->getName()); if (!isset($this->methods[$methodName])) { @@ -657,7 +692,7 @@ public function updateMethod(ClassMethod $method, $statement = null) * * @return ClassProperty[] */ - public function getProperties() + public function getProperties(): array { return $this->properties; } @@ -667,7 +702,7 @@ public function getProperties() * * @return ClassConstant[] */ - public function getConstants() + public function getConstants(): array { return $this->constants; } @@ -677,7 +712,7 @@ public function getConstants() * * @return ClassMethod[] */ - public function getMethods() + public function getMethods(): array { return $this->methods; } @@ -686,14 +721,13 @@ public function getMethods() * Checks if the class implements an specific name. * * @param string $methodName - * * @return bool */ - public function hasMethod($methodName) + public function hasMethod(string $methodName): bool { $methodNameLower = strtolower($methodName); foreach ($this->methods as $name => $method) { - if ($methodNameLower == $name) { + if ($methodNameLower === $name) { return true; } } @@ -704,7 +738,7 @@ public function hasMethod($methodName) $extendsClassDefinition = $this->compiler->getInternalClassDefinition( $extendsClassDefinition->getName() ); - } catch (\ReflectionException $e) { + } catch (ReflectionException $e) { // Do nothing return false; } @@ -727,19 +761,19 @@ public function hasMethod($methodName) * @param string $methodName * @param bool $checkExtends * - * @return bool|ClassMethod + * @return ClassMethod|null */ - public function getMethod($methodName, $checkExtends = true) + public function getMethod(string $methodName, bool $checkExtends = true): ?ClassMethod { $methodNameLower = strtolower($methodName); foreach ($this->methods as $name => $method) { - if ($methodNameLower == $name) { + if ($methodNameLower === $name) { return $method; } } if (!$checkExtends) { - return false; + return null; } $extendsClassDefinition = $this->getExtendsClassDefinition(); @@ -749,7 +783,7 @@ public function getMethod($methodName, $checkExtends = true) } } - return false; + return null; } /** @@ -758,7 +792,7 @@ public function getMethod($methodName, $checkExtends = true) * @param $methodName * @param ClassMethod $method */ - public function setMethod($methodName, ClassMethod $method) + public function setMethod(string $methodName, ClassMethod $method): void { $this->methods[$methodName] = $method; } @@ -768,7 +802,7 @@ public function setMethod($methodName, ClassMethod $method) * * @param array $methods */ - public function setMethods($methods) + public function setMethods(array $methods): void { $this->methods = $methods; } @@ -777,46 +811,42 @@ public function setMethods($methods) * Tries to find the most similar name. * * @param string $methodName - * - * @return bool|string + * @return null|string */ - public function getPossibleMethodName($methodName) + public function getPossibleMethodName(string $methodName): ?string { $methodNameLower = strtolower($methodName); foreach ($this->methods as $name => $method) { - if (metaphone($methodNameLower) == metaphone($name)) { + if (metaphone($methodNameLower) === metaphone($name)) { return $method->getName(); } } - $extendsClassDefinition = $this->extendsClassDefinition; - if ($extendsClassDefinition) { - return $extendsClassDefinition->getPossibleMethodName($methodName); + if ($this->extendsClassDefinition instanceof ClassDefinition) { + return $this->extendsClassDefinition->getPossibleMethodName($methodName); } - return false; + return null; } /** * Returns the name of the zend_class_entry according to the class name. * - * @param CompilationContext $compilationContext - * + * @param CompilationContext|null $compilationContext * @throws Exception - * * @return string */ - public function getClassEntry(CompilationContext $compilationContext = null) + public function getClassEntry(?CompilationContext $compilationContext = null): string { if ($this->external) { - if (!\is_object($compilationContext)) { + if ($compilationContext === null) { throw new Exception('A compilation context is required'); } $this->compiler = $compilationContext->compiler; - /* + /** * Automatically add the external header */ $compilationContext->headersManager->add($this->getExternalHeader(), HeadersManager::POSITION_LAST); @@ -830,7 +860,7 @@ public function getClassEntry(CompilationContext $compilationContext = null) * * @return string */ - public function getCNamespace() + public function getCNamespace(): string { return str_replace('\\', '_', $this->namespace); } @@ -840,7 +870,7 @@ public function getCNamespace() * * @return string */ - public function getNCNamespace() + public function getNCNamespace(): string { return str_replace('\\', '\\\\', $this->namespace); } @@ -849,10 +879,9 @@ public function getNCNamespace() * Class name without namespace prefix for class registration. * * @param string $namespace - * * @return string */ - public function getSCName($namespace) + public function getSCName(string $namespace): string { return str_replace($namespace.'_', '', strtolower(str_replace('\\', '_', $this->namespace).'_'.$this->name)); } @@ -862,11 +891,11 @@ public function getSCName($namespace) * * @return string */ - public function getExternalHeader() + public function getExternalHeader(): string { $parts = explode('\\', $this->namespace); - return 'ext/'.strtolower($parts[0].\DIRECTORY_SEPARATOR.str_replace('\\', \DIRECTORY_SEPARATOR, $this->namespace).\DIRECTORY_SEPARATOR.$this->name).'.zep'; + return 'ext/'.strtolower($parts[0]. DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $this->namespace). DIRECTORY_SEPARATOR.$this->name).'.zep'; } /** @@ -874,7 +903,6 @@ public function getExternalHeader() * * @param ClassDefinition $classDefinition * @param ClassDefinition $interfaceDefinition - * * @throws CompilerException */ public function checkInterfaceImplements(self $classDefinition, self $interfaceDefinition) @@ -915,18 +943,17 @@ public function checkInterfaceImplements(self $classDefinition, self $interfaceD * Pre-compiles a class/interface gathering method information required by other methods. * * @param CompilationContext $compilationContext - * * @throws CompilerException */ public function preCompile(CompilationContext $compilationContext) { $this->compiler = $compilationContext->compiler; - /* + /** * Pre-Compile methods */ foreach ($this->methods as $method) { - if ('class' == $this->getType() && !$method->isAbstract()) { + if (self::TYPE_CLASS === $this->getType() && !$method->isAbstract()) { $method->preCompile($compilationContext); } } @@ -935,9 +962,9 @@ public function preCompile(CompilationContext $compilationContext) /** * Returns the initialization method if any does exist. * - * @return ClassMethod + * @return ClassMethod|null */ - public function getInitMethod() + public function getInitMethod(): ?ClassMethod { $initClassName = $this->getCNamespace().'_'.$this->getName(); @@ -947,9 +974,9 @@ public function getInitMethod() /** * Returns the initialization method if any does exist. * - * @return ClassMethod + * @return ClassMethod|null */ - public function getStaticInitMethod() + public function getStaticInitMethod(): ?ClassMethod { $initClassName = $this->getCNamespace().'_'.$this->getName(); @@ -959,18 +986,20 @@ public function getStaticInitMethod() /** * Returns the initialization method if any does exist. * - * @return ClassMethod + * @return ClassMethod|null */ - public function getLocalOrParentInitMethod() + public function getLocalOrParentInitMethod(): ?ClassMethod { $method = $this->getInitMethod(); - if ($method) { - $parentClassDefinition = $this->getExtendsClassDefinition(); - if ($parentClassDefinition instanceof self) { - $method = $parentClassDefinition->getInitMethod(); - if ($method) { - $this->addInitMethod($method->getStatementsBlock()); - } + if ($method === null) { + return null; + } + + $parentClassDefinition = $this->getExtendsClassDefinition(); + if ($parentClassDefinition instanceof self) { + $method = $parentClassDefinition->getInitMethod(); + if ($method instanceof ClassMethod) { + $this->addInitMethod($method->getStatementsBlock()); } } @@ -982,22 +1011,23 @@ public function getLocalOrParentInitMethod() * * @param StatementsBlock $statementsBlock */ - public function addInitMethod(StatementsBlock $statementsBlock) + public function addInitMethod(StatementsBlock $statementsBlock): void { - if (!$statementsBlock->isEmpty()) { - $initClassName = $this->getCNamespace().'_'.$this->getName(); + if ($statementsBlock->isEmpty()) { + return; + } - $classMethod = new ClassMethod( - $this, - ['internal'], - 'zephir_init_properties_'.$initClassName, - null, - $statementsBlock - ); + $initClassName = $this->getCNamespace().'_'.$this->getName(); + $classMethod = new ClassMethod( + $this, + ['internal'], + 'zephir_init_properties_'.$initClassName, + null, + $statementsBlock + ); - $classMethod->setIsInitializer(true); - $this->addMethod($classMethod); - } + $classMethod->setIsInitializer(true); + $this->addMethod($classMethod); } /** @@ -1005,7 +1035,7 @@ public function addInitMethod(StatementsBlock $statementsBlock) * * @param StatementsBlock $statementsBlock */ - public function addStaticInitMethod(StatementsBlock $statementsBlock) + public function addStaticInitMethod(StatementsBlock $statementsBlock): void { $initClassName = $this->getCNamespace().'_'.$this->getName(); @@ -1026,40 +1056,38 @@ public function addStaticInitMethod(StatementsBlock $statementsBlock) * Compiles a class/interface. * * @param CompilationContext $compilationContext - * - * @throws CompilerException * @throws Exception + * @throws ReflectionException */ - public function compile(CompilationContext $compilationContext) + public function compile(CompilationContext $compilationContext): void { $this->compiler = $compilationContext->compiler; - /* + /** * Sets the current object as global class definition */ $compilationContext->classDefinition = $this; - /* + /** * Get the global codePrinter. */ $codePrinter = $compilationContext->codePrinter; - /* + /** * The ZEPHIR_INIT_CLASS defines properties and constants exported by the class. */ $initClassName = $this->getCNamespace().'_'.$this->getName(); $codePrinter->output('ZEPHIR_INIT_CLASS('.$initClassName.') {'); $codePrinter->outputBlankLine(); - $codePrinter->increaseLevel(); - /* + /** * Method entry. */ $methods = &$this->methods; $initMethod = $this->getLocalOrParentInitMethod(); - if (\count($methods) || $initMethod) { + if (count($methods) > 0 || $initMethod) { $methodEntry = strtolower($this->getCNamespace()).'_'.strtolower($this->getName()).'_method_entry'; } else { $methodEntry = 'NULL'; @@ -1075,15 +1103,16 @@ public function compile(CompilationContext $compilationContext) if ($this->isAbstract()) { $flags = 'ZEND_ACC_EXPLICIT_ABSTRACT_CLASS'; } + if ($this->isFinal()) { - if ('0' == $flags) { + if ('0' === $flags) { $flags = 'ZEND_ACC_FINAL_CLASS'; } else { $flags .= '|ZEND_ACC_FINAL_CLASS'; } } - /* + /** * Register the class with extends + interfaces. */ $classExtendsDefinition = null; @@ -1095,7 +1124,7 @@ public function compile(CompilationContext $compilationContext) $classEntry = $this->getClassEntryByClassName($classExtendsDefinition->getName(), $compilationContext); } - if ('class' == $this->getType()) { + if (self::TYPE_CLASS === $this->getType()) { $codePrinter->output('ZEPHIR_REGISTER_CLASS_EX('.$this->getNCNamespace().', '.$this->getName().', '.$namespace.', '.strtolower($this->getSCName($namespace)).', '.$classEntry.', '.$methodEntry.', '.$flags.');'); $codePrinter->outputBlankLine(); } else { @@ -1103,7 +1132,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->outputBlankLine(); } } else { - if ('class' == $this->getType()) { + if (self::TYPE_CLASS === $this->getType()) { $codePrinter->output('ZEPHIR_REGISTER_CLASS('.$this->getNCNamespace().', '.$this->getName().', '.$namespace.', '.strtolower($this->getSCName($namespace)).', '.$methodEntry.', '.$flags.');'); } else { $codePrinter->output('ZEPHIR_REGISTER_INTERFACE('.$this->getNCNamespace().', '.$this->getName().', '.$namespace.', '.strtolower($this->getSCName($namespace)).', '.$methodEntry.');'); @@ -1111,7 +1140,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->outputBlankLine(); } - /* + /** * Compile properties. */ foreach ($this->getProperties() as $property) { @@ -1129,7 +1158,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->output($namespace.'_'.strtolower($this->getSCName($namespace)).'_ce->create_object = '.$initMethod->getName().';'); } - /* + /** * Compile constants. */ foreach ($this->getConstants() as $constant) { @@ -1148,7 +1177,7 @@ public function compile(CompilationContext $compilationContext) $interfaces = $this->interfaces; $compiler = $compilationContext->compiler; - if (\is_array($interfaces)) { + if (is_array($interfaces)) { $codePrinter->outputBlankLine(true); foreach ($interfaces as $interface) { @@ -1191,7 +1220,7 @@ public function compile(CompilationContext $compilationContext) } } - /* + /** * We don't check if abstract classes implement the methods in their interfaces */ if (!$this->isAbstract() && !$this->isInterface()) { @@ -1207,27 +1236,21 @@ public function compile(CompilationContext $compilationContext) } if (!$this->isAbstract() && !$this->isInterface()) { - /* + /** * Interfaces in extended classes may have */ - if ($classExtendsDefinition) { - if ($classExtendsDefinition instanceof self && !$classExtendsDefinition->isBundled()) { - $interfaces = $classExtendsDefinition->getImplementedInterfaces(); - if (\is_array($interfaces)) { - foreach ($interfaces as $interface) { - $classInterfaceDefinition = null; - if ($compiler->isInterface($interface)) { - $classInterfaceDefinition = $compiler->getClassDefinition($interface); - } else { - if ($compiler->isBundledInterface($interface)) { - $classInterfaceDefinition = $compiler->getInternalClassDefinition($interface); - } - } - - if ($classInterfaceDefinition) { - $this->checkInterfaceImplements($this, $classInterfaceDefinition); - } - } + if ($classExtendsDefinition instanceof self && !$classExtendsDefinition->isBundled()) { + $interfaces = $classExtendsDefinition->getImplementedInterfaces(); + foreach ($interfaces as $interface) { + $classInterfaceDefinition = null; + if ($compiler->isInterface($interface)) { + $classInterfaceDefinition = $compiler->getClassDefinition($interface); + } elseif ($compiler->isBundledInterface($interface)) { + $classInterfaceDefinition = $compiler->getInternalClassDefinition($interface); + } + + if ($classInterfaceDefinition !== null) { + $this->checkInterfaceImplements($this, $classInterfaceDefinition); } } } @@ -1241,7 +1264,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->output('}'); $codePrinter->outputBlankLine(); - /* + /** * Compile methods */ foreach ($methods as $method) { @@ -1250,12 +1273,13 @@ public function compile(CompilationContext $compilationContext) $codePrinter->outputDocBlock($docBlock); } - if ('class' == $this->getType()) { + if (self::TYPE_CLASS === $this->getType()) { if (!$method->isInternal()) { $codePrinter->output('PHP_METHOD('.$this->getCNamespace().'_'.$this->getName().', '.$method->getName().') {'); } else { $codePrinter->output($compilationContext->backend->getInternalSignature($method, $compilationContext).' {'); } + $codePrinter->outputBlankLine(); if (!$method->isAbstract()) { @@ -1266,7 +1290,6 @@ public function compile(CompilationContext $compilationContext) $codePrinter->outputBlankLine(); } else { $codePrinter->output('ZEPHIR_DOC_METHOD('.$this->getCNamespace().'_'.$this->getName().', '.$method->getName().');'); - $codePrinter->outputBlankLine(); } } @@ -1292,21 +1315,19 @@ public function compile(CompilationContext $compilationContext) $codePrinter->output('ZEPHIR_INIT_CLASS('.$this->getCNamespace().'_'.$this->getName().');'); $codePrinter->outputBlankLine(); - if ('class' == $this->getType()) { - if (\count($methods)) { - foreach ($methods as $method) { - if (!$method->isInternal()) { - $codePrinter->output('PHP_METHOD('.$this->getCNamespace().'_'.$this->getName().', '.$method->getName().');'); - } else { - $internalSignature = $compilationContext->backend->getInternalSignature($method, $compilationContext); - $codePrinter->output($internalSignature.';'); - } + if (self::TYPE_CLASS === $this->getType() && count($methods) > 0) { + foreach ($methods as $method) { + if (!$method->isInternal()) { + $codePrinter->output('PHP_METHOD('.$this->getCNamespace().'_'.$this->getName().', '.$method->getName().');'); + } else { + $internalSignature = $compilationContext->backend->getInternalSignature($method, $compilationContext); + $codePrinter->output($internalSignature.';'); } - $codePrinter->outputBlankLine(); } + $codePrinter->outputBlankLine(); } - /* + /** * Specifying Argument Information */ foreach ($methods as $method) { @@ -1323,7 +1344,7 @@ public function compile(CompilationContext $compilationContext) $argInfo->render(); } - if (\count($methods)) { + if (count($methods) > 0) { $codePrinter->output( sprintf( 'ZEPHIR_INIT_FUNCS(%s_%s_method_entry) {', @@ -1333,7 +1354,7 @@ public function compile(CompilationContext $compilationContext) ); foreach ($methods as $method) { - if ('class' == $this->getType()) { + if (self::TYPE_CLASS === $this->getType()) { if (!$method->isInternal()) { $richFormat = $this->compiler->backend->isZE3() && $method->isReturnTypesHintDetermined() && @@ -1342,6 +1363,7 @@ public function compile(CompilationContext $compilationContext) if ($richFormat || $method->hasParameters()) { $codePrinter->output( sprintf( + // TODO: Rename to ZEND_ME "\tPHP_ME(%s_%s, %s, %s, %s)", $this->getCNamespace(), $this->getName(), @@ -1351,8 +1373,22 @@ public function compile(CompilationContext $compilationContext) ) ); } else { + $codePrinter->output('#if PHP_VERSION_ID >= 80000'); + $codePrinter->output( + sprintf( + // TODO: Rename to ZEND_ME + "\tPHP_ME(%s_%s, %s, %s, %s)", + $this->getCNamespace(), + $this->getName(), + $method->getName(), + $method->getArgInfoName($this), + $method->getModifiers() + ) + ); + $codePrinter->output('#else'); $codePrinter->output( sprintf( + // TODO: Rename to ZEND_ME "\tPHP_ME(%s_%s, %s, NULL, %s)", $this->getCNamespace(), $this->getName(), @@ -1360,6 +1396,7 @@ public function compile(CompilationContext $compilationContext) $method->getModifiers() ) ); + $codePrinter->output('#endif'); } } } else { @@ -1385,29 +1422,20 @@ public function compile(CompilationContext $compilationContext) ); } } else { - if ($richFormat || $method->hasParameters()) { - $codePrinter->output( - sprintf( - "\tPHP_ABSTRACT_ME(%s_%s, %s, %s)", - $this->getCNamespace(), - $this->getName(), - $method->getName(), - $method->getArgInfoName($this) - ) - ); - } else { - $codePrinter->output( - sprintf( - "\tPHP_ABSTRACT_ME(%s_%s, %s, NULL)", - $this->getCNamespace(), - $this->getName(), - $method->getName() - ) - ); - } + $isInterface = $method->getClassDefinition()->isInterface(); + $codePrinter->output( + sprintf( + "\tPHP_ABSTRACT_ME(%s_%s, %s, %s)", + $this->getCNamespace(), + $this->getName(), + $method->getName(), + $isInterface ? $method->getArgInfoName($this) : 'NULL' + ) + ); } } } + $codePrinter->output("\t".'PHP_FE_END'); $codePrinter->output('};'); // ZEPHIR_INIT_FUNCS } @@ -1416,9 +1444,9 @@ public function compile(CompilationContext $compilationContext) } /** - * @return AliasManager + * @return AliasManager|null */ - public function getAliasManager() + public function getAliasManager(): ?AliasManager { return $this->aliasManager; } @@ -1426,7 +1454,7 @@ public function getAliasManager() /** * @param AliasManager $aliasManager */ - public function setAliasManager(AliasManager $aliasManager) + public function setAliasManager(AliasManager $aliasManager): void { $this->aliasManager = $aliasManager; } @@ -1437,26 +1465,146 @@ public function setAliasManager(AliasManager $aliasManager) * @param string $className * @param CompilationContext $compilationContext * @param bool $check - * - * @throws CompilerException - * * @return string + * @throws CompilerException */ - public function getClassEntryByClassName($className, CompilationContext $compilationContext, $check = true) - { + public function getClassEntryByClassName( + string $className, + CompilationContext $compilationContext, + bool $check = true + ): string { $this->compiler = $compilationContext->compiler; + /** + * Special treatment for Reflection in 8.0. + * Because in PHP 7.4 param arg info is lighter, + * but also incomplete. + * + * TODO: Leave for future, maybe PHP code devs will make "reflection" ext public... + */ + /*if (version_compare(PHP_VERSION, '8.0.0', '>=')) { + switch (strtolower($className)) { + case 'reflector': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflector_ptr'; + break; + case 'reflectionexception': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_exception_ptr'; + break; + case 'reflection': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_ptr'; + break; + case 'reflectionfunctionabstract': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_function_abstract_ptr'; + break; + case 'reflectionfunction': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_function_ptr'; + break; + case 'reflectionparameter': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_parameter_ptr'; + break; + case 'reflectionclass': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_class_ptr'; + break; + case 'reflectionobject': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_object_ptr'; + break; + case 'reflectionmethod': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_method_ptr'; + break; + case 'reflectionproperty': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_property_ptr'; + break; + case 'reflectionextension': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_extension_ptr'; + break; + case 'reflectionzendextension': + $compilationContext->headersManager->add('ext/reflection/php_reflection'); + $classEntry = 'reflection_zend_extension_ptr'; + break; + default: + $classEntry = null; + break; + } + + if ($classEntry !== null) { + return $classEntry; + } + }*/ + switch (strtolower($className)) { - /* - * Zend classes + /** + * Zend exceptions */ + case 'throwable': + $classEntry = 'zend_ce_throwable'; + break; + case 'exception': - $classEntry = 'zend_exception_get_default(TSRMLS_C)'; + $classEntry = 'zend_ce_exception'; + break; + + case 'errorexception': + $classEntry = 'zend_ce_error_exception'; + break; + + case 'error': + $classEntry = 'zend_ce_error'; + break; + + case 'compileerror': + $classEntry = 'zend_ce_compile_error'; + break; + + case 'parseerror': + $classEntry = 'zend_ce_parse_error'; + break; + + case 'typeerror': + $classEntry = 'zend_ce_type_error'; + break; + + case 'argumentcounterror': + $classEntry = 'zend_ce_argument_count_error'; + break; + + case 'valueerror': + $classEntry = 'zend_ce_value_error'; break; - /* + case 'arithmeticerror': + $classEntry = 'zend_ce_arithmetic_error'; + break; + + case 'divisionbyzeroerror': + $classEntry = 'zend_ce_division_by_zero_error'; + break; + + case 'unhandledmatcherror': + $classEntry = 'zend_ce_unhandled_match_error'; + break; + + /** * Zend interfaces (Zend/zend_interfaces.h) */ + case 'traversable': + $classEntry = 'zend_ce_traversable'; + break; + + case 'aggregate': + $classEntry = 'zend_ce_aggregate'; + break; + case 'iterator': $classEntry = 'zend_ce_iterator'; break; @@ -1469,11 +1617,15 @@ public function getClassEntryByClassName($className, CompilationContext $compila $classEntry = 'zend_ce_serializable'; break; - case 'iteratoraggregate': - $classEntry = 'zend_ce_aggregate'; + case 'countable': + $classEntry = 'zend_ce_countable'; + break; + + case 'stringable': + $classEntry = 'zend_ce_stringable'; break; - /* + /** * SPL Exceptions */ case 'logicexception': @@ -1541,7 +1693,7 @@ public function getClassEntryByClassName($className, CompilationContext $compila $classEntry = 'spl_ce_UnexpectedValueException'; break; - /* + /** * SPL Iterators Interfaces (spl/spl_iterators.h) */ case 'recursiveiterator': @@ -1763,55 +1915,13 @@ public function getClassEntryByClassName($className, CompilationContext $compila $classEntry = 'php_date_get_timezone_ce()'; break; - // Reflection - /*case 'reflector': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflector_ptr'; - break; - case 'reflectionexception': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_exception_ptr'; - break; - case 'reflection': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_ptr'; - break; - case 'reflectionfunctionabstract': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_function_abstract_ptr'; - break; - case 'reflectionfunction': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_function_ptr'; - break; - case 'reflectionparameter': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_parameter_ptr'; - break; - case 'reflectionclass': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_class_ptr'; - break; - case 'reflectionobject': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_object_ptr'; - break; - case 'reflectionmethod': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_method_ptr'; - break; - case 'reflectionproperty': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_property_ptr'; - break; - case 'reflectionextension': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_extension_ptr'; + /** + * PHP Ext session + */ + case 'sessionhandlerinterface': + $compilationContext->headersManager->add('ext/session/php_session'); + $classEntry = 'php_session_iface_entry'; break; - case 'reflectionzendextension': - $compilationContext->headersManager->add('ext/reflection/php_reflection'); - $classEntry = 'reflection_zend_extension_ptr'; - break;*/ default: if (!$check) { @@ -1827,90 +1937,82 @@ public function getClassEntryByClassName($className, CompilationContext $compila /** * Builds a class definition from reflection. * - * @param \ReflectionClass $class - * + * @param ReflectionClass $class * @return ClassDefinition */ - public static function buildFromReflection(\ReflectionClass $class) + public static function buildFromReflection(ReflectionClass $class): ClassDefinition { $classDefinition = new self($class->getNamespaceName(), $class->getName(), $class->getShortName()); - $methods = $class->getMethods(); - if (\count($methods) > 0) { - foreach ($methods as $method) { - $parameters = []; - - foreach ($method->getParameters() as $row) { - $params = [ - 'type' => 'parameter', - 'name' => $row->getName(), - 'const' => 0, - 'data-type' => 'variable', - 'mandatory' => !$row->isOptional(), - ]; - if (!$params['mandatory']) { - try { - $params['default'] = $row->getDefaultValue(); - } catch (\ReflectionException $e) { - // TODO: dummy default value - $params['default'] = true; - } + foreach ($class->getMethods() as $method) { + $parameters = []; + + foreach ($method->getParameters() as $row) { + $params = [ + 'type' => 'parameter', + 'name' => $row->getName(), + 'const' => 0, + 'data-type' => 'variable', + 'mandatory' => !$row->isOptional(), + ]; + + if (!$params['mandatory']) { + try { + $params['default'] = $row->getDefaultValue(); + } catch (ReflectionException $e) { + // TODO: dummy default value + $params['default'] = true; } - $parameters[] = $params; } - $classMethod = new ClassMethod( - $classDefinition, - [], - $method->getName(), - new ClassMethodParameters($parameters) - ); - $classMethod->setIsStatic($method->isStatic()); - $classMethod->setIsBundled(true); - $classDefinition->addMethod($classMethod); + $parameters[] = $params; } - } - $constants = $class->getConstants(); - if (\count($constants) > 0) { - foreach ($constants as $constantName => $constantValue) { - $type = self::_convertPhpConstantType(\gettype($constantValue)); - $classConstant = new ClassConstant($constantName, ['value' => $constantValue, 'type' => $type], null); - $classDefinition->addConstant($classConstant); - } + $classMethod = new ClassMethod( + $classDefinition, + [], + $method->getName(), + new ClassMethodParameters($parameters) + ); + $classMethod->setIsStatic($method->isStatic()); + $classMethod->setIsBundled(true); + $classDefinition->addMethod($classMethod); } - $properties = $class->getProperties(); - if (\count($properties) > 0) { - foreach ($properties as $property) { - $visibility = []; + foreach ($class->getConstants() as $constantName => $constantValue) { + $type = self::convertPhpConstantType(gettype($constantValue)); + $classConstant = new ClassConstant($constantName, ['value' => $constantValue, 'type' => $type], null); + $classDefinition->addConstant($classConstant); + } - if ($property->isPublic()) { - $visibility[] = 'public'; - } + foreach ($class->getProperties() as $property) { + $visibility = []; - if ($property->isPrivate()) { - $visibility[] = 'private'; - } + if ($property->isPublic()) { + $visibility[] = 'public'; + } - if ($property->isProtected()) { - $visibility[] = 'protected'; - } + if ($property->isPrivate()) { + $visibility[] = 'private'; + } - if ($property->isStatic()) { - $visibility[] = 'static'; - } + if ($property->isProtected()) { + $visibility[] = 'protected'; + } - $classProperty = new ClassProperty( - $classDefinition, - $visibility, - $property->getName(), - null, - null, - null - ); - $classDefinition->addProperty($classProperty); + if ($property->isStatic()) { + $visibility[] = 'static'; } + + $classProperty = new ClassProperty( + $classDefinition, + $visibility, + $property->getName(), + null, + null, + null + ); + $classDefinition->addProperty($classProperty); } $classDefinition->setIsBundled(true); @@ -1920,14 +2022,13 @@ public static function buildFromReflection(\ReflectionClass $class) /** * @param string $name - * * @return bool */ - protected function hasConstantFromInterfaces($name) + protected function hasConstantFromInterfaces(string $name): bool { if ($interfaces = $this->getImplementedInterfaceDefinitions()) { foreach ($interfaces as $interface) { - if ($interface->hasConstant($name)) { + if ($interface instanceof ClassDefinition && $interface->hasConstant($name)) { return true; } } @@ -1939,22 +2040,22 @@ protected function hasConstantFromInterfaces($name) /** * @param string $name * - * @return bool|ClassConstant + * @return null|ClassConstant */ - protected function getConstantFromInterfaces($name) + protected function getConstantFromInterfaces(string $name) : ?ClassConstant { if ($interfaces = $this->getImplementedInterfaceDefinitions()) { foreach ($interfaces as $interface) { - if ($interface->hasConstant($name)) { + if ($interface instanceof ClassDefinition && $interface->hasConstant($name)) { return $interface->getConstant($name); } } } - return false; + return null; } - private static function _convertPhpConstantType($phpType) + private static function convertPhpConstantType(string $phpType): string { $map = [ 'boolean' => 'bool', diff --git a/Library/ClassDefinitionRuntime.php b/Library/ClassDefinitionRuntime.php index 0480990b70..179f572bbc 100644 --- a/Library/ClassDefinitionRuntime.php +++ b/Library/ClassDefinitionRuntime.php @@ -1,6 +1,6 @@ @@ -9,24 +9,19 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir; /** - * ClassDefinitionRuntime. + * Class Definition in Runtime * - * Represents a class/interface that only exists in runtime + * Represents a class/interface that only exists in runtime. */ -class ClassDefinitionRuntime +final class ClassDefinitionRuntime extends AbstractClassDefinition { - private $className; - - public function __construct($className) - { - $this->className = $className; - } - - public function getName() + public function __construct(string $name) { - return $this->className; + $this->name = $name; } } diff --git a/Library/ClassMethod.php b/Library/ClassMethod.php index 3b71782ad2..e32e73538d 100644 --- a/Library/ClassMethod.php +++ b/Library/ClassMethod.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir; use Zephir\Detectors\WriteDetector; @@ -19,6 +21,10 @@ use Zephir\Passes\LocalContextPass; use Zephir\Passes\StaticTypeInference; +use function count; +use function in_array; +use function is_array; + /** * ClassMethod. * @@ -26,171 +32,192 @@ */ class ClassMethod { - public $optimizable = true; + public bool $optimizable = true; /** - * @var ClassDefinition + * @var ClassDefinition|null */ - protected $classDefinition; + protected ?ClassDefinition $classDefinition = null; /** * @var array */ - protected $visibility; + protected array $visibility = []; /** * @var string */ - protected $name; + protected string $name; /** * @var ClassMethodParameters|null */ - protected $parameters; + protected ?ClassMethodParameters $parameters = null; /** * @var StatementsBlock|null */ - protected $statements; + protected ?StatementsBlock $statements = null; /** * @var string|null */ - protected $docblock; + protected ?string $docblock = null; /** - * @var Documentation\Docblock + * @var Docblock|null */ - protected $parsedDocblock; + protected ?Docblock $parsedDocblock = null; /** * Types returned by the method. * * @var array */ - protected $returnTypes = []; + protected array $returnTypes = []; /** * Raw-types returned by the method. * - * @var array + * @var array|null */ - protected $returnTypesRaw = []; + protected ?array $returnTypesRaw = null; /** * Class type hints returned by the method. */ - protected $returnClassTypes = []; + protected array $returnClassTypes = []; /** * Whether the variable is void. * * @var bool */ - protected $void = false; + protected bool $void = false; /** * Whether the method is public or not. * * @var bool */ - protected $isPublic = true; + protected bool $isPublic = true; /** * Whether the method is static or not. * * @var bool */ - protected $isStatic = false; + protected bool $isStatic = false; /** * Whether the method is final or not. * * @var bool */ - protected $isFinal = false; + protected bool $isFinal = false; /** * Whether the method is abstract or not. * * @var bool */ - protected $isAbstract = false; + protected bool $isAbstract = false; /** * Whether the method is internal or not. * * @var bool */ - protected $isInternal = false; + protected bool $isInternal = false; /** * Whether the method is bundled with PHP or not. * * @var bool */ - protected $isBundled = false; + protected bool $isBundled = false; /** * Whether the method is an initializer or not. * * @var bool */ - protected $isInitializer = false; + protected bool $isInitializer = false; /** * @var array|null */ - protected $expression; + protected ?array $expression = null; /** * @var array|null */ - protected $staticVariables; + protected ?array $staticVariables = null; /** * LocalContextPass. * - * @var LocalContextPass + * @var LocalContextPass|null */ - protected $localContext; + protected ?LocalContextPass $localContext = null; /** * Static Type Inference Pass. * - * @var StaticTypeInference + * @var StaticTypeInference|null */ - protected $typeInference; + protected ?StaticTypeInference $typeInference = null; /** * Call Gatherer Pass. * - * @var CallGathererPass + * @var CallGathererPass|null */ - protected $callGathererPass; + protected ?CallGathererPass $callGathererPass = null; + + /** + * All classes must be in lower case. + * + * @var string[] + */ + protected array $excludedClassEntries = [ + 'reflector', + 'reflectionexception', + 'reflection', + 'reflectionfunctionabstract', + 'reflectionfunction', + 'reflectionparameter', + 'reflectionclass', + 'reflectionobject', + 'reflectionmethod', + 'reflectionproperty', + 'reflectionextension', + 'reflectionzendextension', + ]; /** * ClassMethod constructor. * - * @param ClassDefinition $classDefinition - * @param array $visibility - * @param string $name + * @param ClassDefinition $classDefinition + * @param array $visibility + * @param string $name * @param ClassMethodParameters|null $parameters - * @param StatementsBlock|null $statements - * @param string|null $docblock - * @param array|null $returnType - * @param array|null $expression + * @param StatementsBlock|null $statements + * @param string|null $docblock + * @param array|null $returnType + * @param array|null $expression + * @param array|null $staticVariables */ public function __construct( ClassDefinition $classDefinition, array $visibility, - $name, - ClassMethodParameters $parameters = null, - StatementsBlock $statements = null, - $docblock = null, - array $returnType = null, - array $expression = null, - array $staticVariables = null + string $name, + ?ClassMethodParameters $parameters = null, + ?StatementsBlock $statements = null, + ?string $docblock = null, + ?array $returnType = null, + ?array $expression = null, + ?array $staticVariables = null ) { $this->checkVisibility($visibility, $name, $expression); @@ -210,6 +237,8 @@ public function __construct( * Process RAW return types structure. * * Example: + * + * ``` * $returnType = [ * 'type' => 'return-type', * 'list' => [ @@ -241,8 +270,11 @@ public function __construct( * 'line' => 22, * 'char' => 5 * ]; + * ``` + * + * @param array|null $returnType */ - public function setReturnTypes(array $returnType = null) + public function setReturnTypes(?array $returnType = null): void { $this->returnTypesRaw = $returnType; if (null === $returnType) { @@ -285,12 +317,12 @@ public function setReturnTypes(array $returnType = null) } } - if (\count($castTypes)) { + if (count($castTypes)) { $types['object'] = []; $this->returnClassTypes = $castTypes; } - if (\count($types)) { + if (count($types)) { $this->returnTypes = $types; } } @@ -298,12 +330,12 @@ public function setReturnTypes(array $returnType = null) /** * @return array */ - public function getReturnTypesRaw() + public function getReturnTypesRaw(): array { return $this->returnTypesRaw; } - public function hasReturnTypesRaw() + public function hasReturnTypesRaw(): bool { return !empty($this->returnTypesRaw); } @@ -313,7 +345,7 @@ public function hasReturnTypesRaw() * * @return StatementsBlock $statements Statements block */ - public function getStatementsBlock() + public function getStatementsBlock(): StatementsBlock { return $this->statements; } @@ -323,7 +355,7 @@ public function getStatementsBlock() * * @param StatementsBlock $statementsBlock */ - public function setStatementsBlock(StatementsBlock $statementsBlock) + public function setStatementsBlock(StatementsBlock $statementsBlock): void { $this->statements = $statementsBlock; } @@ -333,7 +365,7 @@ public function setStatementsBlock(StatementsBlock $statementsBlock) * * @return bool */ - public function isEmpty() + public function isEmpty(): bool { return $this->statements->isEmpty(); } @@ -347,53 +379,49 @@ public function isEmpty() * * @throws CompilerException */ - public function checkVisibility(array $visibility, $name, array $original = null) + public function checkVisibility(array $visibility, string $name, array $original = null): void { - if (\count($visibility) > 1) { - if (\in_array('public', $visibility) && \in_array('protected', $visibility)) { + if (count($visibility) > 1) { + if (in_array('public', $visibility) && in_array('protected', $visibility)) { throw new CompilerException("Method '$name' cannot be 'public' and 'protected' at the same time", $original); } - if (\in_array('public', $visibility) && \in_array('private', $visibility)) { + if (in_array('public', $visibility) && in_array('private', $visibility)) { throw new CompilerException("Method '$name' cannot be 'public' and 'private' at the same time", $original); } - if (\in_array('private', $visibility) && \in_array('protected', $visibility)) { + if (in_array('private', $visibility) && in_array('protected', $visibility)) { throw new CompilerException("Method '$name' cannot be 'protected' and 'private' at the same time", $original); } - if (\in_array('private', $visibility) && \in_array('internal', $visibility)) { + if (in_array('private', $visibility) && in_array('internal', $visibility)) { throw new CompilerException("Method '$name' cannot be 'internal' and 'private' at the same time", $original); } - if (\in_array('protected', $visibility) && \in_array('internal', $visibility)) { + if (in_array('protected', $visibility) && in_array('internal', $visibility)) { throw new CompilerException("Method '$name' cannot be 'internal' and 'protected' at the same time", $original); } - if (\in_array('public', $visibility) && \in_array('internal', $visibility)) { + if (in_array('public', $visibility) && in_array('internal', $visibility)) { throw new CompilerException("Method '$name' cannot be 'internal' and 'public' at the same time", $original); } } - if ('__construct' == $name) { - if (\in_array('static', $visibility)) { + if ('__construct' === $name) { + if (in_array('static', $visibility)) { throw new CompilerException("Constructors cannot be 'static'", $original); } - } else { - if ('__destruct' == $name) { - if (\in_array('static', $visibility)) { - throw new CompilerException("Destructors cannot be 'static'", $original); - } + } elseif ('__destruct' === $name) { + if (in_array('static', $visibility)) { + throw new CompilerException("Destructors cannot be 'static'", $original); } } - if (\is_array($visibility)) { - $this->isAbstract = \in_array('abstract', $visibility); - $this->isStatic = \in_array('static', $visibility); - $this->isFinal = \in_array('final', $visibility); - $this->isPublic = \in_array('public', $visibility); - $this->isInternal = \in_array('internal', $visibility); - } + $this->isAbstract = in_array('abstract', $visibility); + $this->isStatic = in_array('static', $visibility); + $this->isFinal = in_array('final', $visibility); + $this->isPublic = in_array('public', $visibility); + $this->isInternal = in_array('internal', $visibility); } /** @@ -401,7 +429,7 @@ public function checkVisibility(array $visibility, $name, array $original = null * * @param bool $static */ - public function setIsStatic($static) + public function setIsStatic(bool $static): void { $this->isStatic = $static; } @@ -411,7 +439,7 @@ public function setIsStatic($static) * * @param bool $internal */ - public function setIsInternal($internal) + public function setIsInternal(bool $internal): void { $this->isInternal = $internal; } @@ -421,7 +449,7 @@ public function setIsInternal($internal) * * @param bool $bundled */ - public function setIsBundled($bundled) + public function setIsBundled(bool $bundled): void { $this->isBundled = $bundled; } @@ -431,7 +459,7 @@ public function setIsBundled($bundled) * * @param bool $initializer */ - public function setIsInitializer($initializer) + public function setIsInitializer(bool $initializer): void { $this->isInitializer = $initializer; } @@ -441,7 +469,7 @@ public function setIsInitializer($initializer) * * @return ClassDefinition|null */ - public function getClassDefinition() + public function getClassDefinition(): ?ClassDefinition { return $this->classDefinition; } @@ -451,27 +479,33 @@ public function getClassDefinition() * allowing bypassing php userspace for internal method calls. * * @param CompilationContext $compilationContext - * * @return $this */ - public function setupOptimized(CompilationContext $compilationContext) + public function setupOptimized(CompilationContext $compilationContext): self { if (!$compilationContext->config->get('internal-call-transformation', 'optimizations')) { return $this; } + $classDefinition = $this->getClassDefinition(); - /* Skip for closures */ - if ('__invoke' == $this->getName() || $classDefinition->isInterface()) { + + /** + * Skip for closures + */ + if ('__invoke' === $this->getName() || $classDefinition->isInterface()) { return $this; } + if (!$this->isInternal() && !$classDefinition->isBundled()) { /* Not supported for now */ if ($this->getNumberOfRequiredParameters() != $this->getNumberOfParameters()) { return $this; } + if ($this->isConstructor()) { return $this; } + $optimizedName = $this->getName().'_zephir_internal_call'; $visibility = ['internal']; @@ -515,7 +549,7 @@ public function getOptimizedMethod() * * @param string $name */ - public function setName($name) + public function setName(string $name) { $this->name = $name; } @@ -525,7 +559,7 @@ public function setName($name) * * @return string */ - public function getName() + public function getName(): string { return $this->name; } @@ -535,7 +569,7 @@ public function getName() * * @return string */ - public function getDocBlock() + public function getDocBlock(): ?string { return $this->docblock; } @@ -543,19 +577,21 @@ public function getDocBlock() /** * Returns the parsed docblock. * - * @return Docblock + * @return Docblock|null */ - public function getParsedDocBlock() + public function getParsedDocBlock(): ?Docblock { - if (!$this->parsedDocblock) { - if (\strlen($this->docblock) > 0) { - $parser = new DocblockParser('/'.$this->docblock.'/'); - $this->parsedDocblock = $parser->parse(); - } else { - return null; - } + if ($this->parsedDocblock) { + return $this->parsedDocblock; + } + + if ($this->docblock === null) { + return null; } + $parser = new DocblockParser('/'.$this->docblock.'/'); + $this->parsedDocblock = $parser->parse(); + return $this->parsedDocblock; } @@ -582,9 +618,9 @@ public function getLastLine() /** * Returns the parameters. * - * @return ClassMethodParameters + * @return ClassMethodParameters|null */ - public function getParameters() + public function getParameters(): ?ClassMethodParameters { return $this->parameters; } @@ -594,60 +630,33 @@ public function getParameters() * * @return bool */ - public function hasReturnTypes() + public function hasReturnTypes(): bool { - if (\count($this->returnTypes)) { - return true; - } - - if (\count($this->returnClassTypes)) { - return true; - } - - return false; + return count($this->returnTypes) || count($this->returnClassTypes); } /** * Checks whether at least one return type hint is null compatible. * - * @param string $type - * * @return bool */ - public function areReturnTypesNullCompatible($type = null) + public function areReturnTypesNullCompatible(): bool { - if (\count($this->returnTypes)) { - foreach ($this->returnTypes as $returnType => $definition) { - switch ($returnType) { - case 'null': - return true; - } - } - } - - return false; + return isset($this->returnTypes['null']); } /** * Checks whether at least one return type hint is integer compatible. * - * @param string $type - * * @return bool */ - public function areReturnTypesIntCompatible($type = null) + public function areReturnTypesIntCompatible(): bool { - if (\count($this->returnTypes)) { - foreach ($this->returnTypes as $returnType => $definition) { - switch ($returnType) { - case 'int': - case 'uint': - case 'char': - case 'uchar': - case 'long': - case 'ulong': - return true; - } + $types = ['int', 'uint', 'char', 'uchar', 'long', 'ulong']; + + foreach ($this->returnTypes as $returnType => $definition) { + if (in_array($returnType, $types)) { + return true; } } @@ -657,64 +666,31 @@ public function areReturnTypesIntCompatible($type = null) /** * Checks whether at least one return type hint is double compatible. * - * @param string $type - * * @return bool */ - public function areReturnTypesDoubleCompatible($type = null) + public function areReturnTypesDoubleCompatible(): bool { - if (\count($this->returnTypes)) { - foreach ($this->returnTypes as $returnType => $definition) { - switch ($returnType) { - case 'double': - return true; - } - } - } - - return false; + return isset($this->returnTypes['double']); } /** * Checks whether at least one return type hint is integer compatible. * - * @param string $type - * * @return bool */ - public function areReturnTypesBoolCompatible($type = null) + public function areReturnTypesBoolCompatible(): bool { - if (\count($this->returnTypes)) { - foreach ($this->returnTypes as $returnType => $definition) { - switch ($returnType) { - case 'bool': - return true; - } - } - } - - return false; + return isset($this->returnTypes['bool']); } /** * Checks whether at least one return type hint is integer compatible. * - * @param string $type - * * @return bool */ - public function areReturnTypesStringCompatible($type = null) + public function areReturnTypesStringCompatible(): bool { - if (\count($this->returnTypes)) { - foreach ($this->returnTypes as $returnType => $definition) { - switch ($returnType) { - case 'string': - return true; - } - } - } - - return false; + return isset($this->returnTypes['string']); } /** @@ -722,7 +698,7 @@ public function areReturnTypesStringCompatible($type = null) * * @return array */ - public function getReturnTypes() + public function getReturnTypes(): array { return $this->returnTypes; } @@ -732,7 +708,7 @@ public function getReturnTypes() * * @return array */ - public function getReturnClassTypes() + public function getReturnClassTypes(): array { return $this->returnClassTypes; } @@ -742,13 +718,9 @@ public function getReturnClassTypes() * * @return bool */ - public function hasParameters() + public function hasParameters(): bool { - if (\is_object($this->parameters)) { - return \count($this->parameters->getParameters()) > 0; - } - - return false; + return $this->parameters instanceof ClassMethodParameters && $this->parameters->count() > 0; } /** @@ -756,10 +728,10 @@ public function hasParameters() * * @return int */ - public function getNumberOfParameters() + public function getNumberOfParameters(): int { - if (\is_object($this->parameters)) { - return \count($this->parameters->getParameters()); + if ($this->parameters instanceof ClassMethodParameters) { + return $this->parameters->count(); } return 0; @@ -770,23 +742,20 @@ public function getNumberOfParameters() * * @return int */ - public function getNumberOfRequiredParameters() + public function getNumberOfRequiredParameters(): int { - if (\is_object($this->parameters)) { - $parameters = $this->parameters->getParameters(); - if (\count($parameters)) { - $required = 0; - foreach ($parameters as $parameter) { - if (!isset($parameter['default'])) { - ++$required; - } - } + if ($this->parameters === null) { + return 0; + } - return $required; + $required = 0; + foreach ($this->parameters->getParameters() as $parameter) { + if (!isset($parameter['default'])) { + ++$required; } } - return 0; + return $required; } /** @@ -794,34 +763,24 @@ public function getNumberOfRequiredParameters() * * @return string */ - public function getInternalParameters() + public function getInternalParameters(): string { - if (\is_object($this->parameters)) { - $parameters = $this->parameters->getParameters(); - if (\count($parameters)) { - return \count($parameters).', ...'; - } + if ($this->parameters === null) { + return ''; } - return ''; + return (string)$this->parameters->count().', ...'; } /** * Checks whether the method has a specific modifier. * * @param string $modifier - * * @return bool */ - public function hasModifier($modifier) + public function hasModifier(string $modifier): bool { - foreach ($this->visibility as $visibility) { - if ($visibility == $modifier) { - return true; - } - } - - return false; + return in_array($modifier, $this->visibility); } /** @@ -829,24 +788,23 @@ public function hasModifier($modifier) * * @return array */ - public function getVisibility() + public function getVisibility(): array { return $this->visibility; } - public function isDeprecated() + public function isDeprecated(): bool { - return !empty($this->visibility) && \in_array('deprecated', $this->visibility, true); + return !empty($this->visibility) && in_array('deprecated', $this->visibility, true); } /** * Returns the C-modifier flags. * * @throws Exception - * * @return string */ - public function getModifiers() + public function getModifiers(): string { $modifiers = []; foreach ($this->visibility as $visibility) { @@ -880,11 +838,7 @@ public function getModifiers() break; case 'inline': - break; - case 'scoped': - break; - case 'internal': break; @@ -893,12 +847,10 @@ public function getModifiers() } } - if ('__construct' == $this->name) { + if ('__construct' === $this->name) { $modifiers['ZEND_ACC_CTOR'] = true; - } else { - if ('__destruct' == $this->name) { - $modifiers['ZEND_ACC_DTOR'] = true; - } + } elseif ('__destruct' === $this->name) { + $modifiers['ZEND_ACC_DTOR'] = true; } return implode('|', array_keys($modifiers)); @@ -909,7 +861,7 @@ public function getModifiers() * * @return bool */ - public function isVoid() + public function isVoid(): bool { return $this->void; } @@ -919,13 +871,9 @@ public function isVoid() * * @return bool */ - public function isInline() + public function isInline(): bool { - if (\is_array($this->visibility)) { - return \in_array('inline', $this->visibility); - } - - return false; + return in_array('inline', $this->visibility); } /** @@ -933,13 +881,9 @@ public function isInline() * * @return bool */ - public function isPrivate() + public function isPrivate(): bool { - if (\is_array($this->visibility)) { - return \in_array('private', $this->visibility); - } - - return false; + return in_array('private', $this->visibility); } /** @@ -947,13 +891,9 @@ public function isPrivate() * * @return bool */ - public function isProtected() + public function isProtected(): bool { - if (\is_array($this->visibility)) { - return \in_array('protected', $this->visibility); - } - - return false; + return in_array('protected', $this->visibility); } /** @@ -961,7 +901,7 @@ public function isProtected() * * @return bool */ - public function isPublic() + public function isPublic(): bool { return $this->isPublic; } @@ -971,7 +911,7 @@ public function isPublic() * * @return bool */ - public function isAbstract() + public function isAbstract(): bool { return $this->isAbstract; } @@ -981,7 +921,7 @@ public function isAbstract() * * @return bool */ - public function isStatic() + public function isStatic(): bool { return $this->isStatic; } @@ -991,7 +931,7 @@ public function isStatic() * * @return bool */ - public function isFinal() + public function isFinal(): bool { return $this->isFinal; } @@ -1001,7 +941,7 @@ public function isFinal() * * @return bool */ - public function isInternal() + public function isInternal(): bool { return $this->isInternal; } @@ -1011,7 +951,7 @@ public function isInternal() * * @return bool */ - public function isBundled() + public function isBundled(): bool { return $this->isBundled; } @@ -1021,7 +961,7 @@ public function isBundled() * * @return bool */ - public function isInitializer() + public function isInitializer(): bool { return $this->isInitializer; } @@ -1031,9 +971,9 @@ public function isInitializer() * * @return bool */ - public function isConstructor() + public function isConstructor(): bool { - return '__construct' == $this->name; + return '__construct' === $this->name; } /** @@ -1041,9 +981,9 @@ public function isConstructor() * * @return bool */ - public function isShortcut() + public function isShortcut(): bool { - return $this->expression && 'shortcut' == $this->expression['type']; + return $this->expression && 'shortcut' === $this->expression['type']; } /** @@ -1061,7 +1001,7 @@ public function getShortcutName() * * @return LocalContextPass */ - public function getLocalContextPass() + public function getLocalContextPass(): LocalContextPass { return $this->localContext; } @@ -1071,7 +1011,7 @@ public function getLocalContextPass() * * @return StaticTypeInference */ - public function getStaticTypeInferencePass() + public function getStaticTypeInferencePass(): StaticTypeInference { return $this->typeInference; } @@ -1081,7 +1021,7 @@ public function getStaticTypeInferencePass() * * @return CallGathererPass */ - public function getCallGathererPass() + public function getCallGathererPass(): CallGathererPass { return $this->callGathererPass; } @@ -1092,60 +1032,54 @@ public function getCallGathererPass() * @param SymbolTable $symbolTable * @param string $containerCode * - * @return mixed + * @return string */ - public function removeMemoryStackReferences(SymbolTable $symbolTable, $containerCode) - { - if (!$symbolTable->getMustGrownStack()) { - $containerCode = str_replace('ZEPHIR_THROW_EXCEPTION_STR', 'ZEPHIR_THROW_EXCEPTION_STRW', $containerCode); - $containerCode = str_replace('ZEPHIR_THROW_EXCEPTION_DEBUG_STR', 'ZEPHIR_THROW_EXCEPTION_DEBUG_STRW', $containerCode); - $containerCode = str_replace('ZEPHIR_THROW_EXCEPTION_ZVAL', 'ZEPHIR_THROW_EXCEPTION_ZVALW', $containerCode); - $containerCode = str_replace('RETURN_THIS', 'RETURN_THISW', $containerCode); - $containerCode = str_replace('RETURN_LCTOR', 'RETURN_LCTORW', $containerCode); - $containerCode = str_replace('RETURN_CTOR', 'RETURN_CTORW', $containerCode); - $containerCode = str_replace('RETURN_NCTOR', 'RETURN_NCTORW', $containerCode); - $containerCode = str_replace('RETURN_CCTOR', 'RETURN_CCTORW', $containerCode); - $containerCode = str_replace('RETURN_MM_NULL', 'RETURN_NULL', $containerCode); - $containerCode = str_replace('RETURN_MM_BOOL', 'RETURN_BOOL', $containerCode); - $containerCode = str_replace('RETURN_MM_FALSE', 'RETURN_FALSE', $containerCode); - $containerCode = str_replace('RETURN_MM_TRUE', 'RETURN_TRUE', $containerCode); - $containerCode = str_replace('RETURN_MM_STRING', 'RETURN_STRING', $containerCode); - $containerCode = str_replace('RETURN_MM_LONG', 'RETURN_LONG', $containerCode); - $containerCode = str_replace('RETURN_MM_DOUBLE', 'RETURN_DOUBLE', $containerCode); - $containerCode = str_replace('RETURN_MM_FALSE', 'RETURN_FALSE', $containerCode); - $containerCode = str_replace('RETURN_MM_EMPTY_STRING', 'RETURN_MM_EMPTY_STRING', $containerCode); - $containerCode = str_replace('RETURN_MM_EMPTY_ARRAY', 'RETURN_EMPTY_ARRAY', $containerCode); - $containerCode = str_replace('RETURN_MM_MEMBER', 'RETURN_MEMBER', $containerCode); - $containerCode = str_replace('RETURN_MM()', 'return', $containerCode); - $containerCode = preg_replace('/[ \t]+ZEPHIR_MM_RESTORE\(\);'.PHP_EOL.'/s', '', $containerCode); + public function removeMemoryStackReferences(SymbolTable $symbolTable, string $containerCode): string + { + if ($symbolTable->getMustGrownStack()) { + return $containerCode; } + $containerCode = str_replace('ZEPHIR_THROW_EXCEPTION_STR', 'ZEPHIR_THROW_EXCEPTION_STRW', $containerCode); + $containerCode = str_replace('ZEPHIR_THROW_EXCEPTION_DEBUG_STR', 'ZEPHIR_THROW_EXCEPTION_DEBUG_STRW', $containerCode); + $containerCode = str_replace('ZEPHIR_THROW_EXCEPTION_ZVAL', 'ZEPHIR_THROW_EXCEPTION_ZVALW', $containerCode); + $containerCode = str_replace('RETURN_THIS', 'RETURN_THISW', $containerCode); + $containerCode = str_replace('RETURN_LCTOR', 'RETURN_LCTORW', $containerCode); + $containerCode = str_replace('RETURN_CTOR', 'RETURN_CTORW', $containerCode); + $containerCode = str_replace('RETURN_NCTOR', 'RETURN_NCTORW', $containerCode); + $containerCode = str_replace('RETURN_CCTOR', 'RETURN_CCTORW', $containerCode); + $containerCode = str_replace('RETURN_MM_NULL', 'RETURN_NULL', $containerCode); + $containerCode = str_replace('RETURN_MM_BOOL', 'RETURN_BOOL', $containerCode); + $containerCode = str_replace('RETURN_MM_FALSE', 'RETURN_FALSE', $containerCode); + $containerCode = str_replace('RETURN_MM_TRUE', 'RETURN_TRUE', $containerCode); + $containerCode = str_replace('RETURN_MM_STRING', 'RETURN_STRING', $containerCode); + $containerCode = str_replace('RETURN_MM_LONG', 'RETURN_LONG', $containerCode); + $containerCode = str_replace('RETURN_MM_DOUBLE', 'RETURN_DOUBLE', $containerCode); + $containerCode = str_replace('RETURN_MM_FALSE', 'RETURN_FALSE', $containerCode); + $containerCode = str_replace('RETURN_MM_EMPTY_STRING', 'RETURN_MM_EMPTY_STRING', $containerCode); + $containerCode = str_replace('RETURN_MM_EMPTY_ARRAY', 'RETURN_EMPTY_ARRAY', $containerCode); + $containerCode = str_replace('RETURN_MM_MEMBER', 'RETURN_MEMBER', $containerCode); + $containerCode = str_replace('RETURN_MM()', 'return', $containerCode); + $containerCode = preg_replace('/[ \t]+ZEPHIR_MM_RESTORE\(\);'.PHP_EOL.'/s', '', $containerCode); + return $containerCode; } /** * Assigns a default value. * - * @param array $parameter + * @param array $parameter * @param CompilationContext $compilationContext - * - * @throws CompilerException - * * @return string + * @throws Exception */ - public function assignDefaultValue(array $parameter, CompilationContext $compilationContext) + public function assignDefaultValue(array $parameter, CompilationContext $compilationContext): string { - if (isset($parameter['data-type'])) { - $dataType = $parameter['data-type']; - } else { - $dataType = 'variable'; - } - - /* + /** * Class-Hinted parameters only can be null? */ if (isset($parameter['cast'])) { - if ('null' != $parameter['default']['type']) { + if ('null' !== $parameter['default']['type']) { throw new CompilerException('Class-Hinted parameters only can have "null" as default parameter', $parameter); } } @@ -1157,9 +1091,11 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila $compilationContext->codePrinter = $codePrinter; $paramVariable = $compilationContext->symbolTable->getVariableForWrite($parameter['name'], $compilationContext); - /* - * @todo Refactoring this place, move to one - static-constant-access + + /** + * TODO: Refactoring this place, move to one - static-constant-access */ + $dataType = $this->getParamDataType($parameter); switch ($dataType) { case 'int': case 'uint': @@ -1170,7 +1106,7 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila /** * Now I can write code for easy use on Expression because code in this method don't write with codePrinter ;(. * - * @todo Rewrite all to codePrinter + * TODO: Rewrite all to codePrinter */ $symbolVariable = $compilationContext->symbolTable->getVariableForWrite($parameter['name'], $compilationContext, $parameter['default']); $expression = new Expression($parameter['default']); @@ -1187,7 +1123,6 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila $compilationContext->codePrinter = $oldCodePrinter; return $this->assignDefaultValue($parameter, $compilationContext); - break; case 'null': $codePrinter->output($parameter['name'].' = 0;'); @@ -1214,7 +1149,7 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila /** * Now I can write code for easy use on Expression because code in this method don't write with codePrinter ;(. * - * @todo Rewrite all to codePrinter + * TODO: Rewrite all to codePrinter */ $symbolVariable = $compilationContext->symbolTable->getVariableForWrite($parameter['name'], $compilationContext, $parameter['default']); $expression = new Expression($parameter['default']); @@ -1231,7 +1166,6 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila $compilationContext->codePrinter = $oldCodePrinter; return $this->assignDefaultValue($parameter, $compilationContext); - break; case 'null': $codePrinter->output($parameter['name'].' = 0;'); @@ -1258,14 +1192,14 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila /** * Now I can write code for easy use on Expression because code in this method don't write with codePrinter ;(. * - * @todo Rewrite all to codePrinter + * TODO: Rewrite all to codePrinter */ $symbolVariable = $compilationContext->symbolTable->getVariableForWrite($parameter['name'], $compilationContext, $parameter['default']); $expression = new Expression($parameter['default']); $expression->setExpectReturn(true, $symbolVariable); $compiledExpression = $expression->compile($compilationContext); - if ('bool' != $compiledExpression->getType()) { + if ('bool' !== $compiledExpression->getType()) { throw new CompilerException('Default parameter value type: '.$compiledExpression->getType().' cannot be assigned to variable(bool)', $parameter); } @@ -1275,14 +1209,13 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila $compilationContext->codePrinter = $oldCodePrinter; return $this->assignDefaultValue($parameter, $compilationContext); - break; case 'null': $codePrinter->output($parameter['name'].' = 0;'); break; case 'bool': - if ('true' == $parameter['default']['value']) { + if ('true' === $parameter['default']['value']) { $codePrinter->output($parameter['name'].' = 1;'); } else { $codePrinter->output($parameter['name'].' = 0;'); @@ -1303,7 +1236,7 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila /** * Now I can write code for easy use on Expression because code in this method don't write with codePrinter ;(. * - * @todo Rewrite all to codePrinter + * TODO: Rewrite all to codePrinter */ $symbolVariable = $compilationContext->symbolTable->getVariableForWrite($parameter['name'], $compilationContext, $parameter['default']); $expression = new Expression($parameter['default']); @@ -1320,7 +1253,6 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila $compilationContext->codePrinter = $oldCodePrinter; return $this->assignDefaultValue($parameter, $compilationContext); - break; case 'null': $compilationContext->backend->initVar($paramVariable, $compilationContext); @@ -1374,7 +1306,7 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila /** * Now I can write code for easy use on Expression because code in this method don't write with codePrinter ;(. * - * @todo Rewrite all to codePrinter + * TODO: Rewrite all to codePrinter */ $expression = new Expression($parameter['default']); $expression->setExpectReturn(true, $symbolVariable); @@ -1386,7 +1318,6 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila $compilationContext->codePrinter = $oldCodePrinter; return $this->assignDefaultValue($parameter, $compilationContext); - break; case 'int': case 'uint': @@ -1470,7 +1401,7 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila /** * Assigns a zval value to a static low-level type. * - * @todo rewrite this to build ifs and throw from builders + * TODO: rewrite this to build ifs and throw from builders * * @param array $parameter * @param CompilationContext $compilationContext @@ -1479,13 +1410,9 @@ public function assignDefaultValue(array $parameter, CompilationContext $compila * * @return string */ - public function checkStrictType(array $parameter, CompilationContext $compilationContext) + public function checkStrictType(array $parameter, CompilationContext $compilationContext): string { - if (isset($parameter['data-type'])) { - $dataType = $parameter['data-type']; - } else { - $dataType = 'variable'; - } + $dataType = $this->getParamDataType($parameter); $compilationContext->headersManager->add('ext/spl/spl_exceptions'); $compilationContext->headersManager->add('kernel/exception'); @@ -1506,21 +1433,15 @@ public function checkStrictType(array $parameter, CompilationContext $compilatio * * @param array $parameter * @param CompilationContext $compilationContext - * * @throws CompilerException - * * @return string */ - public function assignZvalValue(array $parameter, CompilationContext $compilationContext) + public function assignZvalValue(array $parameter, CompilationContext $compilationContext): string { - if (isset($parameter['data-type'])) { - $dataType = $parameter['data-type']; - } else { - $dataType = 'variable'; - } + $dataType = $this->getParamDataType($parameter); - if (\in_array($dataType, ['variable', 'callable', 'object', 'resource'])) { - return; + if (in_array($dataType, ['variable', 'callable', 'object', 'resource'])) { + return ""; } $compilationContext->headersManager->add('kernel/operators'); @@ -1528,6 +1449,7 @@ public function assignZvalValue(array $parameter, CompilationContext $compilatio $parameterCode = $compilationContext->backend->getVariableCode($parameterVariable); $inputParamVar = $compilationContext->symbolTable->getVariableForWrite($parameter['name'], $compilationContext); $inputParamCode = $compilationContext->backend->getVariableCode($inputParamVar); + switch ($dataType) { case 'int': case 'uint': @@ -1563,10 +1485,9 @@ public function assignZvalValue(array $parameter, CompilationContext $compilatio * Pre-compiles the method making compilation pass data (static inference, local-context-pass) available to other methods. * * @param CompilationContext $compilationContext - * * @throws CompilerException */ - public function preCompile(CompilationContext $compilationContext) + public function preCompile(CompilationContext $compilationContext): void { $localContext = null; $typeInference = null; @@ -1575,7 +1496,7 @@ public function preCompile(CompilationContext $compilationContext) if (\is_object($this->statements)) { $compilationContext->currentMethod = $this; - /* + /** * This pass checks for zval variables than can be potentially * used without allocating memory and track it * these variables are stored in the stack @@ -1585,7 +1506,7 @@ public function preCompile(CompilationContext $compilationContext) $localContext->pass($this->statements); } - /* + /** * This pass tries to infer types for dynamic variables * replacing them by low level variables */ @@ -1598,7 +1519,7 @@ public function preCompile(CompilationContext $compilationContext) } } - /* + /** * This pass counts how many times a specific */ if ($compilationContext->config->get('call-gatherer-pass', 'optimizations')) { @@ -1616,17 +1537,16 @@ public function preCompile(CompilationContext $compilationContext) * Compiles the method. * * @param CompilationContext $compilationContext - * - * @throws CompilerException + * @throws Exception */ - public function compile(CompilationContext $compilationContext) + public function compile(CompilationContext $compilationContext): void { - /* + /** * Set the method currently being compiled */ $compilationContext->currentMethod = $this; - /* + /** * Initialize the method warm-up to null */ $compilationContext->methodWarmUp = null; @@ -1634,7 +1554,6 @@ public function compile(CompilationContext $compilationContext) /** * Assign pre-made compilation passes. */ - $localContext = $this->localContext; $typeInference = $this->typeInference; $callGathererPass = $this->callGathererPass; @@ -1643,6 +1562,7 @@ public function compile(CompilationContext $compilationContext) */ $branch = new Branch(); $branch->setType(Branch::TYPE_EXTERNAL); + /** * BranchManager helps to create graphs of conditional/loop/root/jump branches. */ @@ -1655,11 +1575,11 @@ public function compile(CompilationContext $compilationContext) * Every method has its own symbol table. */ $symbolTable = new SymbolTable($compilationContext); - if ($localContext) { - $symbolTable->setLocalContext($localContext); + if ($this->localContext instanceof LocalContextPass) { + $symbolTable->setLocalContext($this->localContext); } - if ($this->staticVariables) { + if ($this->staticVariables !== null) { foreach ($this->staticVariables as $var) { $localVar = clone $var; $localVar->setIsExternal(true); @@ -1674,12 +1594,9 @@ public function compile(CompilationContext $compilationContext) /** * Parameters has an additional extra mutation. */ - $parameters = $this->parameters; - if ($localContext) { - if (\is_object($parameters)) { - foreach ($parameters->getParameters() as $parameter) { - $localContext->increaseMutations($parameter['name']); - } + if ($this->localContext instanceof LocalContextPass && $this->parameters instanceof ClassMethodParameters) { + foreach ($this->parameters->getParameters() as $parameter) { + $this->localContext->increaseMutations($parameter['name']); } } @@ -1701,44 +1618,25 @@ public function compile(CompilationContext $compilationContext) $codePrinter = new CodePrinter(); $compilationContext->codePrinter = $codePrinter; - /* + /** * Set an empty function cache */ $compilationContext->functionCache = null; - /* + /** * Reset try/catch and loop counter */ $compilationContext->insideCycle = 0; $compilationContext->insideTryCatch = 0; $compilationContext->currentTryCatch = 0; - if (\is_object($parameters)) { + if ($this->parameters instanceof ClassMethodParameters) { /** * Round 1. Create variables in parameters in the symbol table. */ $classCastChecks = []; $substituteVars = []; - foreach ($parameters->getParameters() as $parameter) { - /* - * Change dynamic variables to low level types - */ - if ($typeInference) { - if (isset($parameter['data-type'])) { - if ('variable' == $parameter['data-type']) { - $type = $typeInference->getInferedType($parameter['name']); - if (\is_string($type)) { - /* promote polymorphic parameters to low level types */ - } - } - } else { - $type = $typeInference->getInferedType($parameter['name']); - if (\is_string($type)) { - /* promote polymorphic parameters to low level types */ - } - } - } - + foreach ($this->parameters->getParameters() as $parameter) { $symbolParam = null; if (isset($parameter['data-type'])) { @@ -1762,6 +1660,7 @@ public function compile(CompilationContext $compilationContext) if ($compilationContext->backend->isZE3()) { $symbolParam->setIsDoublePointer(true); } + if ('string' == $parameter['data-type'] || 'array' == $parameter['data-type']) { $symbol->setMustInitNull(true); } @@ -1771,16 +1670,18 @@ public function compile(CompilationContext $compilationContext) $symbol = $symbolTable->addVariable('variable', $parameter['name'], $compilationContext); } - /* ZE3 only */ + /** + * ZE3 only + */ if (isset($substituteVars[$parameter['name']])) { $substituteVar = $substituteVars[$parameter['name']]; $substituteVar->increaseUses(); } - /* + /** * Some parameters can be read-only */ - if (isset($parameter['const']) && $parameter['const']) { + if (!empty($parameter['const'])) { $symbol->setReadOnly(true); if (\is_object($symbolParam)) { $symbolParam->setReadOnly(true); @@ -1788,29 +1689,29 @@ public function compile(CompilationContext $compilationContext) } if (\is_object($symbolParam)) { - /* + /** * Parameters are marked as 'external' */ $symbolParam->setIsExternal(true); - /* + /** * Assuming they're initialized */ $symbolParam->setIsInitialized(true, $compilationContext); - /* + /** * Initialize auxiliary parameter zvals to null */ $symbolParam->setMustInitNull(true); - /* + /** * Increase uses */ $symbolParam->increaseUses(); } else { if (isset($parameter['default'])) { if (isset($parameter['data-type'])) { - if ('variable' == $parameter['data-type']) { + if ('variable' === $parameter['data-type']) { $symbol->setMustInitNull(true); } } else { @@ -1819,22 +1720,22 @@ public function compile(CompilationContext $compilationContext) } } - /* + /** * Original node where the variable was declared */ $symbol->setOriginal($parameter); - /* + /** * Parameters are marked as 'external' */ $symbol->setIsExternal(true); - /* + /** * Assuming they're initialized */ $symbol->setIsInitialized(true, $compilationContext); - /* + /** * Variables with class/type must be objects across the execution */ if (isset($parameter['cast'])) { @@ -1843,7 +1744,7 @@ public function compile(CompilationContext $compilationContext) $classCastChecks[] = [$symbol, $parameter]; } else { if (isset($parameter['data-type'])) { - if ('variable' == $parameter['data-type']) { + if ('variable' === $parameter['data-type']) { $symbol->setDynamicTypes('undefined'); } } else { @@ -1855,19 +1756,19 @@ public function compile(CompilationContext $compilationContext) $compilationContext->backend->onPreCompile($this, $compilationContext); - /* + /** * Compile the block of statements if any */ if (\is_object($this->statements)) { $compilationContext->staticContext = $this->hasModifier('static'); - /* + /** * Compile the statements block as a 'root' branch */ $this->statements->compile($compilationContext, false, Branch::TYPE_ROOT); } - /* + /** * Initialize variable default values. */ $initVarCode = $compilationContext->backend->initializeVariableDefaults( @@ -1875,21 +1776,21 @@ public function compile(CompilationContext $compilationContext) $compilationContext ); - /* + /** * Fetch parameters from vm-top. */ $initCode = ''; $code = ''; - if (\is_object($parameters)) { + $requiredParams = []; + $optionalParams = []; + if ($this->parameters instanceof ClassMethodParameters) { /** * Round 2. Fetch the parameters in the method. */ $params = []; - $requiredParams = []; - $optionalParams = []; $numberRequiredParams = 0; $numberOptionalParams = 0; - foreach ($parameters->getParameters() as $parameter) { + foreach ($this->parameters->getParameters() as $parameter) { if (isset($parameter['data-type'])) { $dataType = $parameter['data-type']; } else { @@ -1932,14 +1833,11 @@ public function compile(CompilationContext $compilationContext) */ $parametersToSeparate = []; if (\is_object($this->statements)) { - /* - * If local context is not available - */ - if (!$localContext) { + if (!$this->localContext instanceof LocalContextPass) { $writeDetector = new WriteDetector(); } - foreach ($parameters->getParameters() as $parameter) { + foreach ($this->parameters->getParameters() as $parameter) { if (isset($parameter['data-type'])) { $dataType = $parameter['data-type']; } else { @@ -1954,12 +1852,12 @@ public function compile(CompilationContext $compilationContext) case 'object': case 'callable': $name = $parameter['name']; - if (!$localContext) { + if (!$this->localContext instanceof LocalContextPass) { if ($writeDetector->detect($name, $this->statements->getStatements())) { $parametersToSeparate[$name] = true; } } else { - if ($localContext->getNumberOfMutations($name) > 1) { + if ($this->localContext->getNumberOfMutations($name) > 1) { $parametersToSeparate[$name] = true; } } @@ -1968,24 +1866,15 @@ public function compile(CompilationContext $compilationContext) } } - /* + /** * Initialize required parameters */ foreach ($requiredParams as $parameter) { - if (isset($parameter['mandatory'])) { - $mandatory = $parameter['mandatory']; - } else { - $mandatory = 0; - } - - if (isset($parameter['data-type'])) { - $dataType = $parameter['data-type']; - } else { - $dataType = 'variable'; - } + $mandatory = $parameter['mandatory'] ?? 0; + $dataType = $this->getParamDataType($parameter); - if ('variable' != $dataType) { - /* + if ('variable' !== $dataType) { + /** * Assign value from zval to low level type */ if ($mandatory) { @@ -2008,21 +1897,12 @@ public function compile(CompilationContext $compilationContext) } } - /* + /** * Initialize optional parameters */ foreach ($optionalParams as $parameter) { - if (isset($parameter['mandatory'])) { - $mandatory = $parameter['mandatory']; - } else { - $mandatory = 0; - } - - if (isset($parameter['data-type'])) { - $dataType = $parameter['data-type']; - } else { - $dataType = 'variable'; - } + $mandatory = $parameter['mandatory'] ?? 0; + $dataType = $this->getParamDataType($parameter); switch ($dataType) { case 'object': @@ -2051,8 +1931,9 @@ public function compile(CompilationContext $compilationContext) } $initCode .= $this->assignDefaultValue($parameter, $compilationContext); - if (isset($parametersToSeparate[$name]) || 'variable' != $dataType) { + if (isset($parametersToSeparate[$name]) || 'variable' !== $dataType) { $initCode .= "\t".'} else {'.PHP_EOL; + if (isset($parametersToSeparate[$name])) { $initCode .= "\t\t".'ZEPHIR_SEPARATE_PARAM('.$name.');'.PHP_EOL; } else { @@ -2067,7 +1948,7 @@ public function compile(CompilationContext $compilationContext) $initCode .= "\t".'}'.PHP_EOL; } - /* + /** * Fetch the parameters to zval pointers */ $codePrinter->preOutputBlankLine(); @@ -2091,6 +1972,7 @@ public function compile(CompilationContext $compilationContext) $compilationContext->codePrinter = $realCodePrinter; } } + $code .= PHP_EOL; } @@ -2099,7 +1981,7 @@ public function compile(CompilationContext $compilationContext) $compilationContext->headersManager->add('kernel/object'); - /* + /** * Fetch used superglobals */ foreach ($symbolTable->getVariables() as $name => $variable) { @@ -2107,6 +1989,7 @@ public function compile(CompilationContext $compilationContext) $globalVar = $symbolTable->getVariable($name); $codePrinter->preOutput("\t".$compilationContext->backend->fetchGlobal($globalVar, $compilationContext, false)); } + if ($variable->isLocalStatic()) { $staticVar = $symbolTable->getVariable($name); @@ -2120,7 +2003,7 @@ public function compile(CompilationContext $compilationContext) } } - /* + /** * Grow the stack if needed */ if ($symbolTable->getMustGrownStack()) { @@ -2136,7 +2019,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->preOutput("\t".'ZEPHIR_MM_GROW();'); } - /* + /** * Check if there are unused variables. */ $usedVariables = []; @@ -2171,7 +2054,7 @@ public function compile(CompilationContext $compilationContext) } } - /* + /** * Check if there are assigned but not used variables * Warn whenever a variable is unused aside from its declaration. */ @@ -2186,7 +2069,7 @@ public function compile(CompilationContext $compilationContext) if (!$variable->isUsed()) { $node = $variable->getLastUsedNode(); - if (\is_array($node)) { + if (is_array($node)) { $expression = isset($node['expr']) ? $node['expr'] : $node; $compilationContext->logger->warning( 'Variable "'.$variable->getName().'" assigned but not used in '.$completeName.'::'.$this->getName(), @@ -2201,11 +2084,44 @@ public function compile(CompilationContext $compilationContext) } } - if (\count($usedVariables)) { + if (count($usedVariables)) { $codePrinter->preOutputBlankLine(); } - /* + /** + * ZEND_PARSE_PARAMETERS + */ + $tempCodePrinter = new CodePrinter(); + if ($this->parameters instanceof ClassMethodParameters && !empty($this->parameters->getParameters())) { + $tempCodePrinter->output('#if PHP_VERSION_ID >= 80000'); + $tempCodePrinter->output("\t".'bool is_null_true = 1;'); + + $tempCodePrinter->output(sprintf( + "\t".'ZEND_PARSE_PARAMETERS_START(%d, %d)', + count($requiredParams), + count($requiredParams) + count($optionalParams) + )); + + foreach ($requiredParams as $requiredParam) { + $tempCodePrinter->output("\t"."\t".$this->detectParam($requiredParam, $compilationContext)); + } + + if (!empty($optionalParams)) { + $tempCodePrinter->output("\t"."\t".'Z_PARAM_OPTIONAL'); + + foreach ($optionalParams as $optionalParam) { + $tempCodePrinter->output("\t"."\t".$this->detectParam($optionalParam, $compilationContext)); + } + } + + $tempCodePrinter->output("\t".'ZEND_PARSE_PARAMETERS_END();'); + $tempCodePrinter->outputBlankLine(); + $tempCodePrinter->output('#endif'); + } + + $codePrinter->preOutput($tempCodePrinter->getOutput()); + + /** * Generate the variable definition for variables used. */ $initCode = sprintf( @@ -2222,7 +2138,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->preOutput($initCode); - /* + /** * Finalize the method compilation */ if (\is_object($this->statements) && !empty($statement = $this->statements->getLastStatement())) { @@ -2232,13 +2148,13 @@ public function compile(CompilationContext $compilationContext) */ $lastType = $this->statements->getLastStatementType(); - if ('return' != $lastType && 'throw' != $lastType && !$this->hasChildReturnStatementType($statement)) { + if ('return' !== $lastType && 'throw' !== $lastType && !$this->hasChildReturnStatementType($statement)) { if ($symbolTable->getMustGrownStack()) { $compilationContext->headersManager->add('kernel/memory'); $codePrinter->output("\t".'ZEPHIR_MM_RESTORE();'); } - /* + /** * If a method has return-type hints we need to ensure the last statement is a 'return' statement */ if ($this->hasReturnTypes()) { @@ -2257,7 +2173,7 @@ public function compile(CompilationContext $compilationContext) */ $code = $this->removeMemoryStackReferences($symbolTable, $codePrinter->getOutput()); - /* + /** * Restore the compilation context */ $oldCodePrinter->output($code); @@ -2268,8 +2184,6 @@ public function compile(CompilationContext $compilationContext) $compilationContext->typeInference = null; $codePrinter->clear(); - - return null; } /** @@ -2279,19 +2193,19 @@ public function compile(CompilationContext $compilationContext) * * @return bool */ - public function hasChildReturnStatementType($statement) + public function hasChildReturnStatementType(array $statement): bool { - if (!isset($statement['statements']) || !\is_array($statement['statements'])) { + if (!isset($statement['statements']) || !is_array($statement['statements'])) { return false; } - if ('if' == $statement['type']) { + if ('if' === $statement['type']) { $ret = false; $statements = $statement['statements']; foreach ($statements as $item) { - $type = isset($item['type']) ? $item['type'] : null; - if ('return' == $type || 'throw' == $type) { + $type = $item['type'] ?? null; + if ('return' === $type || 'throw' === $type) { $ret = true; } else { $ret = $this->hasChildReturnStatementType($item); @@ -2304,22 +2218,22 @@ public function hasChildReturnStatementType($statement) $statements = $statement['else_statements']; foreach ($statements as $item) { - $type = isset($item['type']) ? $item['type'] : null; - if ('return' == $type || 'throw' == $type) { + $type = $item['type'] ?? null; + if ('return' === $type || 'throw' === $type) { return true; - } else { - return $this->hasChildReturnStatementType($item); } + + return $this->hasChildReturnStatementType($item); } } else { $statements = $statement['statements']; foreach ($statements as $item) { $type = isset($item['type']) ? $item['type'] : null; - if ('return' == $type || 'throw' == $type) { + if ('return' === $type || 'throw' === $type) { return true; - } else { - return $this->hasChildReturnStatementType($item); } + + return $this->hasChildReturnStatementType($item); } } @@ -2329,7 +2243,7 @@ public function hasChildReturnStatementType($statement) /** * @return string */ - public function getInternalName() + public function getInternalName(): string { $classDefinition = $this->getClassDefinition(); @@ -2340,12 +2254,11 @@ public function getInternalName() * Returns arginfo name for current method. * * @param ClassDefinition|null $classDefinition - * * @return string */ - public function getArgInfoName(ClassDefinition $classDefinition = null) + public function getArgInfoName(?ClassDefinition $classDefinition = null): string { - if (null != $classDefinition) { + if ($classDefinition instanceof ClassDefinition) { return sprintf( 'arginfo_%s_%s_%s', strtolower($classDefinition->getCNamespace()), @@ -2377,12 +2290,13 @@ public function getArgInfoName(ClassDefinition $classDefinition = null) * * @return bool */ - public function isReturnTypesHintDetermined() + public function isReturnTypesHintDetermined(): bool { if ($this->isVoid()) { return true; } - if (0 == \count($this->returnTypes)) { + + if (0 === count($this->returnTypes)) { return false; } @@ -2406,7 +2320,7 @@ public function isReturnTypesHintDetermined() } /* - * @todo Probable we should detect return type more more carefully. + * TODO: Probable we should detect return type more more carefully. * It is hard to process return type from the annotations at this time. * Thus we just return false here. */ @@ -2422,7 +2336,7 @@ public function isReturnTypesHintDetermined() * * @return bool */ - public function areReturnTypesCompatible() + public function areReturnTypesCompatible(): bool { // void if ($this->isVoid()) { @@ -2430,15 +2344,269 @@ public function areReturnTypesCompatible() } // null | T1 | T2 - if (\count($this->returnTypes) > 2) { + if (count($this->returnTypes) > 2) { return false; } // T1 | T2 - if (2 == \count($this->returnTypes) && !isset($this->returnTypes['null'])) { + if (2 === count($this->returnTypes) && !isset($this->returnTypes['null'])) { return false; } return true; } + + /** + * Determine Z_PARAM_* + * + * @param array $parameter + * @param CompilationContext $compilationContext + * @return string + * @throws Exception + */ + public function detectParam(array $parameter, CompilationContext $compilationContext): string + { + $name = $parameter['name']; + if (!isset($parameter['data-type'])) { + return sprintf('Z_PARAM_ZVAL(%s)', $name); + } + + /** + * In case of unknown type, just return generic param type. + */ + $param = sprintf('Z_PARAM_ZVAL(%s)', $name); + $hasDefaultNull = isset($parameter['default']['type']) && $parameter['default']['type'] === 'null'; + + switch ($parameter['data-type']) { + case 'array': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_ARRAY_OR_NULL(%s)', $name); + } else { + $param = sprintf('Z_PARAM_ARRAY(%s)', $name); + } + + break; + + case 'bool': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_BOOL_OR_NULL(%s, is_null_true)', $name); + } else { + $param = sprintf('Z_PARAM_BOOL(%s)', $name); + } + + break; + + case 'float': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_DOUBLE_OR_NULL(%s, is_null_true)', $name); + } else { + $param = sprintf('Z_PARAM_DOUBLE(%s)', $name); + } + + break; + + case 'int': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_LONG_OR_NULL(%s, is_null_true)', $name); + } else { + $param = sprintf('Z_PARAM_LONG(%s)', $name); + } + + break; + + case 'object': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_OBJECT_OF_CLASS_OR_NULL(%s)', $name); + } else { + $param = sprintf('Z_PARAM_OBJECT(%s)', $name); + } + + break; + + case 'resource': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_RESOURCE_OR_NULL(%s)', $name); + } else { + $param = sprintf('Z_PARAM_RESOURCE(%s)', $name); + } + + break; + + case 'string': + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_STR_OR_NULL(%s)', $name); + } else { + $param = sprintf('Z_PARAM_STR(%s)', $name); + } + + break; + + case 'variable': + if (isset($parameter['cast']) && $parameter['cast']['type'] === 'variable' && $parameter['cast']['value']) { + $classEntry = $this->detectClassNameEntry($parameter['cast']['value'], $compilationContext); + if ($classEntry !== null) { + if ($hasDefaultNull) { + $param = sprintf('Z_PARAM_OBJECT_OF_CLASS_OR_NULL(%s, %s)', $name, $classEntry); + } else { + $param = sprintf('Z_PARAM_OBJECT_OF_CLASS(%s, %s)', $name, $classEntry); + } + } + } + + break; + } + + return $param; + } + + /** + * @param string $className + * @param CompilationContext $compilationContext + * @return string|null + * @throws Exception + */ + private function detectClassNameEntry(string $className, CompilationContext $compilationContext): ?string + { + if ($this->classDefinition === null) { + return null; + } + + /** + * Excluded classes. + * + * Cases when we can't retrieve class entry. + * For example: php/ext/reflection, as there + * are no PHP_INSTALL_HEADERS. + */ + if (in_array(ltrim(strtolower($className), '\\'), $this->excludedClassEntries)) { + return null; + } + + $isAlias = false; + $aliasManager = $this->classDefinition->getAliasManager(); + if ($aliasManager->isAlias($className)) { + $isAlias = true; + $className = $aliasManager->getAlias($className); + } + + /** + * PSR + */ + if (strpos($className, 'Psr') === 0 || strpos($className, '\Psr') === 0) { + $className = ltrim($className, '\\'); + + $psrHeaderFiles = [ + 'psr_http_message' => [ + 'Psr\Http\Message\StreamInterface', + 'Psr\Http\Message\StreamFactoryInterface', + 'Psr\Http\Message\UriFactoryInterface', + 'Psr\Http\Message\UriInterface', + 'Psr\Http\Message\RequestInterface', + 'Psr\Http\Message\RequestFactoryInterface', + 'Psr\Http\Message\ResponseInterface', + 'Psr\Http\Message\ResponseFactoryInterface', + 'Psr\Http\Message\ServerRequestInterface', + 'Psr\Http\Message\ServerRequestFactoryInterface', + 'Psr\Http\Message\UploadedFileInterface', + 'Psr\Http\Message\UploadedFileFactoryInterface', + ], + 'psr_simple_cache' => [ + 'Psr\SimpleCache\CacheInterface', + 'Psr\SimpleCache\CacheException', + 'Psr\SimpleCache\InvalidArgumentException', + ], + 'psr_container' => [ + 'Psr\Container\ContainerInterface', + ], + 'psr_log' => [ + 'Psr\Log\AbstractLogger', + 'Psr\Log\LoggerInterface', + 'Psr\Log\LogLevel', + ], + 'psr_link' => [ + 'Psr\Link\EvolvableLinkInterface', + 'Psr\Link\EvolvableLinkProviderInterface', + 'Psr\Link\LinkInterface', + 'Psr\Link\LinkProviderInterface', + ], + 'psr_http_server_middleware' => [ + 'Psr\Http\Server\MiddlewareInterface', + ], + 'psr_http_server_handler' => [ + 'Psr\Http\Server\RequestHandlerInterface', + ], + ]; + foreach ($psrHeaderFiles as $file => $classes) { + if (in_array($className, $classes)) { + $compilationContext->headersManager->add('ext/psr/' . $file); + } + } + + return str_replace('\\', '', $className) . '_ce_ptr'; + } + + try { + return $this + ->classDefinition + ->getClassEntryByClassName( + preg_replace(['/^\\\\/'], '', $className), + $compilationContext, + false + ); + } catch (CompilerException $exception) { + // Continue below execution + } + + $classNamespace = explode('\\', $className); + + /** + * Full namespace with class name + */ + if (strpos($className, '\\') === 0) { + $classNamespace = array_values(array_filter($classNamespace)); + + /** + * External class + */ + if (count($classNamespace) === 1) { + return null; + } + + /** + * External class, we don't know its ClassEntry in C world. + */ + if (!preg_match('/^'.$classNamespace[0].'/', $this->classDefinition->getNamespace())) { + return null; + } + + $className = end($classNamespace); + array_pop($classNamespace); + } else { + /** + * Check for partial namespace specification + * Example: Oo\Param, while namespace at the top is Stub + */ + $className = end($classNamespace); + array_pop($classNamespace); + + if ($isAlias === false) { + array_unshift($classNamespace, $this->classDefinition->getNamespace()); + } + } + + $namespace = join('\\', $classNamespace); + + return (new ClassDefinition($namespace, $className))->getClassEntry(); + } + + /** + * Get data type of method's parameter + * + * @param array $parameter + * @return string + */ + private function getParamDataType(array $parameter): string + { + return $parameter['data-type'] ?? 'variable'; + } } diff --git a/Library/ClassMethodParameters.php b/Library/ClassMethodParameters.php index 5c40a2ee43..c2084b53d9 100644 --- a/Library/ClassMethodParameters.php +++ b/Library/ClassMethodParameters.php @@ -1,6 +1,6 @@ @@ -9,20 +9,27 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir; +use ArrayAccess; +use Countable; +use Iterator; use Zephir\Exception\CompilerException; +use function count; + /** * Zephir\ClassMethodParameters. * * Represents the parameters defined in a method */ -class ClassMethodParameters implements \Countable, \Iterator, \ArrayAccess +class ClassMethodParameters implements Countable, Iterator, ArrayAccess { - private $parameters = []; + private array $parameters = []; - private $position = 0; + private int $position = 0; /** * ClassMethodParameters constructor. @@ -37,7 +44,7 @@ public function __construct(array $parameters) if (isset($parameter['reference']) && $parameter['reference']) { throw new CompilerException( 'Zephir not support reference parameters for now. '. - 'Stay tuned for https://github.com/phalcon/zephir/issues/203', + 'Stay tuned for https://github.com/zephir-lang/zephir/issues/203', $parameter ); } @@ -51,7 +58,7 @@ public function __construct(array $parameters) * * @return array */ - public function getParameters() + public function getParameters(): array { return $this->parameters; } @@ -59,9 +66,9 @@ public function getParameters() /** * @return int */ - public function count() + public function count(): int { - return \count($this->parameters); + return count($this->parameters); } public function rewind() diff --git a/Library/ClassProperty.php b/Library/ClassProperty.php index 79062380fc..41aeaa935b 100644 --- a/Library/ClassProperty.php +++ b/Library/ClassProperty.php @@ -1,6 +1,6 @@ diff --git a/Library/Code/Builder/Struct.php b/Library/Code/Builder/Struct.php index 863430f79e..cb8a62323d 100644 --- a/Library/Code/Builder/Struct.php +++ b/Library/Code/Builder/Struct.php @@ -1,6 +1,6 @@ @@ -9,26 +9,46 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Code\Builder; use Zephir\Exception\InvalidArgumentException; use Zephir\Exception\RuntimeException; +use function is_string; + /** - * Zephir\Code\Builder\Struct. - * * Represents an internal extension global structure */ class Struct { - /** @var string */ - protected $name; + /** + * Struct name + * + * @var string + */ + protected string $name; - /** @var string */ - protected $simpleName; + /** + * Struct simple name + * + * @var string + */ + protected string $simpleName; - /** @var array */ - protected $properties = []; + /** + * Struct members definition + * + * ```c + * struct Name { + * key value; + * } + * ``` + * + * @var array + */ + protected array $properties = []; /** * @param string $name @@ -36,16 +56,8 @@ class Struct * * @throws InvalidArgumentException */ - public function __construct($name, $simpleName) + public function __construct(string $name, string $simpleName) { - if (!\is_string($name)) { - throw new InvalidArgumentException('Struct name must be string'); - } - - if (!\is_string($simpleName)) { - throw new InvalidArgumentException('Struct name must be string'); - } - if (empty($name)) { throw new InvalidArgumentException('Struct name must not be empty'); } @@ -57,7 +69,7 @@ public function __construct($name, $simpleName) /** * @return string */ - public function __toString() + public function __toString(): string { $code = 'typedef struct '.$this->name.' { '.PHP_EOL; @@ -74,20 +86,12 @@ public function __toString() * * @throws InvalidArgumentException */ - public function addProperty($field, $global) + public function addProperty(string $field, array $global) { - if (!isset($global['type'])) { - throw new InvalidArgumentException('Property type must be string'); - } - - if (!\is_string($global['type'])) { + if (!isset($global['type']) || !is_string($global['type'])) { throw new InvalidArgumentException('Property type must be string'); } - if (!\is_string($field)) { - throw new InvalidArgumentException('Property name must be string'); - } - if (isset($this->properties[$field])) { throw new InvalidArgumentException('Property was defined more than once'); } @@ -100,14 +104,14 @@ public function addProperty($field, $global) * * @param string $name * @param array $global - * @param mixed $namespace + * @param string $namespace * * @throws RuntimeException * @throws InvalidArgumentException * * @return string */ - public function getCDefault($name, $global, $namespace) + public function getCDefault(string $name, array $global, string $namespace): string { if (!isset($global['default'])) { throw new RuntimeException('Field "'.$name.'" does not have a default value'); @@ -117,18 +121,6 @@ public function getCDefault($name, $global, $namespace) case 'boolean': case 'bool': return ''; - /* - if ($global['default'] === true) { - return "\t" . $namespace . '_globals->' . $this->simpleName . '.' . $name . ' = 1;'; - } else { - if ($global['default'] === false) { - return "\t" . $namespace . '_globals->' . $this->simpleName . '.' . $name . ' = 0;'; - } else { - throw new \Exception('Invalid default type for boolean field "' . $name . '", it must be false/true'); - } - } - */ - break; case 'int': case 'uint': @@ -147,30 +139,18 @@ public function getCDefault($name, $global, $namespace) * * @see https://docs.zephir-lang.com/latest/en/globals * - * @param mixed $name - global-name - * @param mixed $global - global structure (type, default...) - * @param mixed $namespace - global namespace + * @param string $name - global-name + * @param array $global - global structure (type, default...) + * @param string $namespace - global namespace + * + * @return string */ - public function getInitEntry($name, $global, $namespace) + public function getInitEntry(string $name, array $global, string $namespace): string { - $iniEntry = []; $structName = $this->simpleName.'.'.$name; - - if (isset($global['ini-entry'])) { - $iniEntry = $global['ini-entry']; - } - - if (!isset($iniEntry['name'])) { - $iniName = $namespace.'.'.$structName; - } else { - $iniName = $iniEntry['name']; - } - - if (!isset($iniEntry['scope'])) { - $scope = 'PHP_INI_ALL'; - } else { - $scope = $iniEntry['scope']; - } + $iniEntry = $global['ini-entry'] ?? []; + $iniName = $iniEntry['name'] ?? $namespace.'.'.$structName; + $scope = $iniEntry['scope'] ?? 'PHP_INI_ALL'; switch ($global['type']) { case 'boolean': @@ -188,7 +168,6 @@ public function getInitEntry($name, $global, $namespace) $namespace. '_globals, '. $namespace.'_globals)'; - break; } return ''; @@ -203,7 +182,7 @@ public function getInitEntry($name, $global, $namespace) * * @return string */ - protected function convertToCType($type) + protected function convertToCType(string $type): string { switch ($type) { case 'boolean': diff --git a/Library/CodePrinter.php b/Library/CodePrinter.php index 8c08665f01..ca43202f32 100644 --- a/Library/CodePrinter.php +++ b/Library/CodePrinter.php @@ -1,6 +1,6 @@ diff --git a/Library/CompilationContext.php b/Library/CompilationContext.php index 0b7280b01b..d0c254b743 100644 --- a/Library/CompilationContext.php +++ b/Library/CompilationContext.php @@ -1,6 +1,6 @@ @@ -196,7 +196,7 @@ class CompilationContext /** * Transform class/interface name to FQN format. * - * @todo WHY WHY :'( + * TODO: WHY WHY :'( * * @param string $className * diff --git a/Library/CompiledExpression.php b/Library/CompiledExpression.php index 8ee7b55280..62c5e947cc 100644 --- a/Library/CompiledExpression.php +++ b/Library/CompiledExpression.php @@ -1,6 +1,6 @@ diff --git a/Library/Compiler.php b/Library/Compiler.php index e83f4077ae..b3af0c34df 100644 --- a/Library/Compiler.php +++ b/Library/Compiler.php @@ -1,6 +1,6 @@ @@ -13,6 +13,7 @@ use Psr\Log\LoggerAwareTrait; use Psr\Log\NullLogger; +use Zephir\Code\Builder\Struct; use Zephir\Compiler\CompilerFileFactory; use Zephir\Exception\CompilerException; use Zephir\Exception\IllegalStateException; @@ -23,6 +24,11 @@ use Zephir\Fcall\FcallManagerInterface; use Zephir\FileSystem\FileSystemInterface; +use function count; +use function dirname; +use function is_array; +use function is_string; + final class Compiler { use LoggerAwareTrait; @@ -130,8 +136,6 @@ public function __construct( } /** - * @internal - * * @param string $prototypesPath */ public function setPrototypesPath($prototypesPath) @@ -152,7 +156,7 @@ private function resolvePrototypesPath() // fallback if (empty($prototypesPath)) { - $prototypesPath = \dirname(__DIR__).'/prototypes'; + $prototypesPath = dirname(__DIR__).'/prototypes'; } if (!is_dir($prototypesPath) || !is_readable($prototypesPath)) { @@ -163,8 +167,6 @@ private function resolvePrototypesPath() } /** - * @internal - * * @param string $optimizersPath */ public function setOptimizersPath($optimizersPath) @@ -196,11 +198,9 @@ private function resolveOptimizersPath() } /** - * @internal - * * @param string $templatesPath */ - public function setTemplatesPath($templatesPath) + public function setTemplatesPath(string $templatesPath): void { $this->templatesPath = $templatesPath; } @@ -229,7 +229,7 @@ public function addFunction(FunctionDefinition $func, $statement = null) { $funcName = strtolower($func->getInternalName()); if (isset($this->functionDefinitions[$funcName])) { - // @todo Cover by test + // TODO: Cover by test throw new CompilerException( "Function '".$func->getCompleteName()."' was defined more than one time", $statement @@ -298,7 +298,7 @@ public function isClass($className) /* * Try to autoload the class from an external dependency */ - if (\count($this->externalDependencies)) { + if (count($this->externalDependencies)) { foreach ($this->externalDependencies as $namespace => $location) { if (preg_match('#^'.$namespace.'\\\\#i', $className)) { return $this->loadExternalClass($className, $location); @@ -331,7 +331,7 @@ public function isInterface($className) /* * Try to autoload the class from an external dependency */ - if (\count($this->externalDependencies)) { + if (count($this->externalDependencies)) { foreach ($this->externalDependencies as $namespace => $location) { if (preg_match('#^'.$namespace.'\\\\#i', $className)) { return $this->loadExternalClass($className, $location); @@ -489,7 +489,7 @@ public function getGccFlags($development = false) $gccFlags = getenv('CFLAGS'); - if (!\is_string($gccFlags)) { + if (!is_string($gccFlags)) { if (false === $development) { $gccVersion = $this->getGccVersion(); if (version_compare($gccVersion, '4.6.0', '>=')) { @@ -563,18 +563,18 @@ public function preCompileHeaders() * @throws IllegalStateException * @throws InvalidArgumentException */ - public function generate($fromGenerate = false) + public function generate(bool $fromGenerate = false): bool { - /* + /** * Get global namespace. */ $namespace = $this->checkDirectory(); - /* + /** * Check whether there are external dependencies. */ $externalDependencies = $this->config->get('external-dependencies'); - if (\is_array($externalDependencies)) { + if (is_array($externalDependencies)) { foreach ($externalDependencies as $dependencyNs => $location) { if (!file_exists($location)) { throw new CompilerException( @@ -589,24 +589,24 @@ public function generate($fromGenerate = false) } } - /* + /** * Round 1. pre-compile all files in memory */ $this->recursivePreCompile(str_replace('\\', \DIRECTORY_SEPARATOR, $namespace)); - if (!\count($this->files)) { + if (!count($this->files)) { throw new Exception( "Zephir files to compile couldn't be found. Did you add a first class to the extension?" ); } - /* + /** * Round 2. Check 'extends' and 'implements' dependencies */ foreach ($this->files as $compileFile) { $compileFile->checkDependencies($this); } - /* + /** * Sort the files by dependency ranking. */ $files = []; @@ -624,23 +624,23 @@ public function generate($fromGenerate = false) } $this->files = $files; - /* + /** * Convert C-constants into PHP constants. */ $constantsSources = $this->config->get('constants-sources'); - if (\is_array($constantsSources)) { + if (is_array($constantsSources)) { $this->loadConstantsSources($constantsSources); } - /* + /** * Set extension globals. */ $globals = $this->config->get('globals'); - if (\is_array($globals)) { + if (is_array($globals)) { $this->setExtensionGlobals($globals); } - /* + /** * Load function optimizers */ if (false === self::$loadedPrototypes) { @@ -648,13 +648,13 @@ public function generate($fromGenerate = false) FunctionCall::addOptimizerDir("{$optimizersPath}/FunctionCall"); $customOptimizersPaths = $this->config->get('optimizer-dirs'); - if (\is_array($customOptimizersPaths)) { + if (is_array($customOptimizersPaths)) { foreach ($customOptimizersPaths as $directory) { FunctionCall::addOptimizerDir(realpath($directory)); } } - /* + /** * Load additional extension prototypes. */ $prototypesPath = $this->resolvePrototypesPath(); @@ -676,9 +676,9 @@ public function generate($fromGenerate = false) * Load customer additional extension prototypes. */ $prototypeDirs = $this->config->get('prototype-dir'); - if (\is_array($prototypeDirs)) { + if (is_array($prototypeDirs)) { foreach ($prototypeDirs as $prototype => $prototypeDir) { - /* + /** * Check if the extension is installed */ if (!\extension_loaded($prototype)) { @@ -706,7 +706,7 @@ public function generate($fromGenerate = false) $hash = ''; foreach ($this->files as $compileFile) { - /* + /** * Only compile classes in the local extension, ignore external classes */ if (!$compileFile->isExternal()) { @@ -718,7 +718,7 @@ public function generate($fromGenerate = false) foreach ($classDefinition->getMethods() as $method) { $methods[] = '['.$method->getName().':'.implode('-', $method->getVisibility()).']'; if ($method->isInitializer() && $method->isStatic()) { - $this->internalInitializers[] = "\t".$method->getName().'(TSRMLS_C);'; + $this->internalInitializers[] = "\t".$method->getName().'();'; } } @@ -729,7 +729,7 @@ public function generate($fromGenerate = false) } } - /* + /** * Round 3.2. Compile anonymous classes */ foreach ($this->anonymousFiles as $compileFile) { @@ -754,7 +754,7 @@ public function generate($fromGenerate = false) * Round 3.3. Load extra C-sources. */ $extraSources = $this->config->get('extra-sources'); - if (\is_array($extraSources)) { + if (is_array($extraSources)) { $this->extraFiles = $extraSources; } else { $this->extraFiles = []; @@ -764,7 +764,7 @@ public function generate($fromGenerate = false) * Round 3.4. Load extra classes sources. */ $extraClasses = $this->config->get('extra-classes'); - if (\is_array($extraClasses)) { + if (is_array($extraClasses)) { foreach ($extraClasses as $value) { if (isset($value['source'])) { $this->extraFiles[] = $value['source']; @@ -777,7 +777,7 @@ public function generate($fromGenerate = false) */ $namespace = str_replace('\\', '_', $namespace); $extensionName = $this->config->get('extension-name'); - if (empty($extensionName) || !\is_string($extensionName)) { + if (empty($extensionName) || !is_string($extensionName)) { $extensionName = $namespace; } @@ -785,7 +785,7 @@ public function generate($fromGenerate = false) $needConfigure |= $this->createProjectFiles($extensionName); $needConfigure |= $this->checkIfPhpized(); - /* + /** * When a new file is added or removed we need to run configure again */ if (!$fromGenerate) { @@ -801,7 +801,7 @@ public function generate($fromGenerate = false) } } - /* + /** * Round 5. Generate concatenation functions */ $this->stringManager->genConcatCode(); @@ -821,85 +821,78 @@ public function generate($fromGenerate = false) * * @throws CompilerException|Exception */ - public function compile($development = false) + public function compile(bool $development = false): void { /** * Get global namespace. */ $namespace = str_replace('\\', '_', $this->checkDirectory()); $extensionName = $this->config->get('extension-name'); - if (empty($extensionName) || !\is_string($extensionName)) { + if (empty($extensionName) || !is_string($extensionName)) { $extensionName = $namespace; } - $needConfigure = $this->generate(); + if (is_windows()) { + // TODO(klay): Make this better. Looks like it is non standard Env. Var + exec('cd ext && %PHP_DEVPACK%\\phpize --clean', $output, $exit); - if ($needConfigure) { - if (is_windows()) { - // TODO(klay): Make this better. Looks like it is non standard Env. Var - exec('cd ext && %PHP_DEVPACK%\\phpize --clean', $output, $exit); + $releaseFolder = windows_release_dir(); + if (file_exists($releaseFolder)) { + exec('rd /s /q '.$releaseFolder, $output, $exit); + } - $releaseFolder = windows_release_dir(); - if (file_exists($releaseFolder)) { - exec('rd /s /q '.$releaseFolder, $output, $exit); - } - $this->logger->info('Preparing for PHP compilation...'); - // TODO(klay): Make this better. Looks like it is non standard Env. Var - exec('cd ext && %PHP_DEVPACK%\\phpize', $output, $exit); - - /** - * fix until patch hits all supported PHP builds. - * - * @see https://github.com/php/php-src/commit/9a3af83ee2aecff25fd4922ef67c1fb4d2af6201 - */ - $fixMarker = '/* zephir_phpize_fix */'; - - $configureFile = file_get_contents('ext\\configure.js'); - $configureFix = ["var PHP_ANALYZER = 'disabled';", "var PHP_PGO = 'no';", "var PHP_PGI = 'no';"]; - $hasChanged = false; - - if (false === strpos($configureFile, $fixMarker)) { - $configureFile = $fixMarker.PHP_EOL.implode(PHP_EOL, $configureFix).PHP_EOL.$configureFile; - $hasChanged = true; - } + $this->logger->info('Preparing for PHP compilation...'); + // TODO(klay): Make this better. Looks like it is non standard Env. Var + exec('cd ext && %PHP_DEVPACK%\\phpize', $output, $exit); - /* fix php's broken phpize patching ... */ - $marker = 'var build_dir = (dirname ? dirname : "").replace(new RegExp("^..\\\\\\\\"), "");'; - $pos = strpos($configureFile, $marker); - if (false !== $pos) { - $spMarker = 'if (MODE_PHPIZE) {'; - $sp = strpos($configureFile, $spMarker, $pos - 200); - if (false === $sp) { - throw new CompilerException('outofdate... phpize seems broken again'); - } - $configureFile = substr($configureFile, 0, $sp). - 'if (false) {'.substr($configureFile, $sp + \strlen($spMarker)); - $hasChanged = true; - } + /** + * fix until patch hits all supported PHP builds. + * + * @see https://github.com/php/php-src/commit/9a3af83ee2aecff25fd4922ef67c1fb4d2af6201 + */ + $fixMarker = '/* zephir_phpize_fix */'; - if ($hasChanged) { - file_put_contents('ext\\configure.js', $configureFile); - } + $configureFile = file_get_contents('ext\\configure.js'); + $configureFix = ["var PHP_ANALYZER = 'disabled';", "var PHP_PGO = 'no';", "var PHP_PGI = 'no';"]; + $hasChanged = false; - $this->logger->info('Preparing configuration file...'); - exec('cd ext && configure --enable-'.$extensionName); - } else { - exec('cd ext && make clean && phpize --clean', $output, $exit); + if (false === strpos($configureFile, $fixMarker)) { + $configureFile = $fixMarker.PHP_EOL.implode(PHP_EOL, $configureFix).PHP_EOL.$configureFile; + $hasChanged = true; + } - $this->logger->info('Preparing for PHP compilation...'); - exec('cd ext && phpize', $output, $exit); + /* fix php's broken phpize patching ... */ + $marker = 'var build_dir = (dirname ? dirname : "").replace(new RegExp("^..\\\\\\\\"), "");'; + $pos = strpos($configureFile, $marker); + if (false !== $pos) { + $spMarker = 'if (MODE_PHPIZE) {'; + $sp = strpos($configureFile, $spMarker, $pos - 200); + if (false === $sp) { + throw new CompilerException('outofdate... phpize seems broken again'); + } + $configureFile = substr($configureFile, 0, $sp). + 'if (false) {'.substr($configureFile, $sp + \strlen($spMarker)); + $hasChanged = true; + } - $this->logger->info('Preparing configuration file...'); + if ($hasChanged) { + file_put_contents('ext\\configure.js', $configureFile); + } - $gccFlags = $this->getGccFlags($development); + $this->logger->info('Preparing configuration file...'); + exec('cd ext && configure --enable-'.$extensionName); + } else { + exec('cd ext && make clean && phpize --clean', $output, $exit); + $this->logger->info('Preparing for PHP compilation...'); + exec('cd ext && phpize', $output, $exit); + $this->logger->info('Preparing configuration file...'); - exec( - 'cd ext && export CC="gcc" && export CFLAGS="'. - $gccFlags. - '" && ./configure --enable-'. - $extensionName - ); - } + exec( + 'cd ext && export CC="gcc" && export CFLAGS="'. + $this->getGccFlags($development). + '" && ./configure --enable-'. + $extensionName + ); } $currentDir = getcwd(); @@ -932,17 +925,13 @@ public function compile($development = false) * @throws ConfigException * @throws Exception */ - public function api(array $options = [], $fromGenerate = false) + public function api(array $options = [], bool $fromGenerate = false) { if (!$fromGenerate) { $this->generate(); } - $templatesPath = $this->templatesPath; - if (null === $templatesPath) { - // fallback - $templatesPath = \dirname(__DIR__).'/templates'; - } + $templatesPath = $this->templatesPath ?: dirname(__DIR__).'/templates'; $documentator = new Documentation($this->files, $this->config, $templatesPath, $options); $documentator->setLogger($this->logger); @@ -990,15 +979,13 @@ public function stubs(bool $fromGenerate = false) /** * Compiles and installs the extension. * - * TODO: Move to the separated installer - * * @param bool $development * * @throws Exception * @throws NotImplementedException * @throws CompilerException */ - public function install($development = false) + public function install(bool $development = false): void { // Get global namespace $namespace = str_replace('\\', '_', $this->checkDirectory()); @@ -1020,10 +1007,7 @@ public function install($development = false) unlink("{$currentDir}/ext/modules/{$namespace}.so"); } - $this->compile($development); - $this->logger->info('Installing...'); - $gccFlags = $this->getGccFlags($development); $command = strtr( @@ -1098,13 +1082,25 @@ public function createConfigFiles($project) $compiledHeaders = ['php_'.strtoupper($project).'.h']; } - /* + /** * Check extra-libs, extra-cflags, package-dependencies exists */ $extraLibs = $this->config->get('extra-libs'); $extraCflags = $this->config->get('extra-cflags'); $contentM4 = $this->generatePackageDependenciesM4($contentM4); + $buildDirs = []; + + foreach ($compiledFiles as $file) { + $dir = dirname($file); + + if (!in_array($dir, $buildDirs)) { + $buildDirs[] = $dir; + } + } + + asort($buildDirs); + /** * Generate config.m4. */ @@ -1113,11 +1109,12 @@ public function createConfigFiles($project) '%PROJECT_LOWER%' => strtolower($project), '%PROJECT_UPPER%' => strtoupper($project), '%PROJECT_CAMELIZE%' => ucfirst($project), - '%FILES_COMPILED%' => implode("\n\t", $compiledFiles), - '%HEADERS_COMPILED%' => implode(' ', $compiledHeaders), - '%EXTRA_FILES_COMPILED%' => implode("\n\t", $this->extraFiles), + '%FILES_COMPILED%' => implode("\n\t", $this->toUnixPaths($compiledFiles)), + '%HEADERS_COMPILED%' => implode(' ', $this->toUnixPaths($compiledHeaders)), + '%EXTRA_FILES_COMPILED%' => implode("\n\t", $this->toUnixPaths($this->extraFiles)), '%PROJECT_EXTRA_LIBS%' => $extraLibs, '%PROJECT_EXTRA_CFLAGS%' => $extraCflags, + '%PROJECT_BUILD_DIRS%' => implode(' ', $buildDirs), ]; foreach ($toReplace as $mark => $replace) { @@ -1247,7 +1244,7 @@ public function createConfigFiles($project) * * @return array */ - public function processExtensionGlobals($namespace) + public function processExtensionGlobals(string $namespace): array { $globalCode = ''; $globalStruct = ''; @@ -1258,7 +1255,7 @@ public function processExtensionGlobals($namespace) * Generate the extensions globals declaration. */ $globals = $this->config->get('globals'); - if (\is_array($globals)) { + if (is_array($globals)) { $structures = []; $variables = []; foreach ($globals as $name => $global) { @@ -1270,7 +1267,7 @@ public function processExtensionGlobals($namespace) } } - /* + /** * Process compound structures */ foreach ($structures as $structureName => $internalStructure) { @@ -1278,7 +1275,7 @@ public function processExtensionGlobals($namespace) throw new Exception("Struct name: '".$structureName."' contains invalid characters"); } - $structBuilder = new Code\Builder\Struct('_zephir_struct_'.$structureName, $structureName); + $structBuilder = new Struct('_zephir_struct_'.$structureName, $structureName); foreach ($internalStructure as $field => $global) { if (preg_match('/^[0-9a-zA-Z\_]$/', $field)) { throw new Exception("Struct field name: '".$field."' contains invalid characters"); @@ -1299,7 +1296,8 @@ public function processExtensionGlobals($namespace) $globalCode .= "\t".'zephir_struct_'.$structureName.' '. $structureName.';'.PHP_EOL.PHP_EOL; } - /* + + /** * Process single variables */ foreach ($variables as $name => $global) { @@ -1313,8 +1311,8 @@ public function processExtensionGlobals($namespace) $isModuleGlobal = (int) !empty($global['module']); $type = $global['type']; - // @todo Add support for 'string', 'hash' - // @todo Zephir\Optimizers\FunctionCall\GlobalsSetOptimizer + // TODO: Add support for 'string', 'hash' + // TODO: Zephir\Optimizers\FunctionCall\GlobalsSetOptimizer switch ($global['type']) { case 'boolean': case 'bool': @@ -1385,6 +1383,7 @@ public function processExtensionGlobals($namespace) } } } + $globalsDefault[0] = implode('', $globalsDefault[0]); $globalsDefault[1] = implode('', $globalsDefault[1]); @@ -1396,36 +1395,40 @@ public function processExtensionGlobals($namespace) * * @return string */ - public function processExtensionInfo() + public function processExtensionInfo(): string { $phpinfo = ''; $info = $this->config->get('info'); - if (\is_array($info)) { - foreach ($info as $table) { - $phpinfo .= "\t".'php_info_print_table_start();'.PHP_EOL; - if (isset($table['header'])) { - $headerArray = []; - foreach ($table['header'] as $header) { - $headerArray[] = '"'.htmlentities($header).'"'; - } + if (!is_array($info)) { + return $phpinfo; + } - $phpinfo .= "\t".'php_info_print_table_header('.\count($headerArray).', '. - implode(', ', $headerArray).');'.PHP_EOL; + foreach ($info as $table) { + $phpinfo .= "\t".'php_info_print_table_start();'.PHP_EOL; + if (isset($table['header'])) { + $headerArray = []; + foreach ($table['header'] as $header) { + $headerArray[] = '"'.htmlentities($header).'"'; } - if (isset($table['rows'])) { - foreach ($table['rows'] as $row) { - $rowArray = []; - foreach ($row as $field) { - $rowArray[] = '"'.htmlentities($field).'"'; - } - $phpinfo .= "\t".'php_info_print_table_row('.\count($rowArray).', '. - implode(', ', $rowArray).');'.PHP_EOL; + $phpinfo .= "\t".'php_info_print_table_header('. count($headerArray).', '. + implode(', ', $headerArray).');'.PHP_EOL; + } + + if (isset($table['rows'])) { + foreach ($table['rows'] as $row) { + $rowArray = []; + foreach ($row as $field) { + $rowArray[] = '"'.htmlentities($field).'"'; } + + $phpinfo .= "\t".'php_info_print_table_row('. count($rowArray).', '. + implode(', ', $rowArray).');'.PHP_EOL; } - $phpinfo .= "\t".'php_info_print_table_end();'.PHP_EOL; } + + $phpinfo .= "\t".'php_info_print_table_end();'.PHP_EOL; } return $phpinfo; @@ -1439,7 +1442,7 @@ public function processExtensionInfo() * * @return array */ - public function processCodeInjection(array $entries, $section = 'request') + public function processCodeInjection(array $entries, string $section = 'request'): array { $codes = []; $includes = []; @@ -1449,6 +1452,7 @@ public function processCodeInjection(array $entries, $section = 'request') if (isset($entry['code']) && !empty($entry['code'])) { $codes[] = $entry['code'].';'; } + if (isset($entry['include']) && !empty($entry['include'])) { $includes[] = '#include "'.$entry['include'].'"'; } @@ -1464,7 +1468,7 @@ public function processCodeInjection(array $entries, $section = 'request') * @param string $namespace * @param string $location */ - public function addExternalDependency($namespace, $location) + public function addExternalDependency(string $namespace, string $location): void { $this->externalDependencies[$namespace] = $location; } @@ -1640,7 +1644,7 @@ public function createProjectFiles($project) * Check if there are module/request/global destructors. */ $destructors = $this->config->get('destructors'); - if (\is_array($destructors)) { + if (is_array($destructors)) { $invokeRequestDestructors = $this->processCodeInjection($destructors, 'request'); $includes .= PHP_EOL.$invokeRequestDestructors[0]; $reqDestructors = $invokeRequestDestructors[1]; @@ -1662,7 +1666,7 @@ public function createProjectFiles($project) * Check if there are module/request/global initializers. */ $initializers = $this->config->get('initializers'); - if (\is_array($initializers)) { + if (is_array($initializers)) { $invokeRequestInitializers = $this->processCodeInjection($initializers, 'request'); $includes .= PHP_EOL.$invokeRequestInitializers[0]; $reqInitializers = $invokeRequestInitializers[1]; @@ -1680,7 +1684,7 @@ public function createProjectFiles($project) * Append extra details. */ $extraClasses = $this->config->get('extra-classes'); - if (\is_array($extraClasses)) { + if (is_array($extraClasses)) { foreach ($extraClasses as $value) { if (isset($value['init'])) { $completeClassInits[] = 'ZEPHIR_INIT('.$value['init'].')'; @@ -1776,7 +1780,7 @@ public function createProjectFiles($project) * Append extra headers. */ $extraClasses = $this->config->get('extra-classes'); - if (\is_array($extraClasses)) { + if (is_array($extraClasses)) { foreach ($extraClasses as $value) { if (isset($value['header'])) { $include = '#include "'.$value['header'].'"'; @@ -1888,7 +1892,7 @@ public function generateFunctionInformation() * * @return bool */ - public function checkIfPhpized() + public function checkIfPhpized(): bool { return !file_exists('ext/Makefile'); } @@ -1900,7 +1904,7 @@ public function checkIfPhpized() * * @return string */ - public static function getShortUserPath($path) + public static function getShortUserPath(string $path): string { return str_replace('\\', '/', str_replace(getcwd().\DIRECTORY_SEPARATOR, '', $path)); } @@ -1917,7 +1921,7 @@ public static function getShortUserPath($path) public function generatePackageDependenciesM4($contentM4) { $packageDependencies = $this->config->get('package-dependencies'); - if (\is_array($packageDependencies)) { + if (is_array($packageDependencies)) { $pkgconfigM4 = $this->backend->getTemplateFileContents('pkg-config.m4'); $pkgconfigCheckM4 = $this->backend->getTemplateFileContents('pkg-config-check.m4'); $extraCFlags = ''; @@ -1928,7 +1932,7 @@ public function generatePackageDependenciesM4($contentM4) $operator = '='; $operatorCmd = '--exact-version'; $ar = explode('=', $version); - if (1 == \count($ar)) { + if (1 == count($ar)) { if ('*' == $version) { $version = '0.0.0'; $operator = '>='; @@ -2050,7 +2054,7 @@ private function recursivePreCompile($path) /** * Copies the base kernel to the extension destination. * - * @todo + * TODO: * * @deprecated * @@ -2156,7 +2160,7 @@ private function processAddSources($sources, $project) { $groupSources = []; foreach ($sources as $source) { - $dirName = str_replace(\DIRECTORY_SEPARATOR, '/', \dirname($source)); + $dirName = str_replace(\DIRECTORY_SEPARATOR, '/', dirname($source)); if (!isset($groupSources[$dirName])) { $groupSources[$dirName] = []; } @@ -2187,7 +2191,7 @@ private function assertRequiredExtensionsIsPresent() foreach ($extensionRequires as $key => $value) { // TODO: We'll use this as an object in the future. // Right not it should be a string. - if (!\is_string($value)) { + if (!is_string($value)) { continue; } if (false === \extension_loaded($value)) { @@ -2282,7 +2286,7 @@ private function checkDirectory() throw new Exception('Extension namespace cannot be loaded'); } - if (!\is_string($namespace)) { + if (!is_string($namespace)) { throw new Exception('Extension namespace is invalid'); } @@ -2322,11 +2326,21 @@ private function getGccVersion() $lines = $this->filesystem->file('gcc-version'); $lines = array_filter($lines); - $lastLine = $lines[\count($lines) - 1]; + $lastLine = $lines[count($lines) - 1]; if (preg_match('/\d+\.\d+\.\d+/', $lastLine, $matches)) { return $matches[0]; } return '0.0.0'; } + + private function toUnixPaths(array $paths): array + { + return array_map( + static function (string $path): string { + return str_replace(\DIRECTORY_SEPARATOR, '/', $path); + }, + $paths + ); + } } diff --git a/Library/Compiler/CompilerFileFactory.php b/Library/Compiler/CompilerFileFactory.php index 6118dd7189..e65d41f7cb 100644 --- a/Library/Compiler/CompilerFileFactory.php +++ b/Library/Compiler/CompilerFileFactory.php @@ -1,6 +1,6 @@ diff --git a/Library/Compiler/FileInterface.php b/Library/Compiler/FileInterface.php index 62d1058f1a..6485c41d01 100644 --- a/Library/Compiler/FileInterface.php +++ b/Library/Compiler/FileInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/CompilerFile.php b/Library/CompilerFile.php index a03cd219ac..8c84f719e4 100644 --- a/Library/CompilerFile.php +++ b/Library/CompilerFile.php @@ -1,6 +1,6 @@ @@ -20,6 +20,8 @@ use Zephir\Exception\ParseException; use Zephir\FileSystem\FileSystemInterface; +use function strlen; + /** * Zephir\CompilerFile. * @@ -110,8 +112,6 @@ public function __construct( } /** - * @internal - * * @param string $filePath */ public function setFilePath($filePath) @@ -120,8 +120,6 @@ public function setFilePath($filePath) } /** - * @internal - * * @param string $className */ public function setClassName($className) @@ -519,22 +517,25 @@ public function preCompile(Compiler $compiler) /** * Traverse the top level statements looking for the namespace. */ - $namespace = null; + $namespace = ''; foreach ($ir as $topStatement) { switch ($topStatement['type']) { case 'namespace': - if (null !== $namespace) { + if (strlen($namespace) > 0) { throw new CompilerException('The namespace must be defined just one time', $topStatement); } + $namespace = $topStatement['name']; $this->namespace = $namespace; + if (!preg_match('/^[A-Z]/', $namespace)) { throw new CompilerException( "Namespace '{$namespace}' must be in camelized-form", $topStatement ); } + break; case 'cblock': @@ -557,7 +558,7 @@ public function preCompile(Compiler $compiler) $returnType = $topStatement['return-type']; } - // Just do the precompilation of the function + // Just do the pre-compilation of the function $functionDefinition = new FunctionDefinition( $namespace, $topStatement['name'], @@ -755,8 +756,9 @@ public function checkDependencies(Compiler $compiler) if ($compiler->isBundledInterface($interface)) { $interfaceDefinitions[$interface] = $compiler->getInternalClassDefinition($interface); } else { - $extendedDefinition = new ClassDefinitionRuntime($extendedClass); - $classDefinition->setExtendsClassDefinition($extendedDefinition); + if ($extendedClass !== null) { + $classDefinition->setExtendsClassDefinition(new ClassDefinitionRuntime($extendedClass)); + } $this->logger->warning( sprintf( diff --git a/Library/CompilerFileAnonymous.php b/Library/CompilerFileAnonymous.php index 70399b8dd2..08554ecda9 100644 --- a/Library/CompilerFileAnonymous.php +++ b/Library/CompilerFileAnonymous.php @@ -1,6 +1,6 @@ diff --git a/Library/Config.php b/Library/Config.php index 63a05f5909..d2e0bcd678 100644 --- a/Library/Config.php +++ b/Library/Config.php @@ -1,6 +1,6 @@ diff --git a/Library/ConfigException.php b/Library/ConfigException.php index 25c9dc127c..4287e6b69d 100644 --- a/Library/ConfigException.php +++ b/Library/ConfigException.php @@ -1,6 +1,6 @@ diff --git a/Library/Console/Application.php b/Library/Console/Application.php index 42443f6c81..d8674b38db 100644 --- a/Library/Console/Application.php +++ b/Library/Console/Application.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console; use Exception; @@ -40,7 +42,7 @@ public function __construct() $this->setupEventDispatcher(); } - protected function setupEventDispatcher() + protected function setupEventDispatcher(): void { $dispatcher = new EventDispatcher(); $consoleErrorListener = new ConsoleErrorListener(); @@ -64,11 +66,11 @@ public function getHelp() } /** - * {@inheritdoc} + * Get Version Number * * @return string The application version */ - public function getVernum() + public function getVerNum(): string { $version = explode('-', parent::getVersion()); $version = explode('.', $version[0]); @@ -81,7 +83,7 @@ public function getVernum() * * @return string The application version */ - public function getVersion() + public function getVersion(): string { $version = explode('-', parent::getVersion()); @@ -97,7 +99,7 @@ public function getVersion() * * @return string The long application version */ - public function getLongVersion() + public function getLongVersion(): string { $version = explode('-', $this->getVersion()); $commit = "({$version[1]})"; @@ -131,7 +133,7 @@ public function doRun(InputInterface $input, OutputInterface $output) } if (true === $input->hasParameterOption(['--vernum'], true)) { - $output->writeln($this->getVernum()); + $output->writeln($this->getVerNum()); return 0; } diff --git a/Library/Console/Command/Command.php b/Library/Console/Command/AbstractCommand.php similarity index 79% rename from Library/Console/Command/Command.php rename to Library/Console/Command/AbstractCommand.php index 71f146bf33..cc43e6120e 100644 --- a/Library/Console/Command/Command.php +++ b/Library/Console/Command/AbstractCommand.php @@ -1,6 +1,6 @@ @@ -9,17 +9,17 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; -use Symfony\Component\Console\Command\Command as BaseCommand; +use Symfony\Component\Console\Command\Command; -abstract class Command extends BaseCommand +abstract class AbstractCommand extends Command { use RemoveOptionsTrait; /** - * {@inheritdoc} - * * @param bool $mergeArgs */ public function mergeApplicationDefinition($mergeArgs = true) diff --git a/Library/Console/Command/ApiCommand.php b/Library/Console/Command/ApiCommand.php index a9aed804d3..ebe32e9d0c 100644 --- a/Library/Console/Command/ApiCommand.php +++ b/Library/Console/Command/ApiCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Exception\InvalidArgumentException; @@ -19,17 +21,19 @@ use Zephir\Compiler; use Zephir\Config; +use function in_array; + /** - * Zephir\Console\Command\ApiCommand. + * API Command * * Generates a HTML API based on the classes exposed in the extension. */ -final class ApiCommand extends Command +final class ApiCommand extends AbstractCommand { use ZflagsAwareTrait; - private $compiler; - private $config; + private Compiler $compiler; + private Config $config; public function __construct(Compiler $compiler, Config $config) { @@ -61,7 +65,7 @@ protected function execute(InputInterface $input, OutputInterface $output) return 0; } - protected function getDefaultOptions() + protected function getDefaultOptions(): array { return [ 'path' => null, @@ -71,14 +75,14 @@ protected function getDefaultOptions() ]; } - protected function sanitizeOptionsFromInput(InputInterface $input) + protected function sanitizeOptionsFromInput(InputInterface $input): array { $defaults = $this->getDefaultOptions(); $options = array_filter($input->getOptions(), function ($v, $k) use ($defaults) { $allowedOpts = array_keys($defaults); - return \in_array($k, $allowedOpts, true) && null !== $v; + return in_array($k, $allowedOpts, true) && null !== $v; }, ARRAY_FILTER_USE_BOTH); foreach ($options as $option => $value) { @@ -93,7 +97,7 @@ protected function sanitizeOptionsFromInput(InputInterface $input) return $options; } - protected function createDefinition() + protected function createDefinition(): InputDefinition { return new InputDefinition( [ diff --git a/Library/Console/Command/BuildCommand.php b/Library/Console/Command/BuildCommand.php index 4a136353fa..979d002dab 100644 --- a/Library/Console/Command/BuildCommand.php +++ b/Library/Console/Command/BuildCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\ArrayInput; @@ -19,11 +21,11 @@ use Symfony\Component\Console\Style\SymfonyStyle; /** - * Zephir\Console\Command\BuildCommand. + * Build Command * * Generates/Compiles/Installs a Zephir extension. */ -final class BuildCommand extends Command +final class BuildCommand extends AbstractCommand { use DevelopmentModeAwareTrait; use ZflagsAwareTrait; @@ -58,7 +60,7 @@ protected function execute(InputInterface $input, OutputInterface $output) } } - protected function createDefinition() + protected function createDefinition(): InputDefinition { return new InputDefinition( [ @@ -74,11 +76,9 @@ protected function createDefinition() } /** - * {@inheritdoc} - * * @return string */ - protected function getDevelopmentModeHelp() + protected function getDevelopmentModeHelp(): string { return <<<'EOT' This is a meta command that just calls the generate, compile and install commands. diff --git a/Library/Console/Command/CleanCommand.php b/Library/Console/Command/CleanCommand.php index b4e8ed7213..6e1578dcf7 100644 --- a/Library/Console/Command/CleanCommand.php +++ b/Library/Console/Command/CleanCommand.php @@ -1,6 +1,6 @@ @@ -9,8 +9,11 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; +use Exception; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; @@ -23,9 +26,9 @@ * * Cleans any object files created by the extension. */ -final class CleanCommand extends Command +final class CleanCommand extends AbstractCommand { - private $filesystem; + private FileSystemInterface $filesystem; public function __construct(FileSystemInterface $filesystem) { @@ -69,11 +72,7 @@ protected function execute(InputInterface $input, OutputInterface $output) ); return 1; - } catch (\Exception $e) { - $io->getErrorStyle()->error($e->getMessage()); - - return 1; - } catch (\Throwable $e) { + } catch (Exception | \Throwable $e) { $io->getErrorStyle()->error($e->getMessage()); return 1; diff --git a/Library/Console/Command/CompileCommand.php b/Library/Console/Command/CompileCommand.php index 1492f7c75c..ff0be65bd2 100644 --- a/Library/Console/Command/CompileCommand.php +++ b/Library/Console/Command/CompileCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\InputDefinition; @@ -20,16 +22,16 @@ use Zephir\Exception\CompilerException; /** - * Zephir\Console\Command\CompileCommand. + * Compile Command * * Compile a Zephir extension. */ -final class CompileCommand extends Command +final class CompileCommand extends AbstractCommand { use DevelopmentModeAwareTrait; use ZflagsAwareTrait; - private $compiler; + private Compiler $compiler; public function __construct(Compiler $compiler) { @@ -67,7 +69,7 @@ protected function execute(InputInterface $input, OutputInterface $output) return 0; } - protected function createDefinition() + protected function createDefinition(): InputDefinition { return new InputDefinition( [ @@ -83,11 +85,9 @@ protected function createDefinition() } /** - * {@inheritdoc} - * * @return string */ - protected function getDevelopmentModeHelp() + protected function getDevelopmentModeHelp(): string { return <<--dev option will force compiling the extension in development mode diff --git a/Library/Console/Command/DevelopmentModeAwareTrait.php b/Library/Console/Command/DevelopmentModeAwareTrait.php index c5127842c8..c9054ac077 100644 --- a/Library/Console/Command/DevelopmentModeAwareTrait.php +++ b/Library/Console/Command/DevelopmentModeAwareTrait.php @@ -1,6 +1,6 @@ @@ -9,13 +9,14 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\InputInterface; -/** - * Zephir\Console\Command\DevelopmentModeAwareTrait. - */ +use const PHP_DEBUG; + trait DevelopmentModeAwareTrait { /** diff --git a/Library/Console/Command/FullCleanCommand.php b/Library/Console/Command/FullCleanCommand.php index 7f85b0f6fb..c4af1b27ea 100644 --- a/Library/Console/Command/FullCleanCommand.php +++ b/Library/Console/Command/FullCleanCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\ArrayInput; @@ -16,20 +18,16 @@ use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Console\Style\SymfonyStyle; use Zephir\Exception\FileSystemException; + use function Zephir\is_windows; /** - * Zephir\Console\Command\FullCleanCommand. + * Full Clean Command * * Cleans any object files created by the extension (including files generated by phpize). */ -final class FullCleanCommand extends Command +final class FullCleanCommand extends AbstractCommand { - public function __construct() - { - parent::__construct(); - } - protected function configure() { $this diff --git a/Library/Console/Command/GenerateCommand.php b/Library/Console/Command/GenerateCommand.php index 472faf51a0..c08c863245 100644 --- a/Library/Console/Command/GenerateCommand.php +++ b/Library/Console/Command/GenerateCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\InputDefinition; @@ -20,17 +22,18 @@ use Zephir\Exception; use Zephir\Exception\ExceptionInterface; use Zephir\Exception\InvalidArgumentException; +use function extension_loaded; /** - * Zephir\Console\Command\GenerateCommand. + * Generate Command * * Generates C code from the Zephir code without compiling it. */ -final class GenerateCommand extends Command +final class GenerateCommand extends AbstractCommand { use ZflagsAwareTrait; - private $compiler; + private Compiler $compiler; public function __construct(Compiler $compiler) { @@ -52,7 +55,7 @@ protected function execute(InputInterface $input, OutputInterface $output) { $io = new SymfonyStyle($input, $output); - if (\extension_loaded('timecop') && 1 == ini_get('timecop.func_override')) { + if (extension_loaded('timecop') && 1 == ini_get('timecop.func_override')) { $io->getErrorStyle()->warning( << @@ -9,8 +9,11 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; +use DirectoryIterator; use Psr\Log\LoggerInterface; use Symfony\Component\Console\Exception\RuntimeException; use Symfony\Component\Console\Input\InputArgument; @@ -21,16 +24,25 @@ use Zephir\BaseBackend; use Zephir\Config; +use function chdir; +use function extension_loaded; +use function is_dir; +use function is_readable; +use function mkdir; +use function preg_match; + +use const DIRECTORY_SEPARATOR; + /** - * Zephir\Console\Command\InitCommand. + * Init Command * * Initializes a Zephir extension. */ -final class InitCommand extends Command +final class InitCommand extends AbstractCommand { - private $backend; - private $config; - private $logger; + private BaseBackend $backend; + private Config $config; + private LoggerInterface $logger; public function __construct(BaseBackend $backend, Config $config, LoggerInterface $logger) { @@ -55,8 +67,8 @@ protected function execute(InputInterface $input, OutputInterface $output) $namespace = $this->sanitizeNamespace($input->getArgument('namespace')); // Tell the user the name could be reserved by another extension - if (\extension_loaded($namespace)) { - $this->logger->error('This extension can have conflicts with an existing loaded extension'); + if (extension_loaded($namespace)) { + $this->logger->warning('This extension can have conflicts with an existing loaded extension'); } $this->config->set('namespace', $namespace); @@ -102,7 +114,7 @@ protected function createDefinition(): InputDefinition ); } - private function sanitizeNamespace($namespace) + private function sanitizeNamespace(string $namespace): string { // Prevent "" namespace if (empty($namespace)) { @@ -122,17 +134,17 @@ private function sanitizeNamespace($namespace) /** * Copies the base kernel to the extension destination. * - * @param $src - * @param $dst - * @param string $pattern - * @param mixed $callback + * @param string $src + * @param string $dst + * @param string|null $pattern + * @param string $callback * * @return bool */ - private function recursiveProcess($src, $dst, $pattern = null, $callback = 'copy'): bool + private function recursiveProcess(string $src, string $dst, ?string $pattern = null, string $callback = 'copy'): bool { $success = true; - $iterator = new \DirectoryIterator($src); + $iterator = new DirectoryIterator($src); foreach ($iterator as $item) { $pathName = $item->getPathname(); @@ -145,13 +157,13 @@ private function recursiveProcess($src, $dst, $pattern = null, $callback = 'copy if ($item->isDir()) { if ('.' != $fileName && '..' != $fileName && '.libs' != $fileName) { - if (!is_dir($dst.\DIRECTORY_SEPARATOR.$fileName)) { - mkdir($dst.\DIRECTORY_SEPARATOR.$fileName, 0755, true); + if (!is_dir($dst. DIRECTORY_SEPARATOR.$fileName)) { + mkdir($dst. DIRECTORY_SEPARATOR.$fileName, 0755, true); } - $this->recursiveProcess($pathName, $dst.\DIRECTORY_SEPARATOR.$fileName, $pattern, $callback); + $this->recursiveProcess($pathName, $dst. DIRECTORY_SEPARATOR.$fileName, $pattern, $callback); } - } elseif (!$pattern || ($pattern && 1 === preg_match($pattern, $fileName))) { - $path = $dst.\DIRECTORY_SEPARATOR.$fileName; + } elseif ($pattern === null || 1 === preg_match($pattern, $fileName)) { + $path = $dst. DIRECTORY_SEPARATOR.$fileName; $success = $success && $callback($pathName, $path); } } diff --git a/Library/Console/Command/InstallCommand.php b/Library/Console/Command/InstallCommand.php index 9da08fd849..0d8b6d0037 100644 --- a/Library/Console/Command/InstallCommand.php +++ b/Library/Console/Command/InstallCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\InputInterface; @@ -21,18 +23,20 @@ use Zephir\Exception\CompilerException; use Zephir\Exception\NotImplementedException; +use function extension_loaded; + /** - * Zephir\Console\Command\InstallCommand. + * Install Command * * Installs the extension in the extension directory. */ -final class InstallCommand extends Command +final class InstallCommand extends AbstractCommand { use DevelopmentModeAwareTrait; use ZflagsAwareTrait; - private $compiler; - private $config; + private Compiler $compiler; + private Config $config; public function __construct(Compiler $compiler, Config $config) { @@ -64,11 +68,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $io->getErrorStyle()->note($e->getMessage()); return 0; - } catch (CompilerException $e) { - $io->getErrorStyle()->error($e->getMessage()); - - return 1; - } catch (Exception $e) { + } catch (CompilerException | Exception $e) { $io->getErrorStyle()->error($e->getMessage()); return 1; @@ -77,7 +77,7 @@ protected function execute(InputInterface $input, OutputInterface $output) $success = ['Extension installed.']; $namespace = $this->config->get('namespace'); - if (!\extension_loaded($namespace)) { + if (!extension_loaded($namespace)) { $success[] = sprintf('Add "extension=%s.so" to your php.ini', $namespace); } @@ -88,11 +88,9 @@ protected function execute(InputInterface $input, OutputInterface $output) } /** - * {@inheritdoc} - * * @return string */ - protected function getDevelopmentModeHelp() + protected function getDevelopmentModeHelp(): string { return <<--dev option will try installing the extension in development mode diff --git a/Library/Console/Command/ListCommand.php b/Library/Console/Command/ListCommand.php index 5991d314fd..01c28dc8f0 100644 --- a/Library/Console/Command/ListCommand.php +++ b/Library/Console/Command/ListCommand.php @@ -1,6 +1,6 @@ @@ -9,12 +9,14 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Command\ListCommand as Command; /** - * Zephir\Console\Command\ListCommand. + * List Command * * Displays the list of all available commands for the application. */ diff --git a/Library/Console/Command/RemoveOptionsTrait.php b/Library/Console/Command/RemoveOptionsTrait.php index 87dd85f799..c362fe5930 100644 --- a/Library/Console/Command/RemoveOptionsTrait.php +++ b/Library/Console/Command/RemoveOptionsTrait.php @@ -1,6 +1,6 @@ @@ -9,20 +9,25 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\InputDefinition; use Symfony\Component\Console\Input\InputOption; +use function array_filter; +use function in_array; + trait RemoveOptionsTrait { - protected function removeOptions(array $names) + protected function removeOptions(array $names): void { /** @var InputDefinition $definition */ $definition = $this->getDefinition(); $filtered = array_filter($definition->getOptions(), function (InputOption $option) use ($names) { - return !\in_array($option->getName(), $names, true); + return !in_array($option->getName(), $names, true); }); $definition->setOptions($filtered); diff --git a/Library/Console/Command/StubsCommand.php b/Library/Console/Command/StubsCommand.php index f4570f3ea9..6e0d6602ae 100644 --- a/Library/Console/Command/StubsCommand.php +++ b/Library/Console/Command/StubsCommand.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; use Symfony\Component\Console\Input\InputDefinition; @@ -20,15 +22,15 @@ use Zephir\Exception\ExceptionInterface; /** - * Zephir\Console\Command\StubsCommand. + * Stubs Command * * Generates stubs that can be used in a PHP IDE. */ -final class StubsCommand extends Command +final class StubsCommand extends AbstractCommand { use ZflagsAwareTrait; - private $compiler; + private Compiler $compiler; public function __construct(Compiler $compiler) { @@ -62,7 +64,7 @@ protected function execute(InputInterface $input, OutputInterface $output) return 0; } - protected function createDefinition() + protected function createDefinition(): InputDefinition { return new InputDefinition( [ diff --git a/Library/Console/Command/ZflagsAwareTrait.php b/Library/Console/Command/ZflagsAwareTrait.php index 3566b66162..8cf1420107 100644 --- a/Library/Console/Command/ZflagsAwareTrait.php +++ b/Library/Console/Command/ZflagsAwareTrait.php @@ -1,6 +1,6 @@ @@ -9,11 +9,10 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Console\Command; -/** - * Zephir\Console\Command\ZflagsAwareTrait. - */ trait ZflagsAwareTrait { /** diff --git a/Library/DependencyInjection/CompilerPass/CollectCommandsToApplicationCompilerPass.php b/Library/DependencyInjection/CompilerPass/CollectCommandsToApplicationCompilerPass.php index d6953f1d74..c70f721fa8 100644 --- a/Library/DependencyInjection/CompilerPass/CollectCommandsToApplicationCompilerPass.php +++ b/Library/DependencyInjection/CompilerPass/CollectCommandsToApplicationCompilerPass.php @@ -1,6 +1,6 @@ diff --git a/Library/DependencyInjection/ContainerFactory.php b/Library/DependencyInjection/ContainerFactory.php index 7b6cba68cf..20fe40ff0a 100644 --- a/Library/DependencyInjection/ContainerFactory.php +++ b/Library/DependencyInjection/ContainerFactory.php @@ -1,6 +1,6 @@ diff --git a/Library/DependencyInjection/ZephirKernel.php b/Library/DependencyInjection/ZephirKernel.php index 38935db2f0..cdd35b019f 100644 --- a/Library/DependencyInjection/ZephirKernel.php +++ b/Library/DependencyInjection/ZephirKernel.php @@ -1,6 +1,6 @@ @@ -9,26 +9,30 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\DependencyInjection; -use const DIRECTORY_SEPARATOR; use Exception; use Oneup\FlysystemBundle\OneupFlysystemBundle; use RuntimeException; use Symfony\Bundle\MonologBundle\MonologBundle; use Symfony\Component\Config\Loader\LoaderInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\HttpKernel\Bundle\BundleInterface; use Symfony\Component\HttpKernel\Kernel; use Throwable; use Zephir\DependencyInjection\CompilerPass\CollectCommandsToApplicationCompilerPass; +use Zephir\Zephir; + +use function dirname; use function Zephir\is_macos; use function Zephir\is_windows; -use Zephir\Zephir; + +use const DIRECTORY_SEPARATOR; final class ZephirKernel extends Kernel { - private $extraConfigFiles; + private array $extraConfigFiles; private $startedDir; /** @@ -38,20 +42,18 @@ final class ZephirKernel extends Kernel * @param bool $debug Whether to enable debugging or not * @param string[] $configFiles Optional Zephir configuration files */ - public function __construct($environment, $debug, array $configFiles = []) + public function __construct(string $environment, bool $debug, array $configFiles = []) { - $this->extraConfigFiles = $configFiles; $this->startedDir = getcwd(); + $this->extraConfigFiles = $configFiles; parent::__construct($environment, $debug); } /** - * {@inheritdoc} - * - * @return BundleInterface[]|iterable + * @return array */ - public function registerBundles() + public function registerBundles(): array { return [ new MonologBundle(), @@ -76,8 +78,6 @@ public function registerContainerConfiguration(LoaderInterface $loader) } /** - * {@inheritdoc} - * * @return string */ public function getCacheDir(): string @@ -165,7 +165,7 @@ public function getLogDir(): string */ public function getProjectDir(): string { - return \dirname(__DIR__, 2); + return dirname(__DIR__, 2); } /** @@ -175,7 +175,7 @@ public function getProjectDir(): string */ public function getRootDir(): string { - return \dirname(__DIR__); + return dirname(__DIR__); } /** @@ -191,11 +191,11 @@ public function getStartedDir(): string /** * {@inheritdoc} * - * @param ContainerBuilder $containerBuilder + * @param ContainerBuilder $container */ - protected function build(ContainerBuilder $containerBuilder) + protected function build(ContainerBuilder $container) { - $containerBuilder->addCompilerPass(new CollectCommandsToApplicationCompilerPass()); + $container->addCompilerPass(new CollectCommandsToApplicationCompilerPass()); } /** diff --git a/Library/DependencyMap.php b/Library/DependencyMap.php index 90e89b553d..d41bb4d5e8 100644 --- a/Library/DependencyMap.php +++ b/Library/DependencyMap.php @@ -1,6 +1,6 @@ diff --git a/Library/Detectors/ForValueUseDetector.php b/Library/Detectors/ForValueUseDetector.php index 23fe214007..7e76e4084d 100644 --- a/Library/Detectors/ForValueUseDetector.php +++ b/Library/Detectors/ForValueUseDetector.php @@ -1,6 +1,6 @@ diff --git a/Library/Detectors/ReadDetector.php b/Library/Detectors/ReadDetector.php index 6232bc431d..ede40e043b 100644 --- a/Library/Detectors/ReadDetector.php +++ b/Library/Detectors/ReadDetector.php @@ -1,6 +1,6 @@ diff --git a/Library/Detectors/WriteDetector.php b/Library/Detectors/WriteDetector.php index a899690cd8..d2e93c8e1c 100644 --- a/Library/Detectors/WriteDetector.php +++ b/Library/Detectors/WriteDetector.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation.php b/Library/Documentation.php index 7b0d597f4e..416f83b712 100644 --- a/Library/Documentation.php +++ b/Library/Documentation.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Annotation.php b/Library/Documentation/Annotation.php index 968c9159e2..7e0231b45d 100644 --- a/Library/Documentation/Annotation.php +++ b/Library/Documentation/Annotation.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Annotation/Link.php b/Library/Documentation/Annotation/Link.php index cb83f4437e..8c40a747f5 100644 --- a/Library/Documentation/Annotation/Link.php +++ b/Library/Documentation/Annotation/Link.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Annotation/ReturnAnnotation.php b/Library/Documentation/Annotation/ReturnAnnotation.php index 35ead8467e..8c69583da0 100644 --- a/Library/Documentation/Annotation/ReturnAnnotation.php +++ b/Library/Documentation/Annotation/ReturnAnnotation.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Annotation/See.php b/Library/Documentation/Annotation/See.php index f731b15cc1..4fac67b8bc 100644 --- a/Library/Documentation/Annotation/See.php +++ b/Library/Documentation/Annotation/See.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Docblock.php b/Library/Documentation/Docblock.php index d0d7310012..f6ebd296de 100644 --- a/Library/Documentation/Docblock.php +++ b/Library/Documentation/Docblock.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/DocblockParser.php b/Library/Documentation/DocblockParser.php index d3b3b34e86..a02364f100 100644 --- a/Library/Documentation/DocblockParser.php +++ b/Library/Documentation/DocblockParser.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/ClassFile.php b/Library/Documentation/File/ClassFile.php index bfbebfb2e0..a4ff7244df 100644 --- a/Library/Documentation/File/ClassFile.php +++ b/Library/Documentation/File/ClassFile.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/ClassesFile.php b/Library/Documentation/File/ClassesFile.php index 434a57dbc9..4035b1dfe5 100644 --- a/Library/Documentation/File/ClassesFile.php +++ b/Library/Documentation/File/ClassesFile.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/IndexFile.php b/Library/Documentation/File/IndexFile.php index a4322d2769..a90f729b28 100644 --- a/Library/Documentation/File/IndexFile.php +++ b/Library/Documentation/File/IndexFile.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/NamespaceFile.php b/Library/Documentation/File/NamespaceFile.php index ef32337b9d..9eb3f21438 100644 --- a/Library/Documentation/File/NamespaceFile.php +++ b/Library/Documentation/File/NamespaceFile.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/NamespacesFile.php b/Library/Documentation/File/NamespacesFile.php index 46e9f3cfa4..1ac54c9861 100644 --- a/Library/Documentation/File/NamespacesFile.php +++ b/Library/Documentation/File/NamespacesFile.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/Sitemap.php b/Library/Documentation/File/Sitemap.php index 20b53d2a4a..b4863c002c 100644 --- a/Library/Documentation/File/Sitemap.php +++ b/Library/Documentation/File/Sitemap.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/File/SourceFile.php b/Library/Documentation/File/SourceFile.php index 9746c4d58d..37e03662db 100644 --- a/Library/Documentation/File/SourceFile.php +++ b/Library/Documentation/File/SourceFile.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/FileInterface.php b/Library/Documentation/FileInterface.php index be8ca7a3ea..1080e5a587 100644 --- a/Library/Documentation/FileInterface.php +++ b/Library/Documentation/FileInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/NamespaceAccessor.php b/Library/Documentation/NamespaceAccessor.php index 254ce75510..ca49af220b 100644 --- a/Library/Documentation/NamespaceAccessor.php +++ b/Library/Documentation/NamespaceAccessor.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/NamespaceHelper.php b/Library/Documentation/NamespaceHelper.php index a335bca467..37544591bd 100644 --- a/Library/Documentation/NamespaceHelper.php +++ b/Library/Documentation/NamespaceHelper.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Template.php b/Library/Documentation/Template.php index 0e53db4007..19e893ce55 100644 --- a/Library/Documentation/Template.php +++ b/Library/Documentation/Template.php @@ -1,6 +1,6 @@ diff --git a/Library/Documentation/Theme.php b/Library/Documentation/Theme.php index b5a3f8b12c..797ecc1b21 100644 --- a/Library/Documentation/Theme.php +++ b/Library/Documentation/Theme.php @@ -1,6 +1,6 @@ diff --git a/Library/EventListener/ConsoleErrorListener.php b/Library/EventListener/ConsoleErrorListener.php index b5658c88d1..77d3c81e9d 100644 --- a/Library/EventListener/ConsoleErrorListener.php +++ b/Library/EventListener/ConsoleErrorListener.php @@ -1,6 +1,6 @@ diff --git a/Library/EventsManager.php b/Library/EventsManager.php index f7ce278130..6db0dff1e4 100644 --- a/Library/EventsManager.php +++ b/Library/EventsManager.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception.php b/Library/Exception.php index f529ebdc33..7b4b45d5e1 100644 --- a/Library/Exception.php +++ b/Library/Exception.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/BadMethodCallException.php b/Library/Exception/BadMethodCallException.php index 8cd5696cb0..0c4d903d2c 100644 --- a/Library/Exception/BadMethodCallException.php +++ b/Library/Exception/BadMethodCallException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/CompilerException.php b/Library/Exception/CompilerException.php index 5aa5568c69..f2209fda04 100644 --- a/Library/Exception/CompilerException.php +++ b/Library/Exception/CompilerException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/ContainerException.php b/Library/Exception/ContainerException.php index 403f4ee046..2f775a3141 100644 --- a/Library/Exception/ContainerException.php +++ b/Library/Exception/ContainerException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/ExceptionExtraAwareTrait.php b/Library/Exception/ExceptionExtraAwareTrait.php index 856651837c..470f55c1dc 100644 --- a/Library/Exception/ExceptionExtraAwareTrait.php +++ b/Library/Exception/ExceptionExtraAwareTrait.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/ExceptionInterface.php b/Library/Exception/ExceptionInterface.php index bea09c8bae..17f94bf9a8 100644 --- a/Library/Exception/ExceptionInterface.php +++ b/Library/Exception/ExceptionInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/FileSystemException.php b/Library/Exception/FileSystemException.php index 6a0bc09110..96977003bc 100644 --- a/Library/Exception/FileSystemException.php +++ b/Library/Exception/FileSystemException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/IllegalOperationException.php b/Library/Exception/IllegalOperationException.php index bdb0df8815..0255fa4143 100644 --- a/Library/Exception/IllegalOperationException.php +++ b/Library/Exception/IllegalOperationException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/IllegalStateException.php b/Library/Exception/IllegalStateException.php index d2ed9b4230..d0ad8ff935 100644 --- a/Library/Exception/IllegalStateException.php +++ b/Library/Exception/IllegalStateException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/InvalidArgumentException.php b/Library/Exception/InvalidArgumentException.php index fef492dbae..c940e61c23 100644 --- a/Library/Exception/InvalidArgumentException.php +++ b/Library/Exception/InvalidArgumentException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/InvalidCallException.php b/Library/Exception/InvalidCallException.php index 88bad52896..d8b07680f2 100644 --- a/Library/Exception/InvalidCallException.php +++ b/Library/Exception/InvalidCallException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/InvalidTypeException.php b/Library/Exception/InvalidTypeException.php index fb4d165823..be1542a788 100644 --- a/Library/Exception/InvalidTypeException.php +++ b/Library/Exception/InvalidTypeException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/LogicException.php b/Library/Exception/LogicException.php index acc19d33ef..5a961bffef 100644 --- a/Library/Exception/LogicException.php +++ b/Library/Exception/LogicException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/NotImplementedException.php b/Library/Exception/NotImplementedException.php index e07799da9b..69cb57d676 100644 --- a/Library/Exception/NotImplementedException.php +++ b/Library/Exception/NotImplementedException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/OutOfBoundsException.php b/Library/Exception/OutOfBoundsException.php index dc36fad6c8..29338b14aa 100644 --- a/Library/Exception/OutOfBoundsException.php +++ b/Library/Exception/OutOfBoundsException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/ParseException.php b/Library/Exception/ParseException.php index a87fb3cdaa..aabd21e535 100644 --- a/Library/Exception/ParseException.php +++ b/Library/Exception/ParseException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/RuntimeException.php b/Library/Exception/RuntimeException.php index b1b175c081..4772baf94d 100644 --- a/Library/Exception/RuntimeException.php +++ b/Library/Exception/RuntimeException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/UnknownPropertyException.php b/Library/Exception/UnknownPropertyException.php index b183474fee..a6790ce85c 100644 --- a/Library/Exception/UnknownPropertyException.php +++ b/Library/Exception/UnknownPropertyException.php @@ -1,6 +1,6 @@ diff --git a/Library/Exception/ValidationException.php b/Library/Exception/ValidationException.php index a36c6efe1f..e2b0876685 100644 --- a/Library/Exception/ValidationException.php +++ b/Library/Exception/ValidationException.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression.php b/Library/Expression.php index a1cf3ffc7c..bea5ddc124 100644 --- a/Library/Expression.php +++ b/Library/Expression.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/AbstractBuilder.php b/Library/Expression/Builder/AbstractBuilder.php index e18919cb37..53be021693 100644 --- a/Library/Expression/Builder/AbstractBuilder.php +++ b/Library/Expression/Builder/AbstractBuilder.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/BuilderFactory.php b/Library/Expression/Builder/BuilderFactory.php index 57399ac910..9132a0dd64 100644 --- a/Library/Expression/Builder/BuilderFactory.php +++ b/Library/Expression/Builder/BuilderFactory.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Factory/OperatorsFactory.php b/Library/Expression/Builder/Factory/OperatorsFactory.php index c1b43957af..2b31e5c3b2 100644 --- a/Library/Expression/Builder/Factory/OperatorsFactory.php +++ b/Library/Expression/Builder/Factory/OperatorsFactory.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Factory/StatementsFactory.php b/Library/Expression/Builder/Factory/StatementsFactory.php index 05f3cea8b1..566f0f243a 100644 --- a/Library/Expression/Builder/Factory/StatementsFactory.php +++ b/Library/Expression/Builder/Factory/StatementsFactory.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Operators/AbstractOperator.php b/Library/Expression/Builder/Operators/AbstractOperator.php index cd97f463fe..67a10a8ee9 100644 --- a/Library/Expression/Builder/Operators/AbstractOperator.php +++ b/Library/Expression/Builder/Operators/AbstractOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Operators/AssignPropertyOperator.php b/Library/Expression/Builder/Operators/AssignPropertyOperator.php index 74fcde93d8..b921870749 100644 --- a/Library/Expression/Builder/Operators/AssignPropertyOperator.php +++ b/Library/Expression/Builder/Operators/AssignPropertyOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Operators/AssignVariableOperator.php b/Library/Expression/Builder/Operators/AssignVariableOperator.php index fc0c4dcf05..c3b205b041 100644 --- a/Library/Expression/Builder/Operators/AssignVariableOperator.php +++ b/Library/Expression/Builder/Operators/AssignVariableOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Operators/BinaryOperator.php b/Library/Expression/Builder/Operators/BinaryOperator.php index d6f055a5b0..9e934dc100 100644 --- a/Library/Expression/Builder/Operators/BinaryOperator.php +++ b/Library/Expression/Builder/Operators/BinaryOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Operators/RawOperator.php b/Library/Expression/Builder/Operators/RawOperator.php index b50b600589..17805751d5 100644 --- a/Library/Expression/Builder/Operators/RawOperator.php +++ b/Library/Expression/Builder/Operators/RawOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Operators/UnaryOperator.php b/Library/Expression/Builder/Operators/UnaryOperator.php index a0fd6416ff..a4b5d04c73 100644 --- a/Library/Expression/Builder/Operators/UnaryOperator.php +++ b/Library/Expression/Builder/Operators/UnaryOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/RawExpression.php b/Library/Expression/Builder/RawExpression.php index 5dedec87c9..a46d5b1067 100644 --- a/Library/Expression/Builder/RawExpression.php +++ b/Library/Expression/Builder/RawExpression.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/AbstractStatement.php b/Library/Expression/Builder/Statements/AbstractStatement.php index fa3121b809..2423dcb04b 100644 --- a/Library/Expression/Builder/Statements/AbstractStatement.php +++ b/Library/Expression/Builder/Statements/AbstractStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/CallFunctionStatement.php b/Library/Expression/Builder/Statements/CallFunctionStatement.php index 1f2a6d4797..0778dc0b06 100644 --- a/Library/Expression/Builder/Statements/CallFunctionStatement.php +++ b/Library/Expression/Builder/Statements/CallFunctionStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/CallMethodStatement.php b/Library/Expression/Builder/Statements/CallMethodStatement.php index ec0e52ba99..1dc31db2a4 100644 --- a/Library/Expression/Builder/Statements/CallMethodStatement.php +++ b/Library/Expression/Builder/Statements/CallMethodStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/CallStaticStatement.php b/Library/Expression/Builder/Statements/CallStaticStatement.php index 0463198996..6ebc3d153d 100644 --- a/Library/Expression/Builder/Statements/CallStaticStatement.php +++ b/Library/Expression/Builder/Statements/CallStaticStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/IfStatement.php b/Library/Expression/Builder/Statements/IfStatement.php index 6caecaf462..09b8c50c69 100644 --- a/Library/Expression/Builder/Statements/IfStatement.php +++ b/Library/Expression/Builder/Statements/IfStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/LetStatement.php b/Library/Expression/Builder/Statements/LetStatement.php index e5609e1207..d26952c9aa 100644 --- a/Library/Expression/Builder/Statements/LetStatement.php +++ b/Library/Expression/Builder/Statements/LetStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/RawStatement.php b/Library/Expression/Builder/Statements/RawStatement.php index aaf2d0d4e4..e68dc163d3 100644 --- a/Library/Expression/Builder/Statements/RawStatement.php +++ b/Library/Expression/Builder/Statements/RawStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Builder/Statements/StatementsBlock.php b/Library/Expression/Builder/Statements/StatementsBlock.php index afc4678c14..013c242dd1 100644 --- a/Library/Expression/Builder/Statements/StatementsBlock.php +++ b/Library/Expression/Builder/Statements/StatementsBlock.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Closure.php b/Library/Expression/Closure.php index b62969a2d8..9f7d41e529 100644 --- a/Library/Expression/Closure.php +++ b/Library/Expression/Closure.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/ClosureArrow.php b/Library/Expression/ClosureArrow.php index 00dffc41af..d6a7cd6e2b 100644 --- a/Library/Expression/ClosureArrow.php +++ b/Library/Expression/ClosureArrow.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Constants.php b/Library/Expression/Constants.php index 69c641faaf..49a6ec824e 100644 --- a/Library/Expression/Constants.php +++ b/Library/Expression/Constants.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/NativeArray.php b/Library/Expression/NativeArray.php index ee845539a7..23382881cb 100644 --- a/Library/Expression/NativeArray.php +++ b/Library/Expression/NativeArray.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/NativeArrayAccess.php b/Library/Expression/NativeArrayAccess.php index 2bf621c315..ed51ca6283 100644 --- a/Library/Expression/NativeArrayAccess.php +++ b/Library/Expression/NativeArrayAccess.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/PropertyAccess.php b/Library/Expression/PropertyAccess.php index c99c86b6ad..35edb3685f 100644 --- a/Library/Expression/PropertyAccess.php +++ b/Library/Expression/PropertyAccess.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/PropertyDynamicAccess.php b/Library/Expression/PropertyDynamicAccess.php index 162591a648..f3ed932db3 100644 --- a/Library/Expression/PropertyDynamicAccess.php +++ b/Library/Expression/PropertyDynamicAccess.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/Reference.php b/Library/Expression/Reference.php index 16f307a586..9847d4b347 100644 --- a/Library/Expression/Reference.php +++ b/Library/Expression/Reference.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/StaticConstantAccess.php b/Library/Expression/StaticConstantAccess.php index 1b7d6e4fb4..4ab9fe5f13 100644 --- a/Library/Expression/StaticConstantAccess.php +++ b/Library/Expression/StaticConstantAccess.php @@ -1,6 +1,6 @@ diff --git a/Library/Expression/StaticPropertyAccess.php b/Library/Expression/StaticPropertyAccess.php index 3a4c41841b..56970fee8e 100644 --- a/Library/Expression/StaticPropertyAccess.php +++ b/Library/Expression/StaticPropertyAccess.php @@ -1,6 +1,6 @@ diff --git a/Library/Fcall/FcallAwareInterface.php b/Library/Fcall/FcallAwareInterface.php index 373867127f..307a754048 100644 --- a/Library/Fcall/FcallAwareInterface.php +++ b/Library/Fcall/FcallAwareInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/Fcall/FcallManagerInterface.php b/Library/Fcall/FcallManagerInterface.php index 77f1db468c..1af5aa596a 100644 --- a/Library/Fcall/FcallManagerInterface.php +++ b/Library/Fcall/FcallManagerInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/FileSystem/FileSystemInterface.php b/Library/FileSystem/FileSystemInterface.php index fb648ceee5..2107a3bc0a 100644 --- a/Library/FileSystem/FileSystemInterface.php +++ b/Library/FileSystem/FileSystemInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/FileSystem/HardDisk.php b/Library/FileSystem/HardDisk.php index 7b12833228..855221f2b3 100644 --- a/Library/FileSystem/HardDisk.php +++ b/Library/FileSystem/HardDisk.php @@ -1,6 +1,6 @@ @@ -57,8 +57,6 @@ public function __construct(Flysystem\FilesystemInterface $filesystem, $localPat } /** - * @internal - * * @param string|null $basePath */ public function setBasePath($basePath) diff --git a/Library/FunctionCall.php b/Library/FunctionCall.php index 3534b24baf..49a1d931c3 100644 --- a/Library/FunctionCall.php +++ b/Library/FunctionCall.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionDefinition.php b/Library/FunctionDefinition.php index 40e3ff9134..920e788bb5 100644 --- a/Library/FunctionDefinition.php +++ b/Library/FunctionDefinition.php @@ -1,6 +1,6 @@ @@ -9,6 +9,8 @@ * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir; /** @@ -21,18 +23,28 @@ class FunctionDefinition extends ClassMethod /** * The namespace of the function. */ - private $namespace; + private string $namespace; /** * Whether the function is declared in a global or namespaced scope. * * @var bool */ - private $isGlobal; + private bool $isGlobal = false; + /** + * FunctionDefinition constructor. + * + * @param string $namespace + * @param string $name + * @param ClassMethodParameters|null $parameters + * @param StatementsBlock|null $statements + * @param array|null $returnType + * @param array|null $expression + */ public function __construct( - $namespace, - $name, + string $namespace, + string $name, ClassMethodParameters $parameters = null, StatementsBlock $statements = null, array $returnType = null, @@ -50,37 +62,37 @@ public function __construct( /** * Get the internal name used in generated C code. */ - public function getInternalName() + public function getInternalName(): string { return ($this->isGlobal() ? 'g_' : 'f_').str_replace('\\', '_', $this->namespace).'_'.$this->getName(); } - public function isGlobal() + public function isGlobal(): bool { return $this->isGlobal; } - public function setGlobal($global) + public function setGlobal(bool $global): void { $this->isGlobal = $global; } - public function getNamespace() + public function getNamespace(): string { return $this->namespace; } - public function setNamespace($namespace) + public function setNamespace(string $namespace): void { $this->namespace = $namespace; } - public function hasModifier($modifier) + public function hasModifier(string $modifier): bool { return false; } - public function getVisibility() + public function getVisibility(): array { return []; } diff --git a/Library/FunctionLike/ReturnType/CastHint.php b/Library/FunctionLike/ReturnType/CastHint.php index fe61fa1dbf..a321b3e823 100644 --- a/Library/FunctionLike/ReturnType/CastHint.php +++ b/Library/FunctionLike/ReturnType/CastHint.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Collection.php b/Library/FunctionLike/ReturnType/Collection.php index bcc6c607b9..943b2ff268 100644 --- a/Library/FunctionLike/ReturnType/Collection.php +++ b/Library/FunctionLike/ReturnType/Collection.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/CompositeSpecification.php b/Library/FunctionLike/ReturnType/CompositeSpecification.php index 6982d73bcd..f25434a76f 100644 --- a/Library/FunctionLike/ReturnType/CompositeSpecification.php +++ b/Library/FunctionLike/ReturnType/CompositeSpecification.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Either.php b/Library/FunctionLike/ReturnType/Either.php index 81584701bb..6dae122968 100644 --- a/Library/FunctionLike/ReturnType/Either.php +++ b/Library/FunctionLike/ReturnType/Either.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Factory.php b/Library/FunctionLike/ReturnType/Factory.php index e7dbe18bf9..951aa7793a 100644 --- a/Library/FunctionLike/ReturnType/Factory.php +++ b/Library/FunctionLike/ReturnType/Factory.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Not.php b/Library/FunctionLike/ReturnType/Not.php index f5b49d5db7..da10763237 100644 --- a/Library/FunctionLike/ReturnType/Not.php +++ b/Library/FunctionLike/ReturnType/Not.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Plus.php b/Library/FunctionLike/ReturnType/Plus.php index a18955e65a..f3bd0be1d1 100644 --- a/Library/FunctionLike/ReturnType/Plus.php +++ b/Library/FunctionLike/ReturnType/Plus.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/RealType.php b/Library/FunctionLike/ReturnType/RealType.php index f4b775446a..d4337ed164 100644 --- a/Library/FunctionLike/ReturnType/RealType.php +++ b/Library/FunctionLike/ReturnType/RealType.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/ArrayCompatible.php b/Library/FunctionLike/ReturnType/Specification/ArrayCompatible.php index ab4832b3da..8ddf7435f2 100644 --- a/Library/FunctionLike/ReturnType/Specification/ArrayCompatible.php +++ b/Library/FunctionLike/ReturnType/Specification/ArrayCompatible.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IntCompatible.php b/Library/FunctionLike/ReturnType/Specification/IntCompatible.php index ef56af4ac0..2828284c74 100644 --- a/Library/FunctionLike/ReturnType/Specification/IntCompatible.php +++ b/Library/FunctionLike/ReturnType/Specification/IntCompatible.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsAnnotated.php b/Library/FunctionLike/ReturnType/Specification/IsAnnotated.php index 70d2c396c1..5ba517b7e5 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsAnnotated.php +++ b/Library/FunctionLike/ReturnType/Specification/IsAnnotated.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsBool.php b/Library/FunctionLike/ReturnType/Specification/IsBool.php index 5343d22861..a37ff78434 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsBool.php +++ b/Library/FunctionLike/ReturnType/Specification/IsBool.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsCollection.php b/Library/FunctionLike/ReturnType/Specification/IsCollection.php index 520e4cc4e7..270f1f20ea 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsCollection.php +++ b/Library/FunctionLike/ReturnType/Specification/IsCollection.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsDouble.php b/Library/FunctionLike/ReturnType/Specification/IsDouble.php index c05f21a322..4082a07c58 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsDouble.php +++ b/Library/FunctionLike/ReturnType/Specification/IsDouble.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsNull.php b/Library/FunctionLike/ReturnType/Specification/IsNull.php index 4d82201551..03ebd96473 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsNull.php +++ b/Library/FunctionLike/ReturnType/Specification/IsNull.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsReal.php b/Library/FunctionLike/ReturnType/Specification/IsReal.php index 9fb5d38920..61ef53fc41 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsReal.php +++ b/Library/FunctionLike/ReturnType/Specification/IsReal.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsSpecial.php b/Library/FunctionLike/ReturnType/Specification/IsSpecial.php index c8a50e866a..64e35344d7 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsSpecial.php +++ b/Library/FunctionLike/ReturnType/Specification/IsSpecial.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/IsVoid.php b/Library/FunctionLike/ReturnType/Specification/IsVoid.php index 5e76296c05..16b9bb1432 100644 --- a/Library/FunctionLike/ReturnType/Specification/IsVoid.php +++ b/Library/FunctionLike/ReturnType/Specification/IsVoid.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/ObjectLike.php b/Library/FunctionLike/ReturnType/Specification/ObjectLike.php index 79d111ea0a..c4a9456a22 100644 --- a/Library/FunctionLike/ReturnType/Specification/ObjectLike.php +++ b/Library/FunctionLike/ReturnType/Specification/ObjectLike.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/Specification/StringCompatible.php b/Library/FunctionLike/ReturnType/Specification/StringCompatible.php index 73ad8455e4..bdc81dfce5 100644 --- a/Library/FunctionLike/ReturnType/Specification/StringCompatible.php +++ b/Library/FunctionLike/ReturnType/Specification/StringCompatible.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/SpecificationInterface.php b/Library/FunctionLike/ReturnType/SpecificationInterface.php index 808c44ce48..cd5eabbc66 100644 --- a/Library/FunctionLike/ReturnType/SpecificationInterface.php +++ b/Library/FunctionLike/ReturnType/SpecificationInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/FunctionLike/ReturnType/TypeInterface.php b/Library/FunctionLike/ReturnType/TypeInterface.php index 2a62d54474..a4c849247b 100644 --- a/Library/FunctionLike/ReturnType/TypeInterface.php +++ b/Library/FunctionLike/ReturnType/TypeInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/GlobalConstant.php b/Library/GlobalConstant.php index 4c07b1a30f..6a5a330a51 100644 --- a/Library/GlobalConstant.php +++ b/Library/GlobalConstant.php @@ -1,6 +1,6 @@ diff --git a/Library/HeadersManager.php b/Library/HeadersManager.php index c2aa64fed8..10d078cd18 100644 --- a/Library/HeadersManager.php +++ b/Library/HeadersManager.php @@ -1,6 +1,6 @@ diff --git a/Library/LiteralCompiledExpression.php b/Library/LiteralCompiledExpression.php index 6ebd6865e6..f8c20af30a 100644 --- a/Library/LiteralCompiledExpression.php +++ b/Library/LiteralCompiledExpression.php @@ -1,6 +1,6 @@ diff --git a/Library/Logger/Formatter/CompilerFormatter.php b/Library/Logger/Formatter/CompilerFormatter.php index f0d603b2f0..5d66f6b7e0 100644 --- a/Library/Logger/Formatter/CompilerFormatter.php +++ b/Library/Logger/Formatter/CompilerFormatter.php @@ -1,6 +1,6 @@ diff --git a/Library/MethodCall.php b/Library/MethodCall.php index 9003a0b064..2046bc120a 100644 --- a/Library/MethodCall.php +++ b/Library/MethodCall.php @@ -1,6 +1,6 @@ @@ -468,7 +468,7 @@ public function compile(Expression $expr, CompilationContext $compilationContext ); } } else { - // @TODO, raise an exception here? + // TODO:, raise an exception here? } } } @@ -624,7 +624,7 @@ public function compile(Expression $expr, CompilationContext $compilationContext /* * Array can be a callable type, example: [$this, "method"] * - * @todo we need to check this array if can... + * TODO: we need to check this array if can... */ break; diff --git a/Library/MethodCallWarmUp.php b/Library/MethodCallWarmUp.php index f327368f77..46d4d8223c 100644 --- a/Library/MethodCallWarmUp.php +++ b/Library/MethodCallWarmUp.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Arithmetical/AddOperator.php b/Library/Operators/Arithmetical/AddOperator.php index b6a10e1d76..d73228de0f 100644 --- a/Library/Operators/Arithmetical/AddOperator.php +++ b/Library/Operators/Arithmetical/AddOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Arithmetical/ArithmeticalBaseOperator.php b/Library/Operators/Arithmetical/ArithmeticalBaseOperator.php index 7e7a702cf0..8b6df11dfe 100644 --- a/Library/Operators/Arithmetical/ArithmeticalBaseOperator.php +++ b/Library/Operators/Arithmetical/ArithmeticalBaseOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Arithmetical/DivOperator.php b/Library/Operators/Arithmetical/DivOperator.php index e1fcda95f9..bcb697527b 100644 --- a/Library/Operators/Arithmetical/DivOperator.php +++ b/Library/Operators/Arithmetical/DivOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Arithmetical/ModOperator.php b/Library/Operators/Arithmetical/ModOperator.php index 3a7f62b8e9..0561ca0439 100644 --- a/Library/Operators/Arithmetical/ModOperator.php +++ b/Library/Operators/Arithmetical/ModOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Arithmetical/MulOperator.php b/Library/Operators/Arithmetical/MulOperator.php index 25afeed371..2f42a6b78b 100644 --- a/Library/Operators/Arithmetical/MulOperator.php +++ b/Library/Operators/Arithmetical/MulOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Arithmetical/SubOperator.php b/Library/Operators/Arithmetical/SubOperator.php index 0ef4edc8cf..ba4da6bc8c 100644 --- a/Library/Operators/Arithmetical/SubOperator.php +++ b/Library/Operators/Arithmetical/SubOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/BaseOperator.php b/Library/Operators/BaseOperator.php index f83317e444..53a7fa988e 100644 --- a/Library/Operators/BaseOperator.php +++ b/Library/Operators/BaseOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/BitwiseAndOperator.php b/Library/Operators/Bitwise/BitwiseAndOperator.php index c7e0d45e17..162f82bee0 100644 --- a/Library/Operators/Bitwise/BitwiseAndOperator.php +++ b/Library/Operators/Bitwise/BitwiseAndOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/BitwiseBaseOperator.php b/Library/Operators/Bitwise/BitwiseBaseOperator.php index b140fe5eb9..3e747fac82 100644 --- a/Library/Operators/Bitwise/BitwiseBaseOperator.php +++ b/Library/Operators/Bitwise/BitwiseBaseOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/BitwiseNotOperator.php b/Library/Operators/Bitwise/BitwiseNotOperator.php index 9ed43c30b9..a4920aa017 100644 --- a/Library/Operators/Bitwise/BitwiseNotOperator.php +++ b/Library/Operators/Bitwise/BitwiseNotOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/BitwiseOrOperator.php b/Library/Operators/Bitwise/BitwiseOrOperator.php index 90c31cfd46..dfc518649d 100644 --- a/Library/Operators/Bitwise/BitwiseOrOperator.php +++ b/Library/Operators/Bitwise/BitwiseOrOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/BitwiseXorOperator.php b/Library/Operators/Bitwise/BitwiseXorOperator.php index 251bee8b63..e930655741 100644 --- a/Library/Operators/Bitwise/BitwiseXorOperator.php +++ b/Library/Operators/Bitwise/BitwiseXorOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/ShiftLeftOperator.php b/Library/Operators/Bitwise/ShiftLeftOperator.php index e028d15250..f94f527cf7 100644 --- a/Library/Operators/Bitwise/ShiftLeftOperator.php +++ b/Library/Operators/Bitwise/ShiftLeftOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Bitwise/ShiftRightOperator.php b/Library/Operators/Bitwise/ShiftRightOperator.php index 44ee961411..75d10ce4da 100644 --- a/Library/Operators/Bitwise/ShiftRightOperator.php +++ b/Library/Operators/Bitwise/ShiftRightOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/ComparisonBaseOperator.php b/Library/Operators/Comparison/ComparisonBaseOperator.php index 696a110917..2dc396597a 100644 --- a/Library/Operators/Comparison/ComparisonBaseOperator.php +++ b/Library/Operators/Comparison/ComparisonBaseOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/EqualsOperator.php b/Library/Operators/Comparison/EqualsOperator.php index 83716c03ef..065f9de971 100644 --- a/Library/Operators/Comparison/EqualsOperator.php +++ b/Library/Operators/Comparison/EqualsOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/GreaterEqualOperator.php b/Library/Operators/Comparison/GreaterEqualOperator.php index 96ba0a0af8..d6afa36066 100644 --- a/Library/Operators/Comparison/GreaterEqualOperator.php +++ b/Library/Operators/Comparison/GreaterEqualOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/GreaterOperator.php b/Library/Operators/Comparison/GreaterOperator.php index a7fc73a89d..d250bbb7c9 100644 --- a/Library/Operators/Comparison/GreaterOperator.php +++ b/Library/Operators/Comparison/GreaterOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/IdenticalOperator.php b/Library/Operators/Comparison/IdenticalOperator.php index 1120c16f34..532bd1a566 100644 --- a/Library/Operators/Comparison/IdenticalOperator.php +++ b/Library/Operators/Comparison/IdenticalOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/LessEqualOperator.php b/Library/Operators/Comparison/LessEqualOperator.php index 55f73f839f..993629dd1a 100644 --- a/Library/Operators/Comparison/LessEqualOperator.php +++ b/Library/Operators/Comparison/LessEqualOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/LessOperator.php b/Library/Operators/Comparison/LessOperator.php index 197e9b5964..8f78d7a5f9 100644 --- a/Library/Operators/Comparison/LessOperator.php +++ b/Library/Operators/Comparison/LessOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/NotEqualsOperator.php b/Library/Operators/Comparison/NotEqualsOperator.php index 71fcf6a8ee..d7ece65ab3 100644 --- a/Library/Operators/Comparison/NotEqualsOperator.php +++ b/Library/Operators/Comparison/NotEqualsOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Comparison/NotIdenticalOperator.php b/Library/Operators/Comparison/NotIdenticalOperator.php index 934f359d60..ffd2e60bac 100644 --- a/Library/Operators/Comparison/NotIdenticalOperator.php +++ b/Library/Operators/Comparison/NotIdenticalOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Logical/AndOperator.php b/Library/Operators/Logical/AndOperator.php index 217c788b4e..4dafc5efab 100644 --- a/Library/Operators/Logical/AndOperator.php +++ b/Library/Operators/Logical/AndOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Logical/LogicalBaseOperator.php b/Library/Operators/Logical/LogicalBaseOperator.php index 5ad7592bdc..8a4d84e763 100644 --- a/Library/Operators/Logical/LogicalBaseOperator.php +++ b/Library/Operators/Logical/LogicalBaseOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Logical/OrOperator.php b/Library/Operators/Logical/OrOperator.php index 5870e25203..ad7790de8b 100644 --- a/Library/Operators/Logical/OrOperator.php +++ b/Library/Operators/Logical/OrOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/CastOperator.php b/Library/Operators/Other/CastOperator.php index db271131f0..ed1b5a133c 100644 --- a/Library/Operators/Other/CastOperator.php +++ b/Library/Operators/Other/CastOperator.php @@ -1,6 +1,6 @@ @@ -73,7 +73,7 @@ public function compile(array $expression, CompilationContext $compilationContex * zephir_get_intval_ex use zval variable * before use with it we create a new variable and assign value of literal. * - * @todo Optimize by creating native function for string without zval using + * TODO: Optimize by creating native function for string without zval using */ $symbolVariable = $compilationContext->symbolTable->getTempVariableForWrite( 'string', @@ -514,7 +514,7 @@ public function compile(array $expression, CompilationContext $compilationContex default: // TODO: I'm not a pretty sure this branch works // This is old code I just moved to "default" - // See: https://github.com/phalcon/zephir/issues/1988 + // See: https://github.com/zephir-lang/zephir/issues/1988 $symbolVariable = $compilationContext->symbolTable->getTempVariable( 'string', $compilationContext diff --git a/Library/Operators/Other/CloneOperator.php b/Library/Operators/Other/CloneOperator.php index fce3956c33..bd1a678fc5 100644 --- a/Library/Operators/Other/CloneOperator.php +++ b/Library/Operators/Other/CloneOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/ConcatOperator.php b/Library/Operators/Other/ConcatOperator.php index c45f753f49..bc8a8d4edf 100644 --- a/Library/Operators/Other/ConcatOperator.php +++ b/Library/Operators/Other/ConcatOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/EmptyOperator.php b/Library/Operators/Other/EmptyOperator.php index a37b08ab1a..78f00b1380 100644 --- a/Library/Operators/Other/EmptyOperator.php +++ b/Library/Operators/Other/EmptyOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/FetchOperator.php b/Library/Operators/Other/FetchOperator.php index ea3b6cbe92..bbd6854aa7 100644 --- a/Library/Operators/Other/FetchOperator.php +++ b/Library/Operators/Other/FetchOperator.php @@ -1,6 +1,6 @@ @@ -47,7 +47,7 @@ public function compile(array $expression, CompilationContext $compilationContex */ if ('return_value' != $variable->getName()) { /* - * @todo use a read detector here + * TODO: use a read detector here */ $readOnly = false; $line = max($compilationContext->symbolTable->getLastCallLine(), $compilationContext->symbolTable->getLastUnsetLine()); diff --git a/Library/Operators/Other/InstanceOfOperator.php b/Library/Operators/Other/InstanceOfOperator.php index 4a82cd3b81..a0c9f7c003 100644 --- a/Library/Operators/Other/InstanceOfOperator.php +++ b/Library/Operators/Other/InstanceOfOperator.php @@ -1,6 +1,6 @@ @@ -76,7 +76,7 @@ public function compile($expression, CompilationContext $context) case 'variable': if ('this' == $resolvedVariable) { /** - * @todo It's an optimization variant, but maybe we need to get entry in runtime? + * TODO: It's an optimization variant, but maybe we need to get entry in runtime? */ $classEntry = $context->classDefinition->getClassEntry($context); } elseif (!$context->symbolTable->hasVariable($resolvedVariable)) { @@ -126,7 +126,7 @@ public function compile($expression, CompilationContext $context) } } - /* @TODO, Possible optimization is use zephir_is_instance when the const class name is an internal class or interface */ + /* TODO:, Possible optimization is use zephir_is_instance when the const class name is an internal class or interface */ $context->headersManager->add('kernel/object'); $symbol = $context->backend->getVariableCode($symbolVariable); if (isset($code)) { diff --git a/Library/Operators/Other/IssetOperator.php b/Library/Operators/Other/IssetOperator.php index df3d047eee..1a4a795bc8 100644 --- a/Library/Operators/Other/IssetOperator.php +++ b/Library/Operators/Other/IssetOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/LikelyOperator.php b/Library/Operators/Other/LikelyOperator.php index c6a35402a2..feac274f77 100644 --- a/Library/Operators/Other/LikelyOperator.php +++ b/Library/Operators/Other/LikelyOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/NewInstanceOperator.php b/Library/Operators/Other/NewInstanceOperator.php index 759f292b8d..be9ec4c4fc 100644 --- a/Library/Operators/Other/NewInstanceOperator.php +++ b/Library/Operators/Other/NewInstanceOperator.php @@ -1,6 +1,6 @@ @@ -212,7 +212,7 @@ public function compile(array $expression, CompilationContext $compilationContex } } - /* @TODO use the MethodBuilder here */ + /* TODO: use the MethodBuilder here */ if (isset($expression['parameters'])) { $callExpr = new Expression([ 'variable' => ['type' => 'variable', 'value' => $symbolVariable->getRealName()], @@ -246,7 +246,7 @@ public function compile(array $expression, CompilationContext $compilationContex } else { $compilationContext->headersManager->add('kernel/fcall'); - /* @todo, generate the code using builders */ + /* TODO:, generate the code using builders */ $compilationContext->backend->checkConstructor($symbolVariable, $compilationContext); $codePrinter->increaseLevel(); diff --git a/Library/Operators/Other/NewInstanceTypeOperator.php b/Library/Operators/Other/NewInstanceTypeOperator.php index c8926275e9..e47ffdc8d4 100644 --- a/Library/Operators/Other/NewInstanceTypeOperator.php +++ b/Library/Operators/Other/NewInstanceTypeOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/RangeExclusiveOperator.php b/Library/Operators/Other/RangeExclusiveOperator.php index 18128497b9..be24288e61 100644 --- a/Library/Operators/Other/RangeExclusiveOperator.php +++ b/Library/Operators/Other/RangeExclusiveOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/RangeInclusiveOperator.php b/Library/Operators/Other/RangeInclusiveOperator.php index 3914f8a634..689e107e55 100644 --- a/Library/Operators/Other/RangeInclusiveOperator.php +++ b/Library/Operators/Other/RangeInclusiveOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/RequireOperator.php b/Library/Operators/Other/RequireOperator.php index c9b8b8a3a9..6576678566 100644 --- a/Library/Operators/Other/RequireOperator.php +++ b/Library/Operators/Other/RequireOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/ShortTernaryOperator.php b/Library/Operators/Other/ShortTernaryOperator.php index e646a02121..408d080ca4 100644 --- a/Library/Operators/Other/ShortTernaryOperator.php +++ b/Library/Operators/Other/ShortTernaryOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/TernaryOperator.php b/Library/Operators/Other/TernaryOperator.php index 720f4baebe..799b78ca28 100644 --- a/Library/Operators/Other/TernaryOperator.php +++ b/Library/Operators/Other/TernaryOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/TypeHintOperator.php b/Library/Operators/Other/TypeHintOperator.php index 71f227f3cf..fa9e22f6ce 100644 --- a/Library/Operators/Other/TypeHintOperator.php +++ b/Library/Operators/Other/TypeHintOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/TypeOfOperator.php b/Library/Operators/Other/TypeOfOperator.php index 30ae2b27ac..3cb77553f5 100644 --- a/Library/Operators/Other/TypeOfOperator.php +++ b/Library/Operators/Other/TypeOfOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Other/UnlikelyOperator.php b/Library/Operators/Other/UnlikelyOperator.php index 1fb58a8ace..9e33a23e6e 100644 --- a/Library/Operators/Other/UnlikelyOperator.php +++ b/Library/Operators/Other/UnlikelyOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Unary/MinusOperator.php b/Library/Operators/Unary/MinusOperator.php index 186f9c6808..5e4f09599f 100644 --- a/Library/Operators/Unary/MinusOperator.php +++ b/Library/Operators/Unary/MinusOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Unary/NotOperator.php b/Library/Operators/Unary/NotOperator.php index 51fe538672..dd756ed395 100644 --- a/Library/Operators/Unary/NotOperator.php +++ b/Library/Operators/Unary/NotOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Operators/Unary/PlusOperator.php b/Library/Operators/Unary/PlusOperator.php index d38d9c5b4c..90d25a85fa 100644 --- a/Library/Operators/Unary/PlusOperator.php +++ b/Library/Operators/Unary/PlusOperator.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/EvalExpression.php b/Library/Optimizers/EvalExpression.php index c4577bb93a..ea884a2312 100644 --- a/Library/Optimizers/EvalExpression.php +++ b/Library/Optimizers/EvalExpression.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ACosOptimizer.php b/Library/Optimizers/FunctionCall/ACosOptimizer.php index 6641878dcd..7559a086e1 100644 --- a/Library/Optimizers/FunctionCall/ACosOptimizer.php +++ b/Library/Optimizers/FunctionCall/ACosOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ASinOptimizer.php b/Library/Optimizers/FunctionCall/ASinOptimizer.php index bd33fe73bc..cc1bf8b0cf 100644 --- a/Library/Optimizers/FunctionCall/ASinOptimizer.php +++ b/Library/Optimizers/FunctionCall/ASinOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/AddslashesOptimizer.php b/Library/Optimizers/FunctionCall/AddslashesOptimizer.php index 25c7f1f295..27ed82adc8 100644 --- a/Library/Optimizers/FunctionCall/AddslashesOptimizer.php +++ b/Library/Optimizers/FunctionCall/AddslashesOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ArrayKeyExistsOptimizer.php b/Library/Optimizers/FunctionCall/ArrayKeyExistsOptimizer.php index 7ff1ad93be..940864f57f 100644 --- a/Library/Optimizers/FunctionCall/ArrayKeyExistsOptimizer.php +++ b/Library/Optimizers/FunctionCall/ArrayKeyExistsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ArrayKeysOptimizer.php b/Library/Optimizers/FunctionCall/ArrayKeysOptimizer.php index 5db0c6613f..f6ae4fdd06 100644 --- a/Library/Optimizers/FunctionCall/ArrayKeysOptimizer.php +++ b/Library/Optimizers/FunctionCall/ArrayKeysOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ArrayMergeOptimizer.php b/Library/Optimizers/FunctionCall/ArrayMergeOptimizer.php index 201f027c62..8135036d7d 100644 --- a/Library/Optimizers/FunctionCall/ArrayMergeOptimizer.php +++ b/Library/Optimizers/FunctionCall/ArrayMergeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/BasenameOptimizer.php b/Library/Optimizers/FunctionCall/BasenameOptimizer.php index 2b17548245..8a0c34c9fd 100644 --- a/Library/Optimizers/FunctionCall/BasenameOptimizer.php +++ b/Library/Optimizers/FunctionCall/BasenameOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CallUserFuncArrayOptimizer.php b/Library/Optimizers/FunctionCall/CallUserFuncArrayOptimizer.php index 88b0e7f20e..039d731e40 100644 --- a/Library/Optimizers/FunctionCall/CallUserFuncArrayOptimizer.php +++ b/Library/Optimizers/FunctionCall/CallUserFuncArrayOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CallUserFuncOptimizer.php b/Library/Optimizers/FunctionCall/CallUserFuncOptimizer.php index b9a432a3f9..28da362202 100644 --- a/Library/Optimizers/FunctionCall/CallUserFuncOptimizer.php +++ b/Library/Optimizers/FunctionCall/CallUserFuncOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CamelizeOptimizer.php b/Library/Optimizers/FunctionCall/CamelizeOptimizer.php index 4ee8021c4c..136235a192 100644 --- a/Library/Optimizers/FunctionCall/CamelizeOptimizer.php +++ b/Library/Optimizers/FunctionCall/CamelizeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CeilOptimizer.php b/Library/Optimizers/FunctionCall/CeilOptimizer.php index a0bb91a087..6c05009847 100644 --- a/Library/Optimizers/FunctionCall/CeilOptimizer.php +++ b/Library/Optimizers/FunctionCall/CeilOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ClassExistsOptimizer.php b/Library/Optimizers/FunctionCall/ClassExistsOptimizer.php index 0bf113e131..a448ca560d 100644 --- a/Library/Optimizers/FunctionCall/ClassExistsOptimizer.php +++ b/Library/Optimizers/FunctionCall/ClassExistsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CompareMtimeOptimizer.php b/Library/Optimizers/FunctionCall/CompareMtimeOptimizer.php index cecd495718..bc18878f5f 100644 --- a/Library/Optimizers/FunctionCall/CompareMtimeOptimizer.php +++ b/Library/Optimizers/FunctionCall/CompareMtimeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CosOptimizer.php b/Library/Optimizers/FunctionCall/CosOptimizer.php index 590f00dc44..0af47c7870 100644 --- a/Library/Optimizers/FunctionCall/CosOptimizer.php +++ b/Library/Optimizers/FunctionCall/CosOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CountOptimizer.php b/Library/Optimizers/FunctionCall/CountOptimizer.php index 19c5a49b2f..ded7d391ea 100644 --- a/Library/Optimizers/FunctionCall/CountOptimizer.php +++ b/Library/Optimizers/FunctionCall/CountOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/Crc32Optimizer.php b/Library/Optimizers/FunctionCall/Crc32Optimizer.php index ee84194731..71139b435c 100644 --- a/Library/Optimizers/FunctionCall/Crc32Optimizer.php +++ b/Library/Optimizers/FunctionCall/Crc32Optimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CreateArrayOptimizer.php b/Library/Optimizers/FunctionCall/CreateArrayOptimizer.php index 8477159be3..bb4d76ec5a 100644 --- a/Library/Optimizers/FunctionCall/CreateArrayOptimizer.php +++ b/Library/Optimizers/FunctionCall/CreateArrayOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CreateInstanceOptimizer.php b/Library/Optimizers/FunctionCall/CreateInstanceOptimizer.php index 4b0c46ba71..70117105f2 100644 --- a/Library/Optimizers/FunctionCall/CreateInstanceOptimizer.php +++ b/Library/Optimizers/FunctionCall/CreateInstanceOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CreateInstanceParamsOptimizer.php b/Library/Optimizers/FunctionCall/CreateInstanceParamsOptimizer.php index 996c72c6ac..01940662a2 100644 --- a/Library/Optimizers/FunctionCall/CreateInstanceParamsOptimizer.php +++ b/Library/Optimizers/FunctionCall/CreateInstanceParamsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/CreateSymbolTableOptimizer.php b/Library/Optimizers/FunctionCall/CreateSymbolTableOptimizer.php index cba17d4e54..f4d164c949 100644 --- a/Library/Optimizers/FunctionCall/CreateSymbolTableOptimizer.php +++ b/Library/Optimizers/FunctionCall/CreateSymbolTableOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/DieOptimizer.php b/Library/Optimizers/FunctionCall/DieOptimizer.php index db42d82afe..de596f138d 100644 --- a/Library/Optimizers/FunctionCall/DieOptimizer.php +++ b/Library/Optimizers/FunctionCall/DieOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/DoublevalOptimizer.php b/Library/Optimizers/FunctionCall/DoublevalOptimizer.php index 29132a1a0c..6cfde21ea5 100644 --- a/Library/Optimizers/FunctionCall/DoublevalOptimizer.php +++ b/Library/Optimizers/FunctionCall/DoublevalOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/EndsWithOptimizer.php b/Library/Optimizers/FunctionCall/EndsWithOptimizer.php index acd8a9561a..d33507ca8e 100644 --- a/Library/Optimizers/FunctionCall/EndsWithOptimizer.php +++ b/Library/Optimizers/FunctionCall/EndsWithOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/EvalOptimizer.php b/Library/Optimizers/FunctionCall/EvalOptimizer.php index ff9aaa8f42..143c06a619 100644 --- a/Library/Optimizers/FunctionCall/EvalOptimizer.php +++ b/Library/Optimizers/FunctionCall/EvalOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ExitOptimizer.php b/Library/Optimizers/FunctionCall/ExitOptimizer.php index 15097d7c39..b2f6084c90 100644 --- a/Library/Optimizers/FunctionCall/ExitOptimizer.php +++ b/Library/Optimizers/FunctionCall/ExitOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ExplodeOptimizer.php b/Library/Optimizers/FunctionCall/ExplodeOptimizer.php index 1adfdd85e0..b9b0f0aea9 100644 --- a/Library/Optimizers/FunctionCall/ExplodeOptimizer.php +++ b/Library/Optimizers/FunctionCall/ExplodeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FcloseOptimizer.php b/Library/Optimizers/FunctionCall/FcloseOptimizer.php index 71872fd774..af5db2b021 100644 --- a/Library/Optimizers/FunctionCall/FcloseOptimizer.php +++ b/Library/Optimizers/FunctionCall/FcloseOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FeofOptimizer.php b/Library/Optimizers/FunctionCall/FeofOptimizer.php index 02387e8988..bde9374bcd 100644 --- a/Library/Optimizers/FunctionCall/FeofOptimizer.php +++ b/Library/Optimizers/FunctionCall/FeofOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FileExistsOptimizer.php b/Library/Optimizers/FunctionCall/FileExistsOptimizer.php index 27e3adcb5d..d06e1e562c 100644 --- a/Library/Optimizers/FunctionCall/FileExistsOptimizer.php +++ b/Library/Optimizers/FunctionCall/FileExistsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FileGetContentsOptimizer.php b/Library/Optimizers/FunctionCall/FileGetContentsOptimizer.php index 8ddd49a360..6b2b6abd97 100644 --- a/Library/Optimizers/FunctionCall/FileGetContentsOptimizer.php +++ b/Library/Optimizers/FunctionCall/FileGetContentsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FilePutContentsOptimizer.php b/Library/Optimizers/FunctionCall/FilePutContentsOptimizer.php index 6d8e01f0c8..894bc0b16d 100644 --- a/Library/Optimizers/FunctionCall/FilePutContentsOptimizer.php +++ b/Library/Optimizers/FunctionCall/FilePutContentsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FilemtimeOptimizer.php b/Library/Optimizers/FunctionCall/FilemtimeOptimizer.php index 4688521307..b14e3e7b73 100644 --- a/Library/Optimizers/FunctionCall/FilemtimeOptimizer.php +++ b/Library/Optimizers/FunctionCall/FilemtimeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FloorOptimizer.php b/Library/Optimizers/FunctionCall/FloorOptimizer.php index dab463bddc..e3296ffe94 100644 --- a/Library/Optimizers/FunctionCall/FloorOptimizer.php +++ b/Library/Optimizers/FunctionCall/FloorOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FuncGetArgOptimizer.php b/Library/Optimizers/FunctionCall/FuncGetArgOptimizer.php index f2ed16757f..44ce4ca16d 100644 --- a/Library/Optimizers/FunctionCall/FuncGetArgOptimizer.php +++ b/Library/Optimizers/FunctionCall/FuncGetArgOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FuncGetArgsOptimizer.php b/Library/Optimizers/FunctionCall/FuncGetArgsOptimizer.php index 9564b44604..05c566024e 100644 --- a/Library/Optimizers/FunctionCall/FuncGetArgsOptimizer.php +++ b/Library/Optimizers/FunctionCall/FuncGetArgsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FuncNumArgsOptimizer.php b/Library/Optimizers/FunctionCall/FuncNumArgsOptimizer.php index dc7426350d..82a1864755 100644 --- a/Library/Optimizers/FunctionCall/FuncNumArgsOptimizer.php +++ b/Library/Optimizers/FunctionCall/FuncNumArgsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/FunctionExistsOptimizer.php b/Library/Optimizers/FunctionCall/FunctionExistsOptimizer.php index 7f1e616d14..ace5a2b80e 100644 --- a/Library/Optimizers/FunctionCall/FunctionExistsOptimizer.php +++ b/Library/Optimizers/FunctionCall/FunctionExistsOptimizer.php @@ -1,6 +1,6 @@ @@ -11,12 +11,14 @@ namespace Zephir\Optimizers\FunctionCall; -use function Zephir\add_slashes; use Zephir\Call; use Zephir\CompilationContext; use Zephir\CompiledExpression; use Zephir\Optimizers\OptimizerAbstract; +use function count; +use function Zephir\add_slashes; + /** * FunctionExistsOptimizer. * @@ -33,11 +35,11 @@ class FunctionExistsOptimizer extends OptimizerAbstract */ public function optimize(array $expression, Call $call, CompilationContext $context) { - if (!isset($expression['parameters']) || 1 != \count($expression['parameters'])) { + if (!isset($expression['parameters']) || 1 !== count($expression['parameters'])) { return false; } - if ('string' == $expression['parameters'][0]['parameter']['type']) { + if ('string' === $expression['parameters'][0]['parameter']['type']) { $str = add_slashes($expression['parameters'][0]['parameter']['value']); unset($expression['parameters'][0]); } @@ -55,7 +57,7 @@ public function optimize(array $expression, Call $call, CompilationContext $cont return new CompiledExpression( 'bool', - '(zephir_function_exists('.$resolvedParams[0].') == SUCCESS)', + '(zephir_function_exists('.$resolvedParams[0].') == SUCCESS)', $expression ); } diff --git a/Library/Optimizers/FunctionCall/FwriteOptimizer.php b/Library/Optimizers/FunctionCall/FwriteOptimizer.php index 1de86c9cec..d77cf01b3e 100644 --- a/Library/Optimizers/FunctionCall/FwriteOptimizer.php +++ b/Library/Optimizers/FunctionCall/FwriteOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GetCalledClassOptimizer.php b/Library/Optimizers/FunctionCall/GetCalledClassOptimizer.php index 83694f810e..a771b5099d 100644 --- a/Library/Optimizers/FunctionCall/GetCalledClassOptimizer.php +++ b/Library/Optimizers/FunctionCall/GetCalledClassOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GetClassLowerOptimizer.php b/Library/Optimizers/FunctionCall/GetClassLowerOptimizer.php index 8362ce4a0c..10595eb489 100644 --- a/Library/Optimizers/FunctionCall/GetClassLowerOptimizer.php +++ b/Library/Optimizers/FunctionCall/GetClassLowerOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GetClassNsOptimizer.php b/Library/Optimizers/FunctionCall/GetClassNsOptimizer.php index 29ed7cf135..d00fce6168 100644 --- a/Library/Optimizers/FunctionCall/GetClassNsOptimizer.php +++ b/Library/Optimizers/FunctionCall/GetClassNsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GetClassOptimizer.php b/Library/Optimizers/FunctionCall/GetClassOptimizer.php index 5e8752b3cc..c7afeab546 100644 --- a/Library/Optimizers/FunctionCall/GetClassOptimizer.php +++ b/Library/Optimizers/FunctionCall/GetClassOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GetDefinedVarsOptimizer.php b/Library/Optimizers/FunctionCall/GetDefinedVarsOptimizer.php index f1cdf2f8bb..7c410ee3e3 100644 --- a/Library/Optimizers/FunctionCall/GetDefinedVarsOptimizer.php +++ b/Library/Optimizers/FunctionCall/GetDefinedVarsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GetNsClassOptimizer.php b/Library/Optimizers/FunctionCall/GetNsClassOptimizer.php index 7c61ccbea8..d6d0208cc9 100644 --- a/Library/Optimizers/FunctionCall/GetNsClassOptimizer.php +++ b/Library/Optimizers/FunctionCall/GetNsClassOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GettypeOptimizer.php b/Library/Optimizers/FunctionCall/GettypeOptimizer.php index f8709a0e41..3cb217ec27 100644 --- a/Library/Optimizers/FunctionCall/GettypeOptimizer.php +++ b/Library/Optimizers/FunctionCall/GettypeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GlobalsGetOptimizer.php b/Library/Optimizers/FunctionCall/GlobalsGetOptimizer.php index 89bdf60ec8..a6cdf43f12 100644 --- a/Library/Optimizers/FunctionCall/GlobalsGetOptimizer.php +++ b/Library/Optimizers/FunctionCall/GlobalsGetOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/GlobalsSetOptimizer.php b/Library/Optimizers/FunctionCall/GlobalsSetOptimizer.php index b9df11d971..0100eb25ec 100644 --- a/Library/Optimizers/FunctionCall/GlobalsSetOptimizer.php +++ b/Library/Optimizers/FunctionCall/GlobalsSetOptimizer.php @@ -1,6 +1,6 @@ @@ -100,8 +100,8 @@ private function resolveInternalAccessor($globalName) } /** - * @todo Add 'hash' support - * @todo Use zval_get_string, zval_get_long, zval_get_double for ZE3 + * TODO: Add 'hash' support + * TODO: Use zval_get_string, zval_get_long, zval_get_double for ZE3 * * @param array $definition * @param array $expression diff --git a/Library/Optimizers/FunctionCall/HashEqualsOptimizer.php b/Library/Optimizers/FunctionCall/HashEqualsOptimizer.php index 0c620c46f5..ed0840c3e6 100644 --- a/Library/Optimizers/FunctionCall/HashEqualsOptimizer.php +++ b/Library/Optimizers/FunctionCall/HashEqualsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ImplodeOptimizer.php b/Library/Optimizers/FunctionCall/ImplodeOptimizer.php index 70c5444378..7d3be029b5 100644 --- a/Library/Optimizers/FunctionCall/ImplodeOptimizer.php +++ b/Library/Optimizers/FunctionCall/ImplodeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/InArrayOptimizer.php b/Library/Optimizers/FunctionCall/InArrayOptimizer.php index a0e1c22261..58727048a7 100644 --- a/Library/Optimizers/FunctionCall/InArrayOptimizer.php +++ b/Library/Optimizers/FunctionCall/InArrayOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/InterfaceExistsOptimizer.php b/Library/Optimizers/FunctionCall/InterfaceExistsOptimizer.php index 2045661e74..5ffb906e13 100644 --- a/Library/Optimizers/FunctionCall/InterfaceExistsOptimizer.php +++ b/Library/Optimizers/FunctionCall/InterfaceExistsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IntvalOptimizer.php b/Library/Optimizers/FunctionCall/IntvalOptimizer.php index 21f4b728e5..081d8c37ca 100644 --- a/Library/Optimizers/FunctionCall/IntvalOptimizer.php +++ b/Library/Optimizers/FunctionCall/IntvalOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsArrayOptimizer.php b/Library/Optimizers/FunctionCall/IsArrayOptimizer.php index d845acfce3..16fc60201a 100644 --- a/Library/Optimizers/FunctionCall/IsArrayOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsArrayOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsBoolOptimizer.php b/Library/Optimizers/FunctionCall/IsBoolOptimizer.php index 349277b2d6..9680b0b333 100644 --- a/Library/Optimizers/FunctionCall/IsBoolOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsBoolOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsCallableOptimizer.php b/Library/Optimizers/FunctionCall/IsCallableOptimizer.php index 6555fbe0d6..b872479940 100644 --- a/Library/Optimizers/FunctionCall/IsCallableOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsCallableOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsIntOptimizer.php b/Library/Optimizers/FunctionCall/IsIntOptimizer.php index d47e9e69c6..d73ca18549 100644 --- a/Library/Optimizers/FunctionCall/IsIntOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsIntOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsNullOptimizer.php b/Library/Optimizers/FunctionCall/IsNullOptimizer.php index 441df81e14..7df7542f47 100644 --- a/Library/Optimizers/FunctionCall/IsNullOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsNullOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsNumericOptimizer.php b/Library/Optimizers/FunctionCall/IsNumericOptimizer.php index fc059d6ed6..ccd11448fb 100644 --- a/Library/Optimizers/FunctionCall/IsNumericOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsNumericOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsObjectOptimizer.php b/Library/Optimizers/FunctionCall/IsObjectOptimizer.php index 086c42b1a2..29e6c5223c 100644 --- a/Library/Optimizers/FunctionCall/IsObjectOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsObjectOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsPhpVersionOptimizer.php b/Library/Optimizers/FunctionCall/IsPhpVersionOptimizer.php index 9e426eb2ab..72ba194672 100644 --- a/Library/Optimizers/FunctionCall/IsPhpVersionOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsPhpVersionOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsPrivatePropertyOptimizer.php b/Library/Optimizers/FunctionCall/IsPrivatePropertyOptimizer.php index 857d9d81c4..61e3612774 100644 --- a/Library/Optimizers/FunctionCall/IsPrivatePropertyOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsPrivatePropertyOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsResourceOptimizer.php b/Library/Optimizers/FunctionCall/IsResourceOptimizer.php index 3c0d989e61..b43643ebd3 100644 --- a/Library/Optimizers/FunctionCall/IsResourceOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsResourceOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsScalarOptimizer.php b/Library/Optimizers/FunctionCall/IsScalarOptimizer.php index c7597fda35..17f570a77d 100644 --- a/Library/Optimizers/FunctionCall/IsScalarOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsScalarOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/IsStringOptimizer.php b/Library/Optimizers/FunctionCall/IsStringOptimizer.php index 1ce7944045..1e6f718234 100644 --- a/Library/Optimizers/FunctionCall/IsStringOptimizer.php +++ b/Library/Optimizers/FunctionCall/IsStringOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/JoinOptimizer.php b/Library/Optimizers/FunctionCall/JoinOptimizer.php index f346a6a40c..61c754a377 100644 --- a/Library/Optimizers/FunctionCall/JoinOptimizer.php +++ b/Library/Optimizers/FunctionCall/JoinOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/JsonDecodeOptimizer.php b/Library/Optimizers/FunctionCall/JsonDecodeOptimizer.php index 6c8fbff100..844d4fbf50 100644 --- a/Library/Optimizers/FunctionCall/JsonDecodeOptimizer.php +++ b/Library/Optimizers/FunctionCall/JsonDecodeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/JsonEncodeOptimizer.php b/Library/Optimizers/FunctionCall/JsonEncodeOptimizer.php index 2be017721f..60d59b42bd 100644 --- a/Library/Optimizers/FunctionCall/JsonEncodeOptimizer.php +++ b/Library/Optimizers/FunctionCall/JsonEncodeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/LdexpOptimizer.php b/Library/Optimizers/FunctionCall/LdexpOptimizer.php index 3b28e59c2e..847b919b20 100644 --- a/Library/Optimizers/FunctionCall/LdexpOptimizer.php +++ b/Library/Optimizers/FunctionCall/LdexpOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/LtrimOptimizer.php b/Library/Optimizers/FunctionCall/LtrimOptimizer.php index dd195b6299..75b413d23b 100644 --- a/Library/Optimizers/FunctionCall/LtrimOptimizer.php +++ b/Library/Optimizers/FunctionCall/LtrimOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/Md5Optimizer.php b/Library/Optimizers/FunctionCall/Md5Optimizer.php index b5cd26756b..75e276c446 100644 --- a/Library/Optimizers/FunctionCall/Md5Optimizer.php +++ b/Library/Optimizers/FunctionCall/Md5Optimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/MemstrOptimizer.php b/Library/Optimizers/FunctionCall/MemstrOptimizer.php index 5dd914d19f..f80ef9d042 100644 --- a/Library/Optimizers/FunctionCall/MemstrOptimizer.php +++ b/Library/Optimizers/FunctionCall/MemstrOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/MergeAppendOptimizer.php b/Library/Optimizers/FunctionCall/MergeAppendOptimizer.php index b6d8a6d382..ab708d1b3e 100644 --- a/Library/Optimizers/FunctionCall/MergeAppendOptimizer.php +++ b/Library/Optimizers/FunctionCall/MergeAppendOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/MethodExistsOptimizer.php b/Library/Optimizers/FunctionCall/MethodExistsOptimizer.php index a6a187ccfb..5534689aad 100644 --- a/Library/Optimizers/FunctionCall/MethodExistsOptimizer.php +++ b/Library/Optimizers/FunctionCall/MethodExistsOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/MicrotimeOptimizer.php b/Library/Optimizers/FunctionCall/MicrotimeOptimizer.php index 2c302daa4f..18e97c0f61 100644 --- a/Library/Optimizers/FunctionCall/MicrotimeOptimizer.php +++ b/Library/Optimizers/FunctionCall/MicrotimeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/MtRandOptimizer.php b/Library/Optimizers/FunctionCall/MtRandOptimizer.php index 68068515e5..b22d8b0f1a 100644 --- a/Library/Optimizers/FunctionCall/MtRandOptimizer.php +++ b/Library/Optimizers/FunctionCall/MtRandOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/PowOptimizer.php b/Library/Optimizers/FunctionCall/PowOptimizer.php index 8f7b09b416..3382d28818 100644 --- a/Library/Optimizers/FunctionCall/PowOptimizer.php +++ b/Library/Optimizers/FunctionCall/PowOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/PregMatchAllOptimizer.php b/Library/Optimizers/FunctionCall/PregMatchAllOptimizer.php index 145014143b..c3006186c0 100644 --- a/Library/Optimizers/FunctionCall/PregMatchAllOptimizer.php +++ b/Library/Optimizers/FunctionCall/PregMatchAllOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/PregMatchOptimizer.php b/Library/Optimizers/FunctionCall/PregMatchOptimizer.php index 06a7ff2999..c5d96ae52d 100644 --- a/Library/Optimizers/FunctionCall/PregMatchOptimizer.php +++ b/Library/Optimizers/FunctionCall/PregMatchOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/PrepareVirtualPathOptimizer.php b/Library/Optimizers/FunctionCall/PrepareVirtualPathOptimizer.php index f52cb444da..fa175f9464 100644 --- a/Library/Optimizers/FunctionCall/PrepareVirtualPathOptimizer.php +++ b/Library/Optimizers/FunctionCall/PrepareVirtualPathOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/RoundOptimizer.php b/Library/Optimizers/FunctionCall/RoundOptimizer.php index 463f6ae60c..7dcd0b0962 100644 --- a/Library/Optimizers/FunctionCall/RoundOptimizer.php +++ b/Library/Optimizers/FunctionCall/RoundOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/RtrimOptimizer.php b/Library/Optimizers/FunctionCall/RtrimOptimizer.php index a9b8d04401..83edf4360e 100644 --- a/Library/Optimizers/FunctionCall/RtrimOptimizer.php +++ b/Library/Optimizers/FunctionCall/RtrimOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/SinOptimizer.php b/Library/Optimizers/FunctionCall/SinOptimizer.php index 2ec8e1950d..e4d4363c1c 100644 --- a/Library/Optimizers/FunctionCall/SinOptimizer.php +++ b/Library/Optimizers/FunctionCall/SinOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/SqrtOptimizer.php b/Library/Optimizers/FunctionCall/SqrtOptimizer.php index f0de857e3f..c8a347831c 100644 --- a/Library/Optimizers/FunctionCall/SqrtOptimizer.php +++ b/Library/Optimizers/FunctionCall/SqrtOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StartsWithOptimizer.php b/Library/Optimizers/FunctionCall/StartsWithOptimizer.php index bb2edce46d..dea46b33c2 100644 --- a/Library/Optimizers/FunctionCall/StartsWithOptimizer.php +++ b/Library/Optimizers/FunctionCall/StartsWithOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StrReplaceOptimizer.php b/Library/Optimizers/FunctionCall/StrReplaceOptimizer.php index e74ca698b9..4b6e666a1f 100644 --- a/Library/Optimizers/FunctionCall/StrReplaceOptimizer.php +++ b/Library/Optimizers/FunctionCall/StrReplaceOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StripcslashesOptimizer.php b/Library/Optimizers/FunctionCall/StripcslashesOptimizer.php index b4ec44316c..e1031cf49a 100644 --- a/Library/Optimizers/FunctionCall/StripcslashesOptimizer.php +++ b/Library/Optimizers/FunctionCall/StripcslashesOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StripslashesOptimizer.php b/Library/Optimizers/FunctionCall/StripslashesOptimizer.php index f51ea400ff..1095fe306b 100644 --- a/Library/Optimizers/FunctionCall/StripslashesOptimizer.php +++ b/Library/Optimizers/FunctionCall/StripslashesOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StrlenOptimizer.php b/Library/Optimizers/FunctionCall/StrlenOptimizer.php index 74ca1a225c..ec5f211dca 100644 --- a/Library/Optimizers/FunctionCall/StrlenOptimizer.php +++ b/Library/Optimizers/FunctionCall/StrlenOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StrposOptimizer.php b/Library/Optimizers/FunctionCall/StrposOptimizer.php index ddef580c61..6a68d4f294 100644 --- a/Library/Optimizers/FunctionCall/StrposOptimizer.php +++ b/Library/Optimizers/FunctionCall/StrposOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StrtokOptimizer.php b/Library/Optimizers/FunctionCall/StrtokOptimizer.php index 4ff18c4177..e3b5040570 100644 --- a/Library/Optimizers/FunctionCall/StrtokOptimizer.php +++ b/Library/Optimizers/FunctionCall/StrtokOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StrtolowerOptimizer.php b/Library/Optimizers/FunctionCall/StrtolowerOptimizer.php index 5f74f39c51..9543ac7f7f 100644 --- a/Library/Optimizers/FunctionCall/StrtolowerOptimizer.php +++ b/Library/Optimizers/FunctionCall/StrtolowerOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/StrtoupperOptimizer.php b/Library/Optimizers/FunctionCall/StrtoupperOptimizer.php index a7702088f6..8c95e9d45e 100644 --- a/Library/Optimizers/FunctionCall/StrtoupperOptimizer.php +++ b/Library/Optimizers/FunctionCall/StrtoupperOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/SubstrOptimizer.php b/Library/Optimizers/FunctionCall/SubstrOptimizer.php index 479c5a82a0..8dc69b8a5e 100644 --- a/Library/Optimizers/FunctionCall/SubstrOptimizer.php +++ b/Library/Optimizers/FunctionCall/SubstrOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/TanOptimizer.php b/Library/Optimizers/FunctionCall/TanOptimizer.php index d1c54ae0f2..0598352a6f 100644 --- a/Library/Optimizers/FunctionCall/TanOptimizer.php +++ b/Library/Optimizers/FunctionCall/TanOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/TimeOptimizer.php b/Library/Optimizers/FunctionCall/TimeOptimizer.php index 81710d3f6d..a96dfa2db5 100644 --- a/Library/Optimizers/FunctionCall/TimeOptimizer.php +++ b/Library/Optimizers/FunctionCall/TimeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/TrimOptimizer.php b/Library/Optimizers/FunctionCall/TrimOptimizer.php index 050abc1851..b0f8377dd5 100644 --- a/Library/Optimizers/FunctionCall/TrimOptimizer.php +++ b/Library/Optimizers/FunctionCall/TrimOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/UcfirstOptimizer.php b/Library/Optimizers/FunctionCall/UcfirstOptimizer.php index a5526e9221..0d2b49ddfb 100644 --- a/Library/Optimizers/FunctionCall/UcfirstOptimizer.php +++ b/Library/Optimizers/FunctionCall/UcfirstOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/UncamelizeOptimizer.php b/Library/Optimizers/FunctionCall/UncamelizeOptimizer.php index 761b7de371..68036a8429 100644 --- a/Library/Optimizers/FunctionCall/UncamelizeOptimizer.php +++ b/Library/Optimizers/FunctionCall/UncamelizeOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/UniqueKeyOptimizer.php b/Library/Optimizers/FunctionCall/UniqueKeyOptimizer.php index 5d9bd9fa1d..69e4e3852a 100644 --- a/Library/Optimizers/FunctionCall/UniqueKeyOptimizer.php +++ b/Library/Optimizers/FunctionCall/UniqueKeyOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/UniquePathKeyOptimizer.php b/Library/Optimizers/FunctionCall/UniquePathKeyOptimizer.php index a3b3fcf6fc..b241f3528a 100644 --- a/Library/Optimizers/FunctionCall/UniquePathKeyOptimizer.php +++ b/Library/Optimizers/FunctionCall/UniquePathKeyOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/VarDumpOptimizer.php b/Library/Optimizers/FunctionCall/VarDumpOptimizer.php index dc8875efda..a628fedfee 100644 --- a/Library/Optimizers/FunctionCall/VarDumpOptimizer.php +++ b/Library/Optimizers/FunctionCall/VarDumpOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/VarExportOptimizer.php b/Library/Optimizers/FunctionCall/VarExportOptimizer.php index eaf707cc34..bd92e6cab0 100644 --- a/Library/Optimizers/FunctionCall/VarExportOptimizer.php +++ b/Library/Optimizers/FunctionCall/VarExportOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/FunctionCall/ZephirStringToHexOptimizer.php b/Library/Optimizers/FunctionCall/ZephirStringToHexOptimizer.php index e6773392df..8b19da0264 100644 --- a/Library/Optimizers/FunctionCall/ZephirStringToHexOptimizer.php +++ b/Library/Optimizers/FunctionCall/ZephirStringToHexOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/IsTypeOptimizerAbstract.php b/Library/Optimizers/IsTypeOptimizerAbstract.php index 9ced46d35f..f826ef7b0a 100644 --- a/Library/Optimizers/IsTypeOptimizerAbstract.php +++ b/Library/Optimizers/IsTypeOptimizerAbstract.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/MathOptimizer.php b/Library/Optimizers/MathOptimizer.php index a623536762..09c297cced 100644 --- a/Library/Optimizers/MathOptimizer.php +++ b/Library/Optimizers/MathOptimizer.php @@ -1,6 +1,6 @@ diff --git a/Library/Optimizers/OptimizerAbstract.php b/Library/Optimizers/OptimizerAbstract.php index 72b9e07eaa..0cdf10f68c 100644 --- a/Library/Optimizers/OptimizerAbstract.php +++ b/Library/Optimizers/OptimizerAbstract.php @@ -1,6 +1,6 @@ diff --git a/Library/Parser/Manager.php b/Library/Parser/Manager.php index e96e11fcbd..7a096ce84a 100644 --- a/Library/Parser/Manager.php +++ b/Library/Parser/Manager.php @@ -1,6 +1,6 @@ diff --git a/Library/Parser/Parser.php b/Library/Parser/Parser.php index 3db5a06ddc..aa18bb66cd 100644 --- a/Library/Parser/Parser.php +++ b/Library/Parser/Parser.php @@ -1,6 +1,6 @@ diff --git a/Library/Passes/CallGathererPass.php b/Library/Passes/CallGathererPass.php index a645a3ca3a..2f09d48b38 100644 --- a/Library/Passes/CallGathererPass.php +++ b/Library/Passes/CallGathererPass.php @@ -1,6 +1,6 @@ diff --git a/Library/Passes/LocalContextPass.php b/Library/Passes/LocalContextPass.php index 57a96ab8b1..d09296eb61 100644 --- a/Library/Passes/LocalContextPass.php +++ b/Library/Passes/LocalContextPass.php @@ -1,6 +1,6 @@ diff --git a/Library/Passes/LoopBreakPass.php b/Library/Passes/LoopBreakPass.php index 0083070485..99528b4b74 100644 --- a/Library/Passes/LoopBreakPass.php +++ b/Library/Passes/LoopBreakPass.php @@ -1,6 +1,6 @@ diff --git a/Library/Passes/MutateGathererPass.php b/Library/Passes/MutateGathererPass.php index 62ec0c190d..5758518cf5 100644 --- a/Library/Passes/MutateGathererPass.php +++ b/Library/Passes/MutateGathererPass.php @@ -1,6 +1,6 @@ diff --git a/Library/Passes/SkipVariantInit.php b/Library/Passes/SkipVariantInit.php index 818b94df1f..e6ad7beb83 100644 --- a/Library/Passes/SkipVariantInit.php +++ b/Library/Passes/SkipVariantInit.php @@ -1,6 +1,6 @@ diff --git a/Library/Passes/StaticTypeInference.php b/Library/Passes/StaticTypeInference.php index 7efa66b51b..bcdeac24f1 100644 --- a/Library/Passes/StaticTypeInference.php +++ b/Library/Passes/StaticTypeInference.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/BreakStatement.php b/Library/Statements/BreakStatement.php index d08132f98d..5876df9cc0 100644 --- a/Library/Statements/BreakStatement.php +++ b/Library/Statements/BreakStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/ContinueStatement.php b/Library/Statements/ContinueStatement.php index f90ac0bc1b..dcccf2d09b 100644 --- a/Library/Statements/ContinueStatement.php +++ b/Library/Statements/ContinueStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/DeclareStatement.php b/Library/Statements/DeclareStatement.php index cd8ef50c19..6095d2ca86 100644 --- a/Library/Statements/DeclareStatement.php +++ b/Library/Statements/DeclareStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/DoWhileStatement.php b/Library/Statements/DoWhileStatement.php index c1f4f23bb2..1654a64be1 100644 --- a/Library/Statements/DoWhileStatement.php +++ b/Library/Statements/DoWhileStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/EchoStatement.php b/Library/Statements/EchoStatement.php index bf76b85bda..667d1255de 100644 --- a/Library/Statements/EchoStatement.php +++ b/Library/Statements/EchoStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/ForStatement.php b/Library/Statements/ForStatement.php index 7a4660b323..60d9700eab 100644 --- a/Library/Statements/ForStatement.php +++ b/Library/Statements/ForStatement.php @@ -1,6 +1,6 @@ @@ -299,7 +299,7 @@ public function compileRange($exprRaw, CompilationContext $compilationContext) } /** - * Create an implicit 'let' operation, @TODO use a builder. + * Create an implicit 'let' operation, TODO: use a builder. */ $statement = new LetStatement([ 'type' => 'let', @@ -339,7 +339,7 @@ public function compileRange($exprRaw, CompilationContext $compilationContext) } /** - * Create an implicit 'let' operation, @TODO use a builder. + * Create an implicit 'let' operation, TODO: use a builder. */ $statement = new LetStatement([ 'type' => 'let', @@ -756,7 +756,7 @@ public function compile(CompilationContext $compilationContext) $exprRaw = $this->statement['expr']; /* - * @TODO implement optimizers here + * TODO: implement optimizers here */ if ('fcall' == $exprRaw['type']) { if ('range' == $exprRaw['name']) { diff --git a/Library/Statements/IfStatement.php b/Library/Statements/IfStatement.php index 219131a105..f079af883b 100644 --- a/Library/Statements/IfStatement.php +++ b/Library/Statements/IfStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ArrayIndex.php b/Library/Statements/Let/ArrayIndex.php index d015806825..c42e9d7e29 100644 --- a/Library/Statements/Let/ArrayIndex.php +++ b/Library/Statements/Let/ArrayIndex.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ArrayIndexAppend.php b/Library/Statements/Let/ArrayIndexAppend.php index 36eb01c56b..270d8ff754 100644 --- a/Library/Statements/Let/ArrayIndexAppend.php +++ b/Library/Statements/Let/ArrayIndexAppend.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/Decr.php b/Library/Statements/Let/Decr.php index 6966b62442..0c7e0bb0bb 100644 --- a/Library/Statements/Let/Decr.php +++ b/Library/Statements/Let/Decr.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ExportSymbol.php b/Library/Statements/Let/ExportSymbol.php index 058d3ed589..a8940d6c71 100644 --- a/Library/Statements/Let/ExportSymbol.php +++ b/Library/Statements/Let/ExportSymbol.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ExportSymbolString.php b/Library/Statements/Let/ExportSymbolString.php index d3d63ba316..6097b23922 100644 --- a/Library/Statements/Let/ExportSymbolString.php +++ b/Library/Statements/Let/ExportSymbolString.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/Incr.php b/Library/Statements/Let/Incr.php index b950d17e30..974808f70c 100644 --- a/Library/Statements/Let/Incr.php +++ b/Library/Statements/Let/Incr.php @@ -1,6 +1,6 @@ @@ -40,7 +40,7 @@ public function assign($variable, ZephirVariable $symbolVariable, CompilationCon if ($symbolVariable->isReadOnly()) { /* - * @TODO implement increment of objects members + * TODO: implement increment of objects members */ throw new CompilerException("Cannot mutate variable '".$variable."' because it is read only", $statement); } diff --git a/Library/Statements/Let/ObjectDynamicProperty.php b/Library/Statements/Let/ObjectDynamicProperty.php index e0c7d46410..e5f4aed7c1 100644 --- a/Library/Statements/Let/ObjectDynamicProperty.php +++ b/Library/Statements/Let/ObjectDynamicProperty.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectDynamicStringProperty.php b/Library/Statements/Let/ObjectDynamicStringProperty.php index c356ae9c92..f7b36b8064 100644 --- a/Library/Statements/Let/ObjectDynamicStringProperty.php +++ b/Library/Statements/Let/ObjectDynamicStringProperty.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectProperty.php b/Library/Statements/Let/ObjectProperty.php index 2bacf73381..60de74e51d 100644 --- a/Library/Statements/Let/ObjectProperty.php +++ b/Library/Statements/Let/ObjectProperty.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectPropertyAppend.php b/Library/Statements/Let/ObjectPropertyAppend.php index 32c2bfb2c0..80e85557f7 100644 --- a/Library/Statements/Let/ObjectPropertyAppend.php +++ b/Library/Statements/Let/ObjectPropertyAppend.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectPropertyArrayIndex.php b/Library/Statements/Let/ObjectPropertyArrayIndex.php index 9ad5b78967..b572f17d88 100644 --- a/Library/Statements/Let/ObjectPropertyArrayIndex.php +++ b/Library/Statements/Let/ObjectPropertyArrayIndex.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectPropertyArrayIndexAppend.php b/Library/Statements/Let/ObjectPropertyArrayIndexAppend.php index b20816273f..cb0f51d753 100644 --- a/Library/Statements/Let/ObjectPropertyArrayIndexAppend.php +++ b/Library/Statements/Let/ObjectPropertyArrayIndexAppend.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectPropertyDecr.php b/Library/Statements/Let/ObjectPropertyDecr.php index c415f7541b..768963a298 100644 --- a/Library/Statements/Let/ObjectPropertyDecr.php +++ b/Library/Statements/Let/ObjectPropertyDecr.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/ObjectPropertyIncr.php b/Library/Statements/Let/ObjectPropertyIncr.php index dd874e224d..8ac0a698b4 100644 --- a/Library/Statements/Let/ObjectPropertyIncr.php +++ b/Library/Statements/Let/ObjectPropertyIncr.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/StaticProperty.php b/Library/Statements/Let/StaticProperty.php index 1f246e4bf5..0f9f4880d9 100644 --- a/Library/Statements/Let/StaticProperty.php +++ b/Library/Statements/Let/StaticProperty.php @@ -1,6 +1,6 @@ @@ -36,8 +36,6 @@ class StaticProperty * * @throws CompilerException * @throws IllegalOperationException - * - * @internal param string $variable */ public function assignStatic( string $className, diff --git a/Library/Statements/Let/StaticPropertyAdd.php b/Library/Statements/Let/StaticPropertyAdd.php index bf811b0849..dd47747f4f 100644 --- a/Library/Statements/Let/StaticPropertyAdd.php +++ b/Library/Statements/Let/StaticPropertyAdd.php @@ -1,6 +1,6 @@ @@ -35,8 +35,6 @@ class StaticPropertyAdd * * @throws CompilerException * @throws IllegalOperationException - * - * @internal param string $variable */ public function assignStatic( string $className, diff --git a/Library/Statements/Let/StaticPropertyAppend.php b/Library/Statements/Let/StaticPropertyAppend.php index 46b5a5d306..8303d5057e 100644 --- a/Library/Statements/Let/StaticPropertyAppend.php +++ b/Library/Statements/Let/StaticPropertyAppend.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/StaticPropertyArrayIndex.php b/Library/Statements/Let/StaticPropertyArrayIndex.php index a5774a243c..688524cd17 100644 --- a/Library/Statements/Let/StaticPropertyArrayIndex.php +++ b/Library/Statements/Let/StaticPropertyArrayIndex.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/StaticPropertyArrayIndexAppend.php b/Library/Statements/Let/StaticPropertyArrayIndexAppend.php index 4d6e413d1d..14e76feaec 100644 --- a/Library/Statements/Let/StaticPropertyArrayIndexAppend.php +++ b/Library/Statements/Let/StaticPropertyArrayIndexAppend.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/StaticPropertySub.php b/Library/Statements/Let/StaticPropertySub.php index cb61ccaf90..a365978c7c 100644 --- a/Library/Statements/Let/StaticPropertySub.php +++ b/Library/Statements/Let/StaticPropertySub.php @@ -1,6 +1,6 @@ @@ -35,8 +35,6 @@ class StaticPropertySub * * @throws CompilerException * @throws IllegalOperationException - * - * @internal param string $variable */ public function assignStatic( string $className, diff --git a/Library/Statements/Let/Variable.php b/Library/Statements/Let/Variable.php index f5ebb86c5f..8eae559ed2 100644 --- a/Library/Statements/Let/Variable.php +++ b/Library/Statements/Let/Variable.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/Let/VariableAppend.php b/Library/Statements/Let/VariableAppend.php index 66e7529ea9..157b913dcd 100644 --- a/Library/Statements/Let/VariableAppend.php +++ b/Library/Statements/Let/VariableAppend.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/LetStatement.php b/Library/Statements/LetStatement.php index 2859e86063..79bccd7f70 100644 --- a/Library/Statements/LetStatement.php +++ b/Library/Statements/LetStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/LoopStatement.php b/Library/Statements/LoopStatement.php index 60b79fd69d..525182745c 100644 --- a/Library/Statements/LoopStatement.php +++ b/Library/Statements/LoopStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/RequireStatement.php b/Library/Statements/RequireStatement.php index b7ad0899a1..17cc9f8982 100644 --- a/Library/Statements/RequireStatement.php +++ b/Library/Statements/RequireStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/ReturnStatement.php b/Library/Statements/ReturnStatement.php index dc735eb2bb..37f7f28d03 100644 --- a/Library/Statements/ReturnStatement.php +++ b/Library/Statements/ReturnStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/StatementAbstract.php b/Library/Statements/StatementAbstract.php index a385dba080..96f75c5954 100644 --- a/Library/Statements/StatementAbstract.php +++ b/Library/Statements/StatementAbstract.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/SwitchStatement.php b/Library/Statements/SwitchStatement.php index 5e1dc0bb00..29cc6fe92b 100644 --- a/Library/Statements/SwitchStatement.php +++ b/Library/Statements/SwitchStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/ThrowStatement.php b/Library/Statements/ThrowStatement.php index a30351f23b..61add0b163 100644 --- a/Library/Statements/ThrowStatement.php +++ b/Library/Statements/ThrowStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/Statements/TryCatchStatement.php b/Library/Statements/TryCatchStatement.php index 60f09eb0d4..5625d05086 100644 --- a/Library/Statements/TryCatchStatement.php +++ b/Library/Statements/TryCatchStatement.php @@ -1,6 +1,6 @@ @@ -83,7 +83,7 @@ public function compile(CompilationContext $compilationContext) } /* - * @TODO, use a builder here + * TODO:, use a builder here */ $variable->setIsInitialized(true, $compilationContext); $variable->setMustInitNull(true); @@ -106,7 +106,7 @@ public function compile(CompilationContext $compilationContext) ) ->setStatements($exprBuilder->statements()->block(array_merge( [ - $exprBuilder->statements()->rawC('zend_clear_exception(TSRMLS_C);'), + $exprBuilder->statements()->rawC('zend_clear_exception();'), $assignExceptionVarStmt, ], isset($catch['statements']) ? $catch['statements'] : [] @@ -127,7 +127,7 @@ public function compile(CompilationContext $compilationContext) $codePrinter->decreaseLevel(); $codePrinter->output('}'); } else { - $codePrinter->output('zend_clear_exception(TSRMLS_C);'); + $codePrinter->output('zend_clear_exception();'); } } } diff --git a/Library/Statements/UnsetStatement.php b/Library/Statements/UnsetStatement.php index bb4efe9a0f..7c1eceb6f2 100644 --- a/Library/Statements/UnsetStatement.php +++ b/Library/Statements/UnsetStatement.php @@ -1,6 +1,6 @@ @@ -61,7 +61,7 @@ public function compile(CompilationContext $compilationContext) return true; case 'property-dynamic-access': - //@todo fix it + //TODO: fix it default: throw new CompilerException('Cannot use expression type: '.$expression['type'].' in "unset"', $expression); diff --git a/Library/Statements/WhileStatement.php b/Library/Statements/WhileStatement.php index 9be9b0eb66..c72309d941 100644 --- a/Library/Statements/WhileStatement.php +++ b/Library/Statements/WhileStatement.php @@ -1,6 +1,6 @@ diff --git a/Library/StatementsBlock.php b/Library/StatementsBlock.php index c4dd57c8e2..60e3d86dce 100644 --- a/Library/StatementsBlock.php +++ b/Library/StatementsBlock.php @@ -1,6 +1,6 @@ @@ -141,7 +141,7 @@ public function compile(CompilationContext $compilationContext, $unreachable = f foreach ($statements as $statement) { /* - * @todo Generate GDB hints + * TODO: Generate GDB hints */ if ($this->debug) { if (isset($statement['file'])) { diff --git a/Library/StaticCall.php b/Library/StaticCall.php index 571337eee3..21d1fe67c1 100644 --- a/Library/StaticCall.php +++ b/Library/StaticCall.php @@ -1,6 +1,6 @@ diff --git a/Library/StringsManager.php b/Library/StringsManager.php index 18c630adf4..cb1d8f72dc 100644 --- a/Library/StringsManager.php +++ b/Library/StringsManager.php @@ -1,6 +1,6 @@ diff --git a/Library/Stubs/DocBlock.php b/Library/Stubs/DocBlock.php index 8ea6eae606..3b67eff8c5 100644 --- a/Library/Stubs/DocBlock.php +++ b/Library/Stubs/DocBlock.php @@ -1,6 +1,6 @@ diff --git a/Library/Stubs/Generator.php b/Library/Stubs/Generator.php index c7c08b2e34..db4feba6e7 100644 --- a/Library/Stubs/Generator.php +++ b/Library/Stubs/Generator.php @@ -1,6 +1,6 @@ @@ -11,6 +11,7 @@ namespace Zephir\Stubs; +use Zephir\AliasManager; use Zephir\ClassConstant; use Zephir\ClassDefinition; use Zephir\ClassMethod; @@ -107,7 +108,7 @@ protected function buildClass(ClassDefinition $class, string $indent, string $ba $source .= '' === $banner ? '' : $banner.PHP_EOL; $source .= "namespace {$class->getNamespace()};".PHP_EOL; - /** @var Zephir\AliasManager $aliasManager */ + /** @var AliasManager $aliasManager */ $aliasManager = $class->getAliasManager(); $aliases = $aliasManager->getAliases(); @@ -304,8 +305,8 @@ protected function buildMethod(ClassMethod $method, bool $isInterface, string $i /** * TODO: Add $method->isVoid() check after removing PHP 7.0 support. * - * @see https://github.com/phalcon/zephir/issues/1977 - * @see https://github.com/phalcon/zephir/pull/1978 + * @see https://github.com/zephir-lang/zephir/issues/1977 + * @see https://github.com/zephir-lang/zephir/pull/1978 */ if (version_compare(PHP_VERSION, '7.0.0', '>=') && $method->hasReturnTypes()) { $supported = 0; @@ -381,16 +382,16 @@ protected function wrapPHPValue(array $parameter): string { switch ($parameter['default']['type']) { case 'null': - return 'null'; + $returnValue = 'null'; break; case 'string': case 'char': - return '\''.addslashes($parameter['default']['value']).'\''; + $returnValue = '\''.addslashes($parameter['default']['value']).'\''; break; case 'empty-array': - return 'array()'; + $returnValue = 'array()'; break; case 'array': @@ -412,17 +413,17 @@ protected function wrapPHPValue(array $parameter): string ]); } - return 'array('.implode(', ', $parameters).')'; + $returnValue = 'array('.implode(', ', $parameters).')'; break; case 'static-constant-access': - return $parameter['default']['left']['value'].'::'.$parameter['default']['right']['value']; + $returnValue = $parameter['default']['left']['value'].'::'.$parameter['default']['right']['value']; break; case 'int': case 'double': case 'bool': - return $parameter['default']['value']; + $returnValue = $parameter['default']['value']; break; default: @@ -432,7 +433,8 @@ protected function wrapPHPValue(array $parameter): string $parameter['default']['type'] ) ); - break; } + + return $returnValue; } } diff --git a/Library/Stubs/MethodDocBlock.php b/Library/Stubs/MethodDocBlock.php index 2741a2c264..0ceaaf3621 100644 --- a/Library/Stubs/MethodDocBlock.php +++ b/Library/Stubs/MethodDocBlock.php @@ -1,6 +1,6 @@ @@ -18,7 +18,7 @@ /** * Stubs Generator. * - * @todo: Merge class with documentation generator + * TODO: Merge class with documentation generator */ class MethodDocBlock extends DocBlock { @@ -60,7 +60,7 @@ public function __construct(ClassMethod $method, AliasManager $aliasManager, $in * * @return string */ - public function processMethodDocBlock() + public function processMethodDocBlock(): string { $this->parseMethodParameters($this->classMethod); $this->parseLines(); diff --git a/Library/Support/PropertyAccessor.php b/Library/Support/PropertyAccessor.php index c99940528c..fa4a0c208b 100644 --- a/Library/Support/PropertyAccessor.php +++ b/Library/Support/PropertyAccessor.php @@ -1,6 +1,6 @@ diff --git a/Library/SymbolTable.php b/Library/SymbolTable.php index 262cac00a7..b451929cf0 100644 --- a/Library/SymbolTable.php +++ b/Library/SymbolTable.php @@ -1,6 +1,6 @@ @@ -447,7 +447,7 @@ public function getVariableForWrite($name, CompilationContext $compilationContex if ($this->globalsManager->isSuperGlobal($name)) { if (!$this->hasVariable($name)) { /** - * @TODO, injecting globals, initialize to null and check first? + * TODO:, injecting globals, initialize to null and check first? */ $superVar = new Variable('variable', $name, $compilationContext->branchManager->getCurrentBranch()); $superVar->setIsInitialized(true, $compilationContext); @@ -504,7 +504,7 @@ public function getVariableForUpdate($name, CompilationContext $compilationConte if ($this->globalsManager->isSuperGlobal($name)) { if (!$this->hasVariable($name)) { /** - * @TODO, injecting globals, initialize to null and check first? + * TODO:, injecting globals, initialize to null and check first? */ $superVar = new Variable('variable', $name, $compilationContext->branchManager->getCurrentBranch()); $superVar->setIsInitialized(true, $compilationContext); diff --git a/Library/TypeAwareInterface.php b/Library/TypeAwareInterface.php index 5563291d06..a6f391c9be 100644 --- a/Library/TypeAwareInterface.php +++ b/Library/TypeAwareInterface.php @@ -1,6 +1,6 @@ diff --git a/Library/Types.php b/Library/Types.php index 532bdd60f9..e699e0b27a 100644 --- a/Library/Types.php +++ b/Library/Types.php @@ -1,6 +1,6 @@ @@ -119,12 +119,12 @@ public function getReturnTypeAnnotation(ClassMethod $method, array $returnTypes return static::T_MIXED.$nullableType; } - if ($isTypeHinted && !$isBasicTypes && !$isDynamic) { + if ($isTypeHinted && !$isBasicTypes && !$isDynamic && !$isNullable) { return implode('|', array_keys($returnTypes)); } if ($isTypeHinted && $isProcessedReturnType) { - $withoutNullable = array_filter(array_values($returnTypes), static function ($ret) { + $withoutNullable = array_filter(array_keys($returnTypes), static function ($ret) { if ($ret !== static::T_NULL) { return $ret; } @@ -347,13 +347,12 @@ private function isNullable(array $types): bool * * @param array $types - Return types from parser * @param array $allowedTypes - Allowed return types - * + * @param bool $isNullable * @return bool */ private function areReturnTypesCompatible(array $types, array $allowedTypes, bool $isNullable = false): bool { $result = null; - $areEquals = false; if ($isNullable) { $allowedTypes[] = static::T_NULL; diff --git a/Library/Types/AbstractType.php b/Library/Types/AbstractType.php index 9ff5522d69..e8c9c81db0 100644 --- a/Library/Types/AbstractType.php +++ b/Library/Types/AbstractType.php @@ -1,6 +1,6 @@ diff --git a/Library/Types/ArrayType.php b/Library/Types/ArrayType.php index 20de3738be..8e64d2cc00 100644 --- a/Library/Types/ArrayType.php +++ b/Library/Types/ArrayType.php @@ -1,6 +1,6 @@ diff --git a/Library/Types/CharType.php b/Library/Types/CharType.php index 9d4a628120..385fcd6330 100644 --- a/Library/Types/CharType.php +++ b/Library/Types/CharType.php @@ -1,6 +1,6 @@ diff --git a/Library/Types/DoubleType.php b/Library/Types/DoubleType.php index 51cb2c290b..85d3b55b99 100644 --- a/Library/Types/DoubleType.php +++ b/Library/Types/DoubleType.php @@ -1,6 +1,6 @@ diff --git a/Library/Types/IntType.php b/Library/Types/IntType.php index d181fdf55a..c8dcb8ee3c 100644 --- a/Library/Types/IntType.php +++ b/Library/Types/IntType.php @@ -1,6 +1,6 @@ diff --git a/Library/Types/IstringType.php b/Library/Types/IstringType.php index d64d05c174..9ec29efe29 100644 --- a/Library/Types/IstringType.php +++ b/Library/Types/IstringType.php @@ -1,6 +1,6 @@ diff --git a/Library/Types/StringType.php b/Library/Types/StringType.php index dad5ff6744..e7a70f3f82 100644 --- a/Library/Types/StringType.php +++ b/Library/Types/StringType.php @@ -1,6 +1,6 @@ @@ -18,7 +18,7 @@ * * Encapsulates built-in methods for the "string" type * - * @TODO explode, join, replace + * TODO: explode, join, replace */ class StringType extends AbstractType { diff --git a/Library/Variable.php b/Library/Variable.php index 6081ebfe4e..56947d72bb 100644 --- a/Library/Variable.php +++ b/Library/Variable.php @@ -1,6 +1,6 @@ diff --git a/Library/Variable/Globals.php b/Library/Variable/Globals.php index b31c5bf11a..1cc80cf289 100644 --- a/Library/Variable/Globals.php +++ b/Library/Variable/Globals.php @@ -1,6 +1,6 @@ diff --git a/Library/Zephir.php b/Library/Zephir.php index 58342a5ceb..e9d819d513 100644 --- a/Library/Zephir.php +++ b/Library/Zephir.php @@ -1,6 +1,6 @@ @@ -16,7 +16,7 @@ */ final class Zephir { - const VERSION = '0.12.20-$Id$'; + const VERSION = '0.13.0-$Id$'; const LOGO = <<<'ASCII' _____ __ _ diff --git a/Library/autoload.php b/Library/autoload.php index c0d7e8a3f0..3308474f55 100644 --- a/Library/autoload.php +++ b/Library/autoload.php @@ -1,6 +1,6 @@ diff --git a/Library/bootstrap.php b/Library/bootstrap.php index f8af418b1d..af05b775f9 100644 --- a/Library/bootstrap.php +++ b/Library/bootstrap.php @@ -1,6 +1,6 @@ @@ -11,13 +11,6 @@ namespace Zephir; -if (\PHP_VERSION_ID >= 70300) { - // See: https://github.com/zendframework/zend-code/issues/160 - // At this time we cannot bump the version. - // TODO: Remove this code after drop PHP 7.0 support - error_reporting(E_ALL & ~E_WARNING); -} - set_error_handler( static function ($code, $message, $file = '', $line = -1) { if (error_reporting() & $code) { @@ -26,10 +19,10 @@ static function ($code, $message, $file = '', $line = -1) { } ); -if (filter_var(getenv('ZEPHIR_DEBUG'), FILTER_VALIDATE_BOOLEAN)) { +if (filter_var(getenv('ZEPHIR_DEBUG'), \FILTER_VALIDATE_BOOLEAN)) { set_exception_handler( static function (\Throwable $t) { - fwrite(STDERR, "[ERROR] {$t->getMessage()}".PHP_EOL); + fwrite(\STDERR, "[ERROR] {$t->getMessage()}".\PHP_EOL); exit(1); } diff --git a/Library/functions.php b/Library/functions.php index 15d73c76b3..20be7be875 100644 --- a/Library/functions.php +++ b/Library/functions.php @@ -1,6 +1,6 @@ diff --git a/README.md b/README.md index cfefec6e92..fe19e49153 100644 --- a/README.md +++ b/README.md @@ -47,14 +47,14 @@ Support us with a monthly donation and help us continue our activities. Zephir licensed under the MIT License. See the [LICENSE](./LICENSE) file for more information. [docs]: https://docs.zephir-lang.com -[zephir]: https://github.com/phalcon/zephir +[zephir]: https://github.com/zephir-lang/zephir [facebook]: https://www.facebook.com/groups/zephir.language [discord]: https://phalcon.link/discord [zephir logo]: https://assets.phalconphp.com/zephir/zephir_logo-105x36.svg [web site]: https://zephir-lang.com -[actions link]: https://github.com/phalcon/zephir/actions -[actions unix]: https://github.com/phalcon/zephir/workflows/Unix%20CI/badge.svg -[actions windows]: https://github.com/phalcon/zephir/workflows/Windows%20CI/badge.svg +[actions link]: https://github.com/zephir-lang/zephir/actions +[actions unix]: https://github.com/zephir-lang/zephir/workflows/Unix%20CI/badge.svg +[actions windows]: https://github.com/zephir-lang/zephir/workflows/Windows%20CI/badge.svg [version badge]: https://poser.pugx.org/phalcon/zephir/v/stable.svg [packagist link]: https://packagist.org/packages/phalcon/zephir [license badge]: https://poser.pugx.org/phalcon/zephir/license.svg diff --git a/WINDOWS.md b/WINDOWS.md index feb867772c..885b964680 100644 --- a/WINDOWS.md +++ b/WINDOWS.md @@ -19,7 +19,7 @@ PHP-Version requirements are marked using `[ ]` setx path "%path%;c:\path-to-php\" ``` - [Install PHP SDK for PHP 5.6](http://windows.php.net/downloads/php-sdk/)(Currently `php-sdk-binary-tools-20110915.zip` is the newest) -- [Install PHP SDK for PHP 7.0+](https://github.com/Microsoft/php-sdk-binary-tools/releases) +- [Install PHP SDK for PHP 7.0+](https://github.com/Microsoft/php-sdk-binary-tools/releases) ```cmd setx php_sdk "c:\path-to-php-sdk" ``` @@ -41,7 +41,7 @@ composer install ## Installation of Zephir Parser -1. Download [Zephir Parser for Windows](https://github.com/phalcon/php-zephir-parser/releases/latest) +1. Download [Zephir Parser for Windows](https://github.com/zephir-lang/php-zephir-parser/releases/latest) 2. Extract the DLL file and copy it to your PHP extensions directory 3. Edit your `php.ini` file and add this line: ```ini @@ -51,7 +51,7 @@ composer install extension=zephir_parser.dll ``` -**NOTE**: Also you can [compile it yourself.](https://github.com/phalcon/php-zephir-parser/blob/master/README.WIN32-BUILD-SYSTEM) +**NOTE**: Also you can [compile it yourself.](https://github.com/zephir-lang/php-zephir-parser/blob/master/README.WIN32-BUILD-SYSTEM) ## Usage of Zephir diff --git a/composer.json b/composer.json index f1d36d25b8..fca4b66ffc 100644 --- a/composer.json +++ b/composer.json @@ -17,12 +17,11 @@ }, { "name": "Contributors", - "homepage": "https://github.com/phalcon/zephir/graphs/contributors" + "homepage": "https://github.com/zephir-lang/zephir/graphs/contributors" } ], "require": { - "php": ">=7.2 <8.0", - "ext-SPL": "*", + "php": ">=7.4.1", "ext-ctype": "*", "ext-hash": "*", "ext-json": "*", @@ -30,7 +29,7 @@ "ext-pcre": "*", "ext-xml": "*", "ext-zlib": "*", - "ocramius/proxy-manager": "2.0.4", + "ocramius/proxy-manager": "^2.10", "oneup/flysystem-bundle": "^1.14 || ^3.0", "symfony/cache": "3.4.*", "symfony/config": "3.4.*", @@ -52,9 +51,8 @@ "ext-pdo": "*", "ext-pdo_sqlite": "*", "ext-zip": "*", - "psr/log": "1.1.*", - "symfony/debug": "3.4.*", - "symfony/phpunit-bridge": "4.3.*" + "phpunit/phpunit": "^9.5", + "psr/log": "1.1.*" }, "config": { "optimize-autoloader": true, @@ -85,8 +83,8 @@ "zephir" ], "support": { - "issues": "https://github.com/phalcon/zephir/issues?state=open", - "source": "https://github.com/phalcon/zephir", + "issues": "https://github.com/zephir-lang/zephir/issues?state=open", + "source": "https://github.com/zephir-lang/zephir", "irc": "irc://irc.freenode.net/zephir", "docs": "https://docs.zephir-lang.com" } diff --git a/composer.lock b/composer.lock new file mode 100755 index 0000000000..155fd42602 --- /dev/null +++ b/composer.lock @@ -0,0 +1,5126 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "dde851ce9c6000d79a80d6658a0a461f", + "packages": [ + { + "name": "composer/package-versions-deprecated", + "version": "1.11.99.1", + "source": { + "type": "git", + "url": "https://github.com/composer/package-versions-deprecated.git", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0 || ^2.0", + "php": "^7 || ^8" + }, + "replace": { + "ocramius/package-versions": "1.11.99" + }, + "require-dev": { + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13", + "phpunit/phpunit": "^6.5 || ^7" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-11T10:22:58+00:00" + }, + { + "name": "laminas/laminas-code", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-code.git", + "reference": "28a6d70ea8b8bca687d7163300e611ae33baf82a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-code/zipball/28a6d70ea8b8bca687d7163300e611ae33baf82a", + "reference": "28a6d70ea8b8bca687d7163300e611ae33baf82a", + "shasum": "" + }, + "require": { + "laminas/laminas-eventmanager": "^3.3", + "php": "^7.4 || ~8.0.0" + }, + "conflict": { + "phpspec/prophecy": "<1.9.0" + }, + "replace": { + "zendframework/zend-code": "self.version" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4", + "ext-phar": "*", + "laminas/laminas-coding-standard": "^2.1.4", + "laminas/laminas-stdlib": "^3.3.0", + "phpunit/phpunit": "^9.4.2", + "psalm/plugin-phpunit": "^0.14.0", + "vimeo/psalm": "^4.3.1" + }, + "suggest": { + "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", + "laminas/laminas-stdlib": "Laminas\\Stdlib component", + "laminas/laminas-zendframework-bridge": "A bridge with Zend Framework" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Code\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", + "homepage": "https://laminas.dev", + "keywords": [ + "code", + "laminas", + "laminasframework" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-code/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-code/issues", + "rss": "https://github.com/laminas/laminas-code/releases.atom", + "source": "https://github.com/laminas/laminas-code" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-12-30T16:16:14+00:00" + }, + { + "name": "laminas/laminas-eventmanager", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-eventmanager.git", + "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-eventmanager/zipball/1940ccf30e058b2fd66f5a9d696f1b5e0027b082", + "reference": "1940ccf30e058b2fd66f5a9d696f1b5e0027b082", + "shasum": "" + }, + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.3 || ^8.0" + }, + "replace": { + "zendframework/zend-eventmanager": "^3.2.1" + }, + "require-dev": { + "container-interop/container-interop": "^1.1", + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-stdlib": "^2.7.3 || ^3.0", + "phpbench/phpbench": "^0.17.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "container-interop/container-interop": "^1.1, to use the lazy listeners feature", + "laminas/laminas-stdlib": "^2.7.3 || ^3.0, to use the FilterChain feature" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3.x-dev", + "dev-develop": "3.4.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laminas\\EventManager\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Trigger and listen to events within a PHP application", + "homepage": "https://laminas.dev", + "keywords": [ + "event", + "eventmanager", + "events", + "laminas" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-eventmanager/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-eventmanager/issues", + "rss": "https://github.com/laminas/laminas-eventmanager/releases.atom", + "source": "https://github.com/laminas/laminas-eventmanager" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2020-08-25T11:10:44+00:00" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "6cccbddfcfc742eb02158d6137ca5687d92cee32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6cccbddfcfc742eb02158d6137ca5687d92cee32", + "reference": "6cccbddfcfc742eb02158d6137ca5687d92cee32", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", + "psalm/plugin-phpunit": "^0.15.1", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.6" + }, + "type": "library", + "extra": { + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2021-02-25T21:54:58+00:00" + }, + { + "name": "league/flysystem", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/9be3b16c877d477357c015cec057548cf9b2a14a", + "reference": "9be3b16c877d477357c015cec057548cf9b2a14a", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/mime-type-detection": "^1.3", + "php": "^7.2.5 || ^8.0" + }, + "conflict": { + "league/flysystem-sftp": "<1.0.6" + }, + "require-dev": { + "phpspec/prophecy": "^1.11.1", + "phpunit/phpunit": "^8.5.8" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "ext-ftp": "Allows you to use FTP server storage", + "ext-openssl": "Allows you to use FTPS server storage", + "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", + "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", + "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frenky.net" + } + ], + "description": "Filesystem abstraction: Many filesystems, one API.", + "keywords": [ + "Cloud Files", + "WebDAV", + "abstraction", + "aws", + "cloud", + "copy.com", + "dropbox", + "file systems", + "files", + "filesystem", + "filesystems", + "ftp", + "rackspace", + "remote", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.x" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], + "time": "2020-08-23T07:39:11+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.18", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2021-01-18T20:58:21+00:00" + }, + { + "name": "monolog/monolog", + "version": "1.26.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "2209ddd84e7ef1256b7af205d0717fb62cfc9c33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/2209ddd84e7ef1256b7af205d0717fb62cfc9c33", + "reference": "2209ddd84e7ef1256b7af205d0717fb62cfc9c33", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": "~1.0" + }, + "provide": { + "psr/log-implementation": "1.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "graylog2/gelf-php": "~1.0", + "php-amqplib/php-amqplib": "~2.4", + "php-console/php-console": "^3.1.3", + "phpstan/phpstan": "^0.12.59", + "phpunit/phpunit": "~4.5", + "ruflin/elastica": ">=0.90 <3.0", + "sentry/sentry": "^0.13", + "swiftmailer/swiftmailer": "^5.3|^6.0" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "php-console/php-console": "Allow sending log messages to Google Chrome", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "sentry/sentry": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/1.26.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2020-12-14T12:56:38+00:00" + }, + { + "name": "ocramius/proxy-manager", + "version": "2.11.1", + "source": { + "type": "git", + "url": "https://github.com/Ocramius/ProxyManager.git", + "reference": "96bb91b7b52324080accf1d0137f491ff378ecf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Ocramius/ProxyManager/zipball/96bb91b7b52324080accf1d0137f491ff378ecf1", + "reference": "96bb91b7b52324080accf1d0137f491ff378ecf1", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.0.0", + "laminas/laminas-code": "^4.0.0", + "php": "~7.4.1 || ~8.0.0", + "webimpress/safe-writer": "^2.0.1" + }, + "conflict": { + "doctrine/annotations": "<1.6.1", + "laminas/laminas-stdlib": "<3.2.1", + "thecodingmachine/safe": "<1.3.3", + "zendframework/zend-stdlib": "<3.2.1" + }, + "require-dev": { + "codelicia/xulieta": "^0.1.5", + "doctrine/coding-standard": "^8.1.0", + "ext-phar": "*", + "infection/infection": "^0.20.2", + "nikic/php-parser": "^4.6.0", + "phpbench/phpbench": "^0.17.1 || 1.0.0-alpha2", + "phpunit/phpunit": "^9.4.1", + "slevomat/coding-standard": "^6.3.10", + "squizlabs/php_codesniffer": "^3.5.5", + "vimeo/psalm": "^4.3.2" + }, + "suggest": { + "laminas/laminas-json": "To have the JsonRpc adapter (Remote Object feature)", + "laminas/laminas-soap": "To have the Soap adapter (Remote Object feature)", + "laminas/laminas-xmlrpc": "To have the XmlRpc adapter (Remote Object feature)", + "ocramius/generated-hydrator": "To have very fast object to array to object conversion for ghost objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "ProxyManager\\": "src/ProxyManager" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.io/" + } + ], + "description": "A library providing utilities to generate, instantiate and generally operate with Object Proxies", + "homepage": "https://github.com/Ocramius/ProxyManager", + "keywords": [ + "aop", + "lazy loading", + "proxy", + "proxy pattern", + "service proxies" + ], + "support": { + "issues": "https://github.com/Ocramius/ProxyManager/issues", + "source": "https://github.com/Ocramius/ProxyManager/tree/2.11.1" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", + "type": "tidelift" + } + ], + "time": "2021-01-10T16:12:59+00:00" + }, + { + "name": "oneup/flysystem-bundle", + "version": "3.7.0", + "source": { + "type": "git", + "url": "https://github.com/1up-lab/OneupFlysystemBundle.git", + "reference": "de1aa0fa361496b3837da5cac286f029595581da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/1up-lab/OneupFlysystemBundle/zipball/de1aa0fa361496b3837da5cac286f029595581da", + "reference": "de1aa0fa361496b3837da5cac286f029595581da", + "shasum": "" + }, + "require": { + "league/flysystem": "^1.0.26", + "php": ">=7.1", + "symfony/config": "^3.4 || ^4.0 || ^5.0", + "symfony/dependency-injection": "^3.4 || ^4.0 || ^5.0", + "symfony/http-kernel": "^3.4 || ^4.0 || ^5.0" + }, + "conflict": { + "async-aws/flysystem-s3": "<1.0" + }, + "require-dev": { + "async-aws/flysystem-s3": "^1.0", + "jenko/flysystem-gaufrette": "^1.0", + "league/flysystem-aws-s3-v2": "^1.0", + "league/flysystem-azure-blob-storage": "^0.1", + "league/flysystem-cached-adapter": "^1.0", + "league/flysystem-gridfs": "^1.0", + "league/flysystem-memory": "^1.0", + "league/flysystem-rackspace": "^1.0", + "league/flysystem-replicate-adapter": "^1.0", + "league/flysystem-sftp": "^1.0", + "league/flysystem-webdav": "^1.0", + "league/flysystem-ziparchive": "^1.0", + "litipk/flysystem-fallback-adapter": "^0.1", + "phpunit/phpunit": "^6.5 || ^7.5 || ^8.5", + "spatie/flysystem-dropbox": "^1.0", + "superbalist/flysystem-google-storage": "^4.0", + "symfony/asset": "^3.4 || ^4.0 || ^5.0", + "symfony/browser-kit": "^3.4 || ^4.0 || ^5.0", + "symfony/finder": "^3.4 || ^4.0 || ^5.0", + "symfony/templating": "^3.4 || ^4.0 || ^5.0", + "symfony/translation": "^3.4 || ^4.0 || ^5.0", + "symfony/yaml": "^3.4 || ^4.0 || ^5.0", + "twistor/flysystem-stream-wrapper": "^1.0" + }, + "suggest": { + "ext-fileinfo": "Required for MimeType", + "ext-ftp": "Required for FTP and SFTP", + "jenko/flysystem-gaufrette": "Allows you to use gaufrette adapter", + "league/flysystem-aws-s3-v2": "Use S3 storage with AWS SDK v2", + "league/flysystem-aws-s3-v3": "Use S3 storage with AWS SDK v3", + "league/flysystem-azure-blob-storage": "Allows you to use Azure Blob Storage adapter", + "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", + "league/flysystem-gridfs": "Allows you to use GridFS adapter", + "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", + "league/flysystem-replicate-adapter": "Allows you to use the Replicate adapter from Flysystem", + "league/flysystem-sftp": "Allows SFTP server storage via phpseclib", + "league/flysystem-webdav": "Allows you to use WebDAV storage", + "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", + "litipk/flysystem-fallback-adapter": "Allows you to use a fallback filesystem", + "spatie/flysystem-dropbox": "Use Dropbox storage", + "superbalist/flysystem-google-storage": "Allows you to use Google Cloud Storage buckets", + "twistor/flysystem-stream-wrapper": "Allows you to use stream wrapper" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Oneup\\FlysystemBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Schmid", + "email": "js@1up.io", + "homepage": "https://1up.io", + "role": "Developer" + }, + { + "name": "David Greminger", + "email": "dg@1up.io", + "homepage": "https://1up.io", + "role": "Developer" + } + ], + "description": "Integrates Flysystem filesystem abstraction library to your Symfony project.", + "homepage": "https://1up.io", + "keywords": [ + "Flysystem", + "abstraction", + "filesystem", + "symfony" + ], + "support": { + "issues": "https://github.com/1up-lab/OneupFlysystemBundle/issues", + "source": "https://github.com/1up-lab/OneupFlysystemBundle/tree/3.7.0" + }, + "time": "2020-12-22T08:19:35+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, + "time": "2020-03-23T09:12:05+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "symfony/cache", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "a7a14c4832760bd1fbd31be2859ffedc9b6ff813" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/a7a14c4832760bd1fbd31be2859ffedc9b6ff813", + "reference": "a7a14c4832760bd1fbd31be2859ffedc9b6ff813", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/cache": "~1.0", + "psr/log": "~1.0", + "psr/simple-cache": "^1.0", + "symfony/polyfill-apcu": "~1.1" + }, + "conflict": { + "symfony/var-dumper": "<3.3" + }, + "provide": { + "psr/cache-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "^1.6", + "doctrine/dbal": "^2.4|^3.0", + "predis/predis": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Cache component with PSR-6, PSR-16, and tags", + "homepage": "https://symfony.com", + "keywords": [ + "caching", + "psr6" + ], + "support": { + "source": "https://github.com/symfony/cache/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/class-loader", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/class-loader.git", + "reference": "a22265a9f3511c0212bf79f54910ca5a77c0e92c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/a22265a9f3511c0212bf79f54910ca5a77c0e92c", + "reference": "a22265a9f3511c0212bf79f54910ca5a77c0e92c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "require-dev": { + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/polyfill-apcu": "~1.1" + }, + "suggest": { + "symfony/polyfill-apcu": "For using ApcClassLoader on HHVM" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ClassLoader\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ClassLoader Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/class-loader/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/config", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", + "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/filesystem": "~2.8|~3.0|~4.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3", + "symfony/finder": "<3.3" + }, + "require-dev": { + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/event-dispatcher": "~3.3|~4.0", + "symfony/finder": "~3.3|~4.0", + "symfony/yaml": "~3.0|~4.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Config Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/console", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81", + "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/dependency-injection": "<3.4", + "symfony/process": "<3.3" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~3.3|~4.0", + "symfony/dependency-injection": "~3.4|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/lock": "~3.4|~4.0", + "symfony/process": "~3.3|~4.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.4.20", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "157bbec4fd773bae53c5483c50951a5530a2cc16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/157bbec4fd773bae53c5483c50951a5530a2cc16", + "reference": "157bbec4fd773bae53c5483c50951a5530a2cc16", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "psr/log": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "^3.4|^4.0|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Debug\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.20" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-28T16:54:48+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/51d2a2708c6ceadad84393f8581df1dcf9e5e84b", + "reference": "51d2a2708c6ceadad84393f8581df1dcf9e5e84b", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/container": "^1.0" + }, + "conflict": { + "symfony/config": "<3.3.7", + "symfony/finder": "<3.3", + "symfony/proxy-manager-bridge": "<3.4", + "symfony/yaml": "<3.4" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "require-dev": { + "symfony/config": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony DependencyInjection Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/master" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-09-07T11:33:47+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "31fde73757b6bad247c54597beef974919ec6860" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/31fde73757b6bad247c54597beef974919ec6860", + "reference": "31fde73757b6bad247c54597beef974919ec6860", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/dependency-injection": "<3.3" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/debug": "~3.4|~4.4", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e58d7841cddfed6e846829040dca2cca0ebbbbb3", + "reference": "e58d7841cddfed6e846829040dca2cca0ebbbbb3", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/finder", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", + "reference": "b6b6ad3db3edb1b4b1c1896b1975fb684994de6e", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-11-16T17:02:08+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "6c95e747b75ddd2af61152ce93bf87299d15710e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/6c95e747b75ddd2af61152ce93bf87299d15710e", + "reference": "6c95e747b75ddd2af61152ce93bf87299d15710e", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": "^5.5.9|>=7.0.8", + "symfony/cache": "~3.4.31|^4.3.4", + "symfony/class-loader": "~3.2", + "symfony/config": "^3.4.31|^4.3.4", + "symfony/debug": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "^3.4.24|^4.2.5", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/filesystem": "~2.8|~3.0|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "^3.4.38|^4.3", + "symfony/http-kernel": "^3.4.44|^4.3.4", + "symfony/polyfill-mbstring": "~1.0", + "symfony/routing": "^3.4.5|^4.0.5" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.0", + "phpdocumentor/type-resolver": "<0.2.1", + "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", + "symfony/asset": "<3.3", + "symfony/console": "<3.4", + "symfony/form": "<3.4", + "symfony/property-info": "<3.3", + "symfony/serializer": "<3.3", + "symfony/stopwatch": "<3.4", + "symfony/translation": "<3.4", + "symfony/validator": "<3.4", + "symfony/workflow": "<3.3" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "doctrine/cache": "~1.0", + "fig/link-util": "^1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0", + "symfony/asset": "~3.3|~4.0", + "symfony/browser-kit": "~2.8|~3.0|~4.0", + "symfony/console": "~3.4.31|^4.3.4", + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/dom-crawler": "~2.8|~3.0|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/form": "^3.4.31|^4.3.4", + "symfony/lock": "~3.4|~4.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "~2.8|~3.0|~4.0", + "symfony/property-info": "~3.3|~4.0", + "symfony/security-core": "~3.2|~4.0", + "symfony/security-csrf": "^2.8.31|^3.3.13|~4.0", + "symfony/serializer": "~3.3|~4.0", + "symfony/stopwatch": "~3.4|~4.0", + "symfony/templating": "~2.8|~3.0|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/validator": "~3.4|~4.0", + "symfony/var-dumper": "~3.3|~4.0", + "symfony/web-link": "~3.3|~4.0", + "symfony/workflow": "~3.3|~4.0", + "symfony/yaml": "~3.2|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "suggest": { + "ext-apcu": "For best performance of the system caches", + "symfony/console": "For using the console commands", + "symfony/form": "For using forms", + "symfony/property-info": "For using the property_info service", + "symfony/serializer": "For using the serializer service", + "symfony/validator": "For using validation", + "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", + "symfony/yaml": "For using the debug:config and lint:yaml commands" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony FrameworkBundle", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/framework-bundle/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v4.4.20", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "02d968647fe61b2f419a8dc70c468a9d30a48d3a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/02d968647fe61b2f419a8dc70c468a9d30a48d3a", + "reference": "02d968647fe61b2f419a8dc70c468a9d30a48d3a", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "symfony/mime": "^4.3|^5.0", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/expression-language": "^3.4|^4.0|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v4.4.20" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-25T17:11:33+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "a98a4c30089e6a2d52a9fa236f718159b539f6f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a98a4c30089e6a2d52a9fa236f718159b539f6f5", + "reference": "a98a4c30089e6a2d52a9fa236f718159b539f6f5", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "psr/log": "~1.0", + "symfony/debug": "^3.3.3|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "~3.4.12|~4.0.12|^4.1.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php56": "~1.8" + }, + "conflict": { + "symfony/config": "<2.8", + "symfony/dependency-injection": "<3.4.10|<4.0.10,>=4", + "symfony/var-dumper": "<3.3", + "twig/twig": "<1.34|<2.4,>=2" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/cache": "~1.0", + "symfony/browser-kit": "~2.8|~3.0|~4.0", + "symfony/class-loader": "~2.8|~3.0", + "symfony/config": "~2.8|~3.0|~4.0", + "symfony/console": "~2.8|~3.0|~4.0", + "symfony/css-selector": "~2.8|~3.0|~4.0", + "symfony/dependency-injection": "^3.4.10|^4.0.10", + "symfony/dom-crawler": "~2.8|~3.0|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/finder": "~2.8|~3.0|~4.0", + "symfony/process": "~2.8|~3.0|~4.0", + "symfony/routing": "~3.4|~4.0", + "symfony/stopwatch": "~2.8|~3.0|~4.0", + "symfony/templating": "~2.8|~3.0|~4.0", + "symfony/translation": "~2.8|~3.0|~4.0", + "symfony/var-dumper": "~3.3|~4.0" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "", + "symfony/finder": "", + "symfony/var-dumper": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony HttpKernel Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-11-27T08:42:42+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.2.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "5155d2fe14ef1eb150e3bdbbc1ec1455df95e9cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/5155d2fe14ef1eb150e3bdbbc1ec1455df95e9cd", + "reference": "5155d2fe14ef1eb150e3bdbbc1ec1455df95e9cd", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.2.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-15T18:55:04+00:00" + }, + { + "name": "symfony/monolog-bridge", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bridge.git", + "reference": "93915f0d981bc166dfa475698124435327f6ee63" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/93915f0d981bc166dfa475698124435327f6ee63", + "reference": "93915f0d981bc166dfa475698124435327f6ee63", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.19", + "php": "^5.5.9|>=7.0.8", + "symfony/http-kernel": "~2.8|~3.0|~4.0" + }, + "conflict": { + "symfony/console": "<2.8", + "symfony/http-foundation": "<3.3" + }, + "require-dev": { + "symfony/console": "~2.8|~3.0|~4.0", + "symfony/event-dispatcher": "~2.8|~3.0|~4.0", + "symfony/security-core": "~2.8|~3.0|~4.0", + "symfony/var-dumper": "~3.3|~4.0" + }, + "suggest": { + "symfony/console": "For the possibility to show log messages in console commands depending on verbosity settings. You need version ^2.8 of the console for it.", + "symfony/event-dispatcher": "Needed when using log messages in console commands.", + "symfony/http-kernel": "For using the debugging handlers together with the response life cycle of the HTTP kernel.", + "symfony/var-dumper": "For using the debugging handlers like the console handler or the log server handler." + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Monolog\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Monolog Bridge", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/monolog-bridge/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/monolog-bundle", + "version": "v3.3.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/monolog-bundle.git", + "reference": "572e143afc03419a75ab002c80a2fd99299195ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/monolog-bundle/zipball/572e143afc03419a75ab002c80a2fd99299195ff", + "reference": "572e143afc03419a75ab002c80a2fd99299195ff", + "shasum": "" + }, + "require": { + "monolog/monolog": "~1.22", + "php": ">=5.6", + "symfony/config": "~2.7|~3.3|~4.0", + "symfony/dependency-injection": "~2.7|~3.4.10|^4.0.10", + "symfony/http-kernel": "~2.7|~3.3|~4.0", + "symfony/monolog-bridge": "~2.7|~3.3|~4.0" + }, + "require-dev": { + "symfony/console": "~2.7|~3.3|~4.0", + "symfony/phpunit-bridge": "^3.3|^4.0", + "symfony/yaml": "~2.7|~3.3|~4.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\MonologBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Symfony MonologBundle", + "homepage": "http://symfony.com", + "keywords": [ + "log", + "logging" + ], + "support": { + "issues": "https://github.com/symfony/monolog-bundle/issues", + "source": "https://github.com/symfony/monolog-bundle/tree/master" + }, + "time": "2018-11-04T09:58:13+00:00" + }, + { + "name": "symfony/polyfill-apcu", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-apcu.git", + "reference": "bc9974e74f8c05f4ceb500b1e0603e36be7d8223" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-apcu/zipball/bc9974e74f8c05f4ceb500b1e0603e36be7d8223", + "reference": "bc9974e74f8c05f4ceb500b1e0603e36be7d8223", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Apcu\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting apcu_* functions to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "apcu", + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-apcu/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", + "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php56/tree/v1.20.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, + { + "name": "symfony/proxy-manager-bridge", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/proxy-manager-bridge.git", + "reference": "25351bb4d5a60cfeddbaf6cf6faebd3a700e2ff4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/proxy-manager-bridge/zipball/25351bb4d5a60cfeddbaf6cf6faebd3a700e2ff4", + "reference": "25351bb4d5a60cfeddbaf6cf6faebd3a700e2ff4", + "shasum": "" + }, + "require": { + "composer/package-versions-deprecated": "^1.8", + "ocramius/proxy-manager": "~0.4|~1.0|~2.0", + "php": "^5.5.9|>=7.0.8", + "symfony/dependency-injection": "~3.4|~4.0" + }, + "require-dev": { + "symfony/config": "~2.8|~3.0|~4.0" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\ProxyManager\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony ProxyManager Bridge", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/proxy-manager-bridge/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-27T11:56:04+00:00" + }, + { + "name": "symfony/routing", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "3e522ac69cadffd8131cc2b22157fa7662331a6c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/3e522ac69cadffd8131cc2b22157fa7662331a6c", + "reference": "3e522ac69cadffd8131cc2b22157fa7662331a6c", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8" + }, + "conflict": { + "symfony/config": "<3.3.1", + "symfony/dependency-injection": "<3.3", + "symfony/yaml": "<3.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "psr/log": "~1.0", + "symfony/config": "^3.3.1|~4.0", + "symfony/dependency-injection": "~3.3|~4.0", + "symfony/expression-language": "~2.8|~3.0|~4.0", + "symfony/http-foundation": "~2.8|~3.0|~4.0", + "symfony/yaml": "~3.4|~4.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation loader", + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Routing Component", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "symfony/yaml", + "version": "v3.4.47", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "88289caa3c166321883f67fe5130188ebbb47094" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", + "reference": "88289caa3c166321883f67fe5130188ebbb47094", + "shasum": "" + }, + "require": { + "php": "^5.5.9|>=7.0.8", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/console": "<3.4" + }, + "require-dev": { + "symfony/console": "~3.4|~4.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Yaml Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v3.4.47" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-24T10:57:07+00:00" + }, + { + "name": "webimpress/safe-writer", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/webimpress/safe-writer.git", + "reference": "5cfafdec5873c389036f14bf832a5efc9390dcdd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webimpress/safe-writer/zipball/5cfafdec5873c389036f14bf832a5efc9390dcdd", + "reference": "5cfafdec5873c389036f14bf832a5efc9390dcdd", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.8 || ^9.3.7", + "vimeo/psalm": "^3.14.2", + "webimpress/coding-standard": "^1.1.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev", + "dev-develop": "2.2.x-dev", + "dev-release-1.0": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Webimpress\\SafeWriter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "description": "Tool to write files safely, to avoid race conditions", + "keywords": [ + "concurrent write", + "file writer", + "race condition", + "safe writer", + "webimpress" + ], + "support": { + "issues": "https://github.com/webimpress/safe-writer/issues", + "source": "https://github.com/webimpress/safe-writer/tree/master" + }, + "funding": [ + { + "url": "https://github.com/michalbundyra", + "type": "github" + } + ], + "time": "2020-08-25T07:21:11+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.10.2", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.10.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + }, + "time": "2020-12-20T10:01:03+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, + "time": "2020-06-27T14:33:11+00:00" + }, + { + "name": "phar-io/version", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "bae7c545bef187884426f042434e561ab1ddb182" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.1.0" + }, + "time": "2021-02-23T14:00:09+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, + "time": "2020-09-17T18:55:26+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.12.2", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "245710e971a030f42e08f4912863805570f23d39" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39", + "reference": "245710e971a030f42e08f4912863805570f23d39", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.12.2" + }, + "time": "2020-12-19T10:15:11+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "*", + "ext-xdebug": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:44:49+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.5.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f661659747f2f87f9e72095bb207bceb0f151cb4", + "reference": "f661659747f2f87f9e72095bb207bceb0f151cb4", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" + }, + "require-dev": { + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.2" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-02-02T14:45:58+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.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" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "2.3.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:18:59+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "75a63c33a8577608444246075ea0af0d052e452a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.9.1" + }, + "time": "2020-07-08T17:02:28+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": ">=7.4.1", + "ext-ctype": "*", + "ext-hash": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-pcre": "*", + "ext-xml": "*", + "ext-zlib": "*" + }, + "platform-dev": { + "ext-gmp": "*", + "ext-pdo": "*", + "ext-pdo_sqlite": "*", + "ext-zip": "*" + }, + "plugin-api-version": "2.0.0" +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..85923e0fae --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,29 @@ +# For local development only. + +# First development steps after start containers: +# - .ci/install-zephir-parser.sh +# - php zephir stubs +# - cd ext/ && ./install + +version: '3' + +services: + zephir-7.4: + container_name: phalcon-zephir-7.4 + hostname: zephir-74 + build: docker/7.4 + working_dir: /srv + environment: + - "USER=Zephir" + volumes: + - .:/srv + + zephir-8.0: + container_name: phalcon-zephir-8.0 + hostname: zephir-80 + build: docker/8.0 + working_dir: /srv + environment: + - "USER=Zephir" + volumes: + - .:/srv diff --git a/docker/7.4/Dockerfile b/docker/7.4/Dockerfile new file mode 100644 index 0000000000..5de4f9e83e --- /dev/null +++ b/docker/7.4/Dockerfile @@ -0,0 +1,39 @@ +FROM composer:2.0.8 as composer +FROM php:7.4-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 + +RUN docker-php-ext-install zip gmp intl && \ + docker-php-ext-enable psr + +# Install Zephir parser +RUN PHP_INI_DIR="$(dirname "$(php -i | grep /.+/conf.d/.+.ini -oE | head -n 1)")" && \ + cd /opt && \ + git clone -b "development" \ + --depth 1 \ + -q https://github.com/phalcon/php-zephir-parser \ + php-zephir-parser && \ + cd php-zephir-parser || exit 1 && \ + phpize && \ + ./configure --with-php-config="$(command -v php-config)" --enable-zephir_parser && \ + make -j"$(getconf _NPROCESSORS_ONLN)" && \ + sudo make install && \ + echo 'extension="zephir_parser.so"' |\ + sudo tee "$PHP_INI_DIR/zephir_parser.ini" && \ + php --ri "Zephir Parser" + +COPY --from=composer /usr/bin/composer /usr/local/bin/composer + +CMD ["php-fpm"] diff --git a/docker/8.0/Dockerfile b/docker/8.0/Dockerfile new file mode 100644 index 0000000000..7e33039b88 --- /dev/null +++ b/docker/8.0/Dockerfile @@ -0,0 +1,39 @@ +FROM composer:2.0.8 as composer +FROM php:8.0-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 + +RUN docker-php-ext-install zip gmp intl && \ + docker-php-ext-enable psr + +# Install Zephir parser +RUN PHP_INI_DIR="$(dirname "$(php -i | grep /.+/conf.d/.+.ini -oE | head -n 1)")" && \ + cd /opt && \ + git clone -b "development" \ + --depth 1 \ + -q https://github.com/phalcon/php-zephir-parser \ + php-zephir-parser && \ + cd php-zephir-parser || exit 1 && \ + phpize && \ + ./configure --with-php-config="$(command -v php-config)" --enable-zephir_parser && \ + make -j"$(getconf _NPROCESSORS_ONLN)" && \ + sudo make install && \ + echo 'extension="zephir_parser.so"' |\ + sudo tee "$PHP_INI_DIR/zephir_parser.ini" && \ + php --ri "Zephir Parser" + +COPY --from=composer /usr/bin/composer /usr/local/bin/composer + +CMD ["php-fpm"] diff --git a/ext/config.m4 b/ext/config.m4 index efe9933997..c967d02ade 100644 --- a/ext/config.m4 +++ b/ext/config.m4 @@ -9,12 +9,19 @@ if test "$PHP_STUB" = "yes"; then fi AC_DEFINE(HAVE_STUB, 1, [Whether you have Stub]) - stub_sources="stub.c kernel/main.c kernel/memory.c kernel/exception.c kernel/debug.c kernel/backtrace.c kernel/object.c kernel/array.c kernel/string.c kernel/fcall.c kernel/require.c kernel/file.c kernel/operators.c kernel/math.c kernel/concat.c kernel/variables.c kernel/filter.c kernel/iterator.c kernel/time.c kernel/exit.c stub/testinterface.zep.c + stub_sources="stub.c kernel/main.c kernel/memory.c kernel/exception.c kernel/debug.c kernel/backtrace.c kernel/object.c kernel/array.c kernel/string.c kernel/fcall.c kernel/require.c kernel/file.c kernel/operators.c kernel/math.c kernel/concat.c kernel/variables.c kernel/filter.c kernel/iterator.c kernel/time.c kernel/exit.c stub/invokes/abstractprotected.zep.c + stub/testinterface.zep.c stub/oo/extend/exception.zep.c + stub/issue2165/issueextendinterface.zep.c stub/oo/extend/db/exception.zep.c stub/scallparent.zep.c stub/constantsparent.zep.c stub/globals/session/base.zep.c + stub/interfaces/interfaceint.zep.c + stub/interfaces/interfaceintsignature.zep.c + stub/invokes/abstractinvoker.zep.c + stub/invokes/abstractinvokercomplex.zep.c + stub/issue2165/issueinterface.zep.c stub/methodinterface.zep.c stub/oo/abstractstatic.zep.c stub/oo/extend/db/query/exception.zep.c @@ -69,6 +76,7 @@ if test "$PHP_STUB" = "yes"; then stub/fortytwo.zep.c stub/functional.zep.c stub/functionexists.zep.c + stub/functions.zep.c stub/geometry.zep.c stub/globals.zep.c stub/globals/env.zep.c @@ -79,12 +87,17 @@ if test "$PHP_STUB" = "yes"; then stub/instance.zep.c stub/instanceoff.zep.c stub/integration/psr/http/message/messageinterfaceex.zep.c + stub/interfaces/implementint.zep.c + stub/interfaces/implementinterface.zep.c stub/internalclasses.zep.c stub/internalinterfaces.zep.c stub/invoke.zep.c + stub/invokes/invokeprotected.zep.c + stub/invokes/invokeprotectedcomplex.zep.c stub/issettest.zep.c stub/issue1404.zep.c stub/issue1521.zep.c + stub/issue2165/issue.zep.c stub/issues.zep.c stub/json.zep.c stub/logical.zep.c @@ -95,6 +108,8 @@ if test "$PHP_STUB" = "yes"; then stub/mcallinternal.zep.c stub/methodabstract.zep.c stub/methodargs.zep.c + stub/namespaces/a/b/sub.zep.c + stub/namespaces/classentry.zep.c stub/nativearray.zep.c stub/oo.zep.c stub/oo/abstractclass.zep.c @@ -161,6 +176,7 @@ if test "$PHP_STUB" = "yes"; then stub/quantum.zep.c stub/range.zep.c stub/references.zep.c + stub/reflection.zep.c stub/regexdna.zep.c stub/requires.zep.c stub/requires/external3.zep.c @@ -172,6 +188,7 @@ if test "$PHP_STUB" = "yes"; then stub/scall.zep.c stub/scalldynamic.zep.c stub/scallexternal.zep.c + stub/scalllateconstruct.zep.c stub/scope.zep.c stub/sort.zep.c stub/spectralnorm.zep.c @@ -202,6 +219,10 @@ if test "$PHP_STUB" = "yes"; then stub/11__closure.zep.c stub/12__closure.zep.c " PHP_NEW_EXTENSION(stub, $stub_sources, $ext_shared,, ) + PHP_ADD_BUILD_DIR([$ext_builddir/kernel/]) + for dir in "stub stub/bench stub/builtin stub/flow stub/globals stub/globals/session stub/integration/psr/http/message stub/interfaces stub/invokes stub/issue2165 stub/mcall stub/namespaces stub/namespaces/a/b stub/oo stub/oo/extend stub/oo/extend/db stub/oo/extend/db/query stub/oo/extend/db/query/placeholder stub/oo/extend/spl stub/oo/scopes stub/ooimpl stub/optimizers stub/properties stub/requires stub/router stub/typehinting"; do + PHP_ADD_BUILD_DIR([$ext_builddir/$dir]) + done PHP_SUBST(STUB_SHARED_LIBADD) old_CPPFLAGS=$CPPFLAGS diff --git a/ext/config.w32 b/ext/config.w32 index d9e7f43f07..231e150a9f 100644 --- a/ext/config.w32 +++ b/ext/config.w32 @@ -10,26 +10,31 @@ if (PHP_STUB != "no") { AC_DEFINE("ZEPHIR_USE_PHP_JSON", 1, "Whether PHP json extension is present at compile time"); } - ADD_SOURCES(configure_module_dirname + "/stub", "testinterface.zep.c scallparent.zep.c constantsparent.zep.c methodinterface.zep.c arithmetic.zep.c arrayaccessobj.zep.c arrayaccesstest.zep.c arrayiterator.zep.c arrayiteratortest.zep.c arrayobject.zep.c arraysearch.zep.c assign.zep.c bitwise.zep.c branchprediction.zep.c cast.zep.c cblock.zep.c chars.zep.c closures.zep.c compare.zep.c concat.zep.c constants.zep.c constantsinterface.zep.c constantsinterfacea.zep.c constantsinterfaceb.zep.c declaretest.zep.c diinterface.zep.c echoes.zep.c emptytest.zep.c evaltest.zep.c exception.zep.c exceptions.zep.c exists.zep.c exitdie.zep.c extendedinterface.zep.c factorial.zep.c fannkuch.zep.c fasta.zep.c fcall.zep.c fetchtest.zep.c fibonnaci.zep.c flow.zep.c fortytwo.zep.c functional.zep.c functionexists.zep.c geometry.zep.c globals.zep.c instance.zep.c instanceoff.zep.c internalclasses.zep.c internalinterfaces.zep.c invoke.zep.c issettest.zep.c issue1404.zep.c issue1521.zep.c issues.zep.c json.zep.c logical.zep.c mcall.zep.c mcallchained.zep.c mcalldynamic.zep.c mcallinternal.zep.c methodabstract.zep.c methodargs.zep.c nativearray.zep.c oo.zep.c operator.zep.c pdostatement.zep.c pregmatch.zep.c quantum.zep.c range.zep.c references.zep.c regexdna.zep.c requires.zep.c resourcetest.zep.c returns.zep.c router.zep.c scall.zep.c scalldynamic.zep.c scallexternal.zep.c scope.zep.c sort.zep.c spectralnorm.zep.c spropertyaccess.zep.c statements.zep.c strings.zep.c stubs.zep.c ternary.zep.c trytest.zep.c typeinstances.zep.c typeoff.zep.c unknownclass.zep.c unsettest.zep.c usetest.zep.c vars.zep.c 0__closure.zep.c 1__closure.zep.c 2__closure.zep.c 3__closure.zep.c 4__closure.zep.c 5__closure.zep.c 6__closure.zep.c 7__closure.zep.c 8__closure.zep.c 9__closure.zep.c 10__closure.zep.c 11__closure.zep.c 12__closure.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo/extend", "exception.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/db", "exception.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/globals/session", "base.zep.c child.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo", "abstractstatic.zep.c oodynamica.zep.c abstractclass.zep.c concretestatic.zep.c constantsinterface.zep.c deprecatedmethods.zep.c dynamicprop.zep.c extendpdoclass.zep.c ooconstruct.zep.c ooconstructparams.zep.c oodestruct.zep.c oodynamicb.zep.c oonativeimplements.zep.c oonoconstruct.zep.c ooparams.zep.c param.zep.c propertyaccess.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/db/query", "exception.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo/scopes", "hasprivatemethod.zep.c scopetesterinterface.zep.c abstractclass.zep.c abstractclassmagic.zep.c privatescopetester.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/ooimpl", "zbeginning.zep.c abeginning.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/properties", "publicproperties.zep.c app.zep.c extendspublicproperties.zep.c privateproperties.zep.c propertyarray.zep.c propertyupdate.zep.c protectedproperties.zep.c staticprivateproperties.zep.c staticpropertyarray.zep.c staticprotectedproperties.zep.c staticpublicproperties.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/bench", "foo.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/builtin", "arraymethods.zep.c charmethods.zep.c intmethods.zep.c stringmethods.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/flow", "switchflow.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/globals", "env.zep.c post.zep.c server.zep.c serverrequestfactory.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/integration/psr/http/message", "messageinterfaceex.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/mcall", "caller.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/db/query/placeholder", "exception.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/spl", "arrayobject.zep.c directoryiterator.zep.c doublylinkedlist.zep.c fileinfo.zep.c fileobject.zep.c filesystemiterator.zep.c fixedarray.zep.c globiterator.zep.c heap.zep.c maxheap.zep.c minheap.zep.c priorityqueue.zep.c queue.zep.c recursivedirectoryiterator.zep.c stack.zep.c tempfileobject.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/optimizers", "isscalar.zep.c acos.zep.c arraymerge.zep.c asin.zep.c cos.zep.c createarray.zep.c ldexp.zep.c sin.zep.c sqrt.zep.c strreplace.zep.c substr.zep.c tan.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/requires", "external3.zep.c", "stub"); - ADD_SOURCES(configure_module_dirname + "/stub/router", "exception.zep.c route.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/invokes", "abstractprotected.zep.c abstractinvoker.zep.c abstractinvokercomplex.zep.c invokeprotected.zep.c invokeprotectedcomplex.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub", "testinterface.zep.c scallparent.zep.c constantsparent.zep.c methodinterface.zep.c arithmetic.zep.c arrayaccessobj.zep.c arrayaccesstest.zep.c arrayiterator.zep.c arrayiteratortest.zep.c arrayobject.zep.c arraysearch.zep.c assign.zep.c bitwise.zep.c branchprediction.zep.c cast.zep.c cblock.zep.c chars.zep.c closures.zep.c compare.zep.c concat.zep.c constants.zep.c constantsinterface.zep.c constantsinterfacea.zep.c constantsinterfaceb.zep.c declaretest.zep.c diinterface.zep.c echoes.zep.c emptytest.zep.c evaltest.zep.c exception.zep.c exceptions.zep.c exists.zep.c exitdie.zep.c extendedinterface.zep.c factorial.zep.c fannkuch.zep.c fasta.zep.c fcall.zep.c fetchtest.zep.c fibonnaci.zep.c flow.zep.c fortytwo.zep.c functional.zep.c functionexists.zep.c functions.zep.c geometry.zep.c globals.zep.c instance.zep.c instanceoff.zep.c internalclasses.zep.c internalinterfaces.zep.c invoke.zep.c issettest.zep.c issue1404.zep.c issue1521.zep.c issues.zep.c json.zep.c logical.zep.c mcall.zep.c mcallchained.zep.c mcalldynamic.zep.c mcallinternal.zep.c methodabstract.zep.c methodargs.zep.c nativearray.zep.c oo.zep.c operator.zep.c pdostatement.zep.c pregmatch.zep.c quantum.zep.c range.zep.c references.zep.c reflection.zep.c regexdna.zep.c requires.zep.c resourcetest.zep.c returns.zep.c router.zep.c scall.zep.c scalldynamic.zep.c scallexternal.zep.c scalllateconstruct.zep.c scope.zep.c sort.zep.c spectralnorm.zep.c spropertyaccess.zep.c statements.zep.c strings.zep.c stubs.zep.c ternary.zep.c trytest.zep.c typeinstances.zep.c typeoff.zep.c unknownclass.zep.c unsettest.zep.c usetest.zep.c vars.zep.c 0__closure.zep.c 1__closure.zep.c 2__closure.zep.c 3__closure.zep.c 4__closure.zep.c 5__closure.zep.c 6__closure.zep.c 7__closure.zep.c 8__closure.zep.c 9__closure.zep.c 10__closure.zep.c 11__closure.zep.c 12__closure.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo/extend", "exception.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/issue2165", "issueextendinterface.zep.c issueinterface.zep.c issue.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/db", "exception.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/globals/session", "base.zep.c child.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/interfaces", "interfaceint.zep.c interfaceintsignature.zep.c implementint.zep.c implementinterface.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo", "abstractstatic.zep.c oodynamica.zep.c abstractclass.zep.c concretestatic.zep.c constantsinterface.zep.c deprecatedmethods.zep.c dynamicprop.zep.c extendpdoclass.zep.c ooconstruct.zep.c ooconstructparams.zep.c oodestruct.zep.c oodynamicb.zep.c oonativeimplements.zep.c oonoconstruct.zep.c ooparams.zep.c param.zep.c propertyaccess.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/db/query", "exception.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo/scopes", "hasprivatemethod.zep.c scopetesterinterface.zep.c abstractclass.zep.c abstractclassmagic.zep.c privatescopetester.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/ooimpl", "zbeginning.zep.c abeginning.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/properties", "publicproperties.zep.c app.zep.c extendspublicproperties.zep.c privateproperties.zep.c propertyarray.zep.c propertyupdate.zep.c protectedproperties.zep.c staticprivateproperties.zep.c staticpropertyarray.zep.c staticprotectedproperties.zep.c staticpublicproperties.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/bench", "foo.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/builtin", "arraymethods.zep.c charmethods.zep.c intmethods.zep.c stringmethods.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/flow", "switchflow.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/globals", "env.zep.c post.zep.c server.zep.c serverrequestfactory.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/integration/psr/http/message", "messageinterfaceex.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/mcall", "caller.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/namespaces/a/b", "sub.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/namespaces", "classentry.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/db/query/placeholder", "exception.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/oo/extend/spl", "arrayobject.zep.c directoryiterator.zep.c doublylinkedlist.zep.c fileinfo.zep.c fileobject.zep.c filesystemiterator.zep.c fixedarray.zep.c globiterator.zep.c heap.zep.c maxheap.zep.c minheap.zep.c priorityqueue.zep.c queue.zep.c recursivedirectoryiterator.zep.c stack.zep.c tempfileobject.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/optimizers", "isscalar.zep.c acos.zep.c arraymerge.zep.c asin.zep.c cos.zep.c createarray.zep.c ldexp.zep.c sin.zep.c sqrt.zep.c strreplace.zep.c substr.zep.c tan.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/requires", "external3.zep.c", "stub"); + ADD_SOURCES(configure_module_dirname + "/stub/router", "exception.zep.c route.zep.c", "stub"); ADD_SOURCES(configure_module_dirname + "/stub/typehinting", "testabstract.zep.c", "stub"); ADD_FLAG("CFLAGS_STUB", "/D ZEPHIR_RELEASE /Oi /Ot /Oy /Ob2 /Gs /GF /Gy /GL"); ADD_FLAG("CFLAGS", "/D ZEPHIR_RELEASE /Oi /Ot /Oy /Ob2 /Gs /GF /Gy /GL"); diff --git a/ext/kernel/array.c b/ext/kernel/array.c index 49267eb4df..0f64755a20 100644 --- a/ext/kernel/array.c +++ b/ext/kernel/array.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -1052,8 +1052,6 @@ void zephir_fast_array_merge(zval *return_value, zval *array1, zval *array2) } array_init_size(return_value, init_size); - php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array1)); - php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array2)); } diff --git a/ext/kernel/array.h b/ext/kernel/array.h index 643ba791f8..11d19b6f77 100644 --- a/ext/kernel/array.h +++ b/ext/kernel/array.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/ext/kernel/backtrace.c b/ext/kernel/backtrace.c index df59d00654..994d9fcee9 100644 --- a/ext/kernel/backtrace.c +++ b/ext/kernel/backtrace.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_RELEASE #if defined(linux) || defined(DARWIN) || defined(__APPLE__) diff --git a/ext/kernel/backtrace.h b/ext/kernel/backtrace.h index 3131224790..75444784ff 100644 --- a/ext/kernel/backtrace.h +++ b/ext/kernel/backtrace.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_BACKTRACE_H #define ZEPHIR_KERNEL_BACKTRACE_H diff --git a/ext/kernel/concat.c b/ext/kernel/concat.c index 8c66c88538..03cbaa5862 100644 --- a/ext/kernel/concat.c +++ b/ext/kernel/concat.c @@ -129,6 +129,127 @@ void zephir_concat_ssv(zval *result, const char *op1, uint32_t op1_len, const ch } +void zephir_concat_ssvs(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, zval *op3, const char *op4, uint32_t op4_len, int self_var){ + + zval result_copy, op3_copy; + int use_copy = 0, use_copy3 = 0; + size_t offset = 0, length; + + if (Z_TYPE_P(op3) != IS_STRING) { + use_copy3 = zend_make_printable_zval(op3, &op3_copy); + if (use_copy3) { + op3 = &op3_copy; + } + } + + length = op1_len + op2_len + Z_STRLEN_P(op3) + op4_len; + if (self_var) { + + if (Z_TYPE_P(result) != IS_STRING) { + use_copy = zend_make_printable_zval(result, &result_copy); + if (use_copy) { + ZEPHIR_CPY_WRT_CTOR(result, (&result_copy)); + } + } + + offset = Z_STRLEN_P(result); + length += offset; + Z_STR_P(result) = zend_string_realloc(Z_STR_P(result), length, 0); + + } else { + ZVAL_STR(result, zend_string_alloc(length, 0)); + } + + memcpy(Z_STRVAL_P(result) + offset, op1, op1_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len, op2, op2_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len, Z_STRVAL_P(op3), Z_STRLEN_P(op3)); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3), op4, op4_len); + Z_STRVAL_P(result)[length] = 0; + zend_string_forget_hash_val(Z_STR_P(result)); + if (use_copy3) { + zval_dtor(op3); + } + + if (use_copy) { + zval_dtor(&result_copy); + } + +} + +void zephir_concat_ssvsvssvs(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, zval *op3, const char *op4, uint32_t op4_len, zval *op5, const char *op6, uint32_t op6_len, const char *op7, uint32_t op7_len, zval *op8, const char *op9, uint32_t op9_len, int self_var){ + + zval result_copy, op3_copy, op5_copy, op8_copy; + int use_copy = 0, use_copy3 = 0, use_copy5 = 0, use_copy8 = 0; + size_t offset = 0, length; + + if (Z_TYPE_P(op3) != IS_STRING) { + use_copy3 = zend_make_printable_zval(op3, &op3_copy); + if (use_copy3) { + op3 = &op3_copy; + } + } + + if (Z_TYPE_P(op5) != IS_STRING) { + use_copy5 = zend_make_printable_zval(op5, &op5_copy); + if (use_copy5) { + op5 = &op5_copy; + } + } + + if (Z_TYPE_P(op8) != IS_STRING) { + use_copy8 = zend_make_printable_zval(op8, &op8_copy); + if (use_copy8) { + op8 = &op8_copy; + } + } + + length = op1_len + op2_len + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5) + op6_len + op7_len + Z_STRLEN_P(op8) + op9_len; + if (self_var) { + + if (Z_TYPE_P(result) != IS_STRING) { + use_copy = zend_make_printable_zval(result, &result_copy); + if (use_copy) { + ZEPHIR_CPY_WRT_CTOR(result, (&result_copy)); + } + } + + offset = Z_STRLEN_P(result); + length += offset; + Z_STR_P(result) = zend_string_realloc(Z_STR_P(result), length, 0); + + } else { + ZVAL_STR(result, zend_string_alloc(length, 0)); + } + + memcpy(Z_STRVAL_P(result) + offset, op1, op1_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len, op2, op2_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len, Z_STRVAL_P(op3), Z_STRLEN_P(op3)); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3), op4, op4_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3) + op4_len, Z_STRVAL_P(op5), Z_STRLEN_P(op5)); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5), op6, op6_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5) + op6_len, op7, op7_len); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5) + op6_len + op7_len, Z_STRVAL_P(op8), Z_STRLEN_P(op8)); + memcpy(Z_STRVAL_P(result) + offset + op1_len + op2_len + Z_STRLEN_P(op3) + op4_len + Z_STRLEN_P(op5) + op6_len + op7_len + Z_STRLEN_P(op8), op9, op9_len); + Z_STRVAL_P(result)[length] = 0; + zend_string_forget_hash_val(Z_STR_P(result)); + if (use_copy3) { + zval_dtor(op3); + } + + if (use_copy5) { + zval_dtor(op5); + } + + if (use_copy8) { + zval_dtor(op8); + } + + if (use_copy) { + zval_dtor(&result_copy); + } + +} + void zephir_concat_sv(zval *result, const char *op1, uint32_t op1_len, zval *op2, int self_var){ zval result_copy, op2_copy; diff --git a/ext/kernel/concat.h b/ext/kernel/concat.h index 40ad84f0c7..5be1123fc6 100644 --- a/ext/kernel/concat.h +++ b/ext/kernel/concat.h @@ -19,6 +19,16 @@ #define ZEPHIR_SCONCAT_SSV(result, op1, op2, op3) \ zephir_concat_ssv(result, op1, sizeof(op1)-1, op2, sizeof(op2)-1, op3, 1); +#define ZEPHIR_CONCAT_SSVS(result, op1, op2, op3, op4) \ + zephir_concat_ssvs(result, op1, sizeof(op1)-1, op2, sizeof(op2)-1, op3, op4, sizeof(op4)-1, 0); +#define ZEPHIR_SCONCAT_SSVS(result, op1, op2, op3, op4) \ + zephir_concat_ssvs(result, op1, sizeof(op1)-1, op2, sizeof(op2)-1, op3, op4, sizeof(op4)-1, 1); + +#define ZEPHIR_CONCAT_SSVSVSSVS(result, op1, op2, op3, op4, op5, op6, op7, op8, op9) \ + zephir_concat_ssvsvssvs(result, op1, sizeof(op1)-1, op2, sizeof(op2)-1, op3, op4, sizeof(op4)-1, op5, op6, sizeof(op6)-1, op7, sizeof(op7)-1, op8, op9, sizeof(op9)-1, 0); +#define ZEPHIR_SCONCAT_SSVSVSSVS(result, op1, op2, op3, op4, op5, op6, op7, op8, op9) \ + zephir_concat_ssvsvssvs(result, op1, sizeof(op1)-1, op2, sizeof(op2)-1, op3, op4, sizeof(op4)-1, op5, op6, sizeof(op6)-1, op7, sizeof(op7)-1, op8, op9, sizeof(op9)-1, 1); + #define ZEPHIR_CONCAT_SV(result, op1, op2) \ zephir_concat_sv(result, op1, sizeof(op1)-1, op2, 0); #define ZEPHIR_SCONCAT_SV(result, op1, op2) \ @@ -58,6 +68,8 @@ void zephir_concat_ss(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, int self_var); void zephir_concat_sssssss(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, const char *op3, uint32_t op3_len, const char *op4, uint32_t op4_len, const char *op5, uint32_t op5_len, const char *op6, uint32_t op6_len, const char *op7, uint32_t op7_len, int self_var); void zephir_concat_ssv(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, zval *op3, int self_var); +void zephir_concat_ssvs(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, zval *op3, const char *op4, uint32_t op4_len, int self_var); +void zephir_concat_ssvsvssvs(zval *result, const char *op1, uint32_t op1_len, const char *op2, uint32_t op2_len, zval *op3, const char *op4, uint32_t op4_len, zval *op5, const char *op6, uint32_t op6_len, const char *op7, uint32_t op7_len, zval *op8, const char *op9, uint32_t op9_len, int self_var); void zephir_concat_sv(zval *result, const char *op1, uint32_t op1_len, zval *op2, int self_var); void zephir_concat_svs(zval *result, const char *op1, uint32_t op1_len, zval *op2, const char *op3, uint32_t op3_len, int self_var); void zephir_concat_svsv(zval *result, const char *op1, uint32_t op1_len, zval *op2, const char *op3, uint32_t op3_len, zval *op4, int self_var); diff --git a/ext/kernel/debug.c b/ext/kernel/debug.c index 8a68da4d11..6623a9793b 100644 --- a/ext/kernel/debug.c +++ b/ext/kernel/debug.c @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/ext/kernel/debug.h b/ext/kernel/debug.h index 9519fb65c9..d27e1facc6 100644 --- a/ext/kernel/debug.h +++ b/ext/kernel/debug.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_DEBUG_H #define ZEPHIR_KERNEL_DEBUG_H diff --git a/ext/kernel/exception.c b/ext/kernel/exception.c index d8cd7c4adc..6d0a50ba3c 100644 --- a/ext/kernel/exception.c +++ b/ext/kernel/exception.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -63,8 +54,14 @@ void zephir_throw_exception_debug(zval *object, const char *file, uint32_t line) zephir_check_call_status(); if (ZEPHIR_IS_LONG(&curline, 0)) { default_exception_ce = zend_exception_get_default(); + +#if PHP_VERSION_ID >= 80000 + zend_update_property_string(default_exception_ce, Z_OBJ_P(object), SL("file"), file); + zend_update_property_long(default_exception_ce, Z_OBJ_P(object), SL("line"), line); +#else zend_update_property_string(default_exception_ce, object, SL("file"), file); zend_update_property_long(default_exception_ce, object, SL("line"), line); +#endif } } @@ -91,8 +88,13 @@ void zephir_throw_exception_string_debug(zend_class_entry *ce, const char *messa if (line > 0) { default_exception_ce = zend_exception_get_default(); +#if PHP_VERSION_ID >= 80000 + zend_update_property_string(default_exception_ce, Z_OBJ(object), "file", sizeof("file")-1, file); + zend_update_property_long(default_exception_ce, Z_OBJ(object), "line", sizeof("line")-1, line); +#else zend_update_property_string(default_exception_ce, &object, "file", sizeof("file")-1, file); zend_update_property_long(default_exception_ce, &object, "line", sizeof("line")-1, line); +#endif } if (ZEPHIR_LAST_CALL_STATUS != FAILURE) { diff --git a/ext/kernel/exception.h b/ext/kernel/exception.h index f570a456da..5ae19973ad 100644 --- a/ext/kernel/exception.h +++ b/ext/kernel/exception.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_EXCEPTIONS_H #define ZEPHIR_KERNEL_EXCEPTIONS_H diff --git a/ext/kernel/exit.c b/ext/kernel/exit.c index e7996af094..a4ba9edc68 100644 --- a/ext/kernel/exit.c +++ b/ext/kernel/exit.c @@ -1,19 +1,13 @@ -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Song Yeung | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/ext/kernel/exit.h b/ext/kernel/exit.h index 6a5effe6c2..1c457ef7fb 100644 --- a/ext/kernel/exit.h +++ b/ext/kernel/exit.h @@ -1,20 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Song Yeung | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_EXIT_H #define ZEPHIR_KERNEL_EXIT_H diff --git a/ext/kernel/fcall.c b/ext/kernel/fcall.c index ad3d7950ef..447d281044 100644 --- a/ext/kernel/fcall.c +++ b/ext/kernel/fcall.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -45,11 +45,7 @@ static int zephir_make_fcall_key(zend_string* s, zephir_call_type type, zend_cla const zend_class_entry *calling_scope; unsigned char t; -#if PHP_VERSION_ID >= 70100 calling_scope = zend_get_executed_scope(); -#else - calling_scope = EG(scope); -#endif switch (type) { case zephir_fcall_parent: @@ -205,15 +201,9 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze { zend_class_entry* calling_scope; -#if PHP_VERSION_ID < 70300 - fcic->initialized = 0; -#endif fcic->function_handler = NULL; if (type == zephir_fcall_function && Z_TYPE_P(func) == IS_STRING) { -#if PHP_VERSION_ID < 70300 - fcic->initialized = 1; -#endif fcic->called_scope = NULL; fcic->calling_scope = NULL; fcic->object = NULL; @@ -222,15 +212,30 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze fcic->called_scope = called_scope; -#if PHP_VERSION_ID >= 70100 - calling_scope = zend_get_executed_scope(); +#if PHP_VERSION_ID >= 80000 + calling_scope = zend_get_called_scope(EG(current_execute_data)); #else - calling_scope = EG(scope); + calling_scope = zend_get_executed_scope(); #endif fcic->object = this_ptr ? Z_OBJ_P(this_ptr) : NULL; switch (type) { case zephir_fcall_parent: + +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->parent->function_table, Z_STR_P(func)); + + fcic->calling_scope = ce->parent; + } else if (EXPECTED(calling_scope && calling_scope->parent)) { + if (Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->parent->function_table, Z_STR_P(func)); + } + fcic->calling_scope = calling_scope->parent; + } else { + return; + } +#endif if (UNEXPECTED(!calling_scope || !calling_scope->parent)) { return; } @@ -239,18 +244,52 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze break; case zephir_fcall_static: - fcic->calling_scope = fcic->called_scope; +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + fcic->calling_scope = ce; + } else if (calling_scope && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->function_table, Z_STR_P(func)); + fcic->calling_scope = called_scope; + } +#else + fcic->calling_scope = called_scope; if (UNEXPECTED(!calling_scope)) { return; } +#endif break; case zephir_fcall_self: +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + fcic->calling_scope = ce; + } else if (calling_scope && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->function_table, Z_STR_P(func)); + // TODO: Review when error will be enabled in zend_is_callable_ex() calls + //fcic->object = zend_get_this_object(EG(current_execute_data)); + //fcic->called_scope = zend_get_called_scope(EG(current_execute_data)); + fcic->calling_scope = calling_scope; + } +#else fcic->calling_scope = calling_scope; +#endif break; case zephir_fcall_ce: +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + + fcic->calling_scope = ce; + } else if (calling_scope && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->function_table, Z_STR_P(func)); + fcic->calling_scope = calling_scope; + } +#endif + // TODO: Check for PHP 7.4 and PHP 8.0, as it rewrite from above fcic->calling_scope = ce; fcic->called_scope = ce; break; @@ -258,7 +297,11 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze case zephir_fcall_function: case zephir_fcall_method: if (Z_TYPE_P(func) == IS_OBJECT) { +#if PHP_VERSION_ID >= 80000 + if (Z_OBJ_HANDLER_P(func, get_closure) && Z_OBJ_HANDLER_P(func, get_closure)(Z_OBJ_P(func), &fcic->calling_scope, &fcic->function_handler, &fcic->object, 0) == SUCCESS) { +#else if (Z_OBJ_HANDLER_P(func, get_closure) && Z_OBJ_HANDLER_P(func, get_closure)(func, &fcic->calling_scope, &fcic->function_handler, &fcic->object) == SUCCESS) { +#endif fcic->called_scope = fcic->calling_scope; break; } @@ -266,6 +309,11 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze return; } +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + } +#endif fcic->calling_scope = this_ptr ? Z_OBJCE_P(this_ptr) : NULL; fcic->called_scope = fcic->calling_scope; break; @@ -273,19 +321,22 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze default: return; } - -#if PHP_VERSION_ID < 70300 - fcic->initialized = 1; -#endif } /** * Calls a function/method in the PHP userland */ -int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_call_type type, - zval *function_name, zval *retval_ptr, zephir_fcall_cache_entry **cache_entry, int cache_slot, uint32_t param_count, - zval *params[]) -{ +int zephir_call_user_function( + zval *object_pp, + zend_class_entry *obj_ce, + zephir_call_type type, + zval *function_name, + zval *retval_ptr, + zephir_fcall_cache_entry **cache_entry, + int cache_slot, + uint32_t param_count, + zval *params[] +) { zval local_retval_ptr; int status; zend_fcall_info fci; @@ -314,7 +365,7 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ if (reload_cache) { key_ok = zephir_make_fcall_key((zend_string*)fcall_key, type, (object_pp && type != zephir_fcall_ce ? Z_OBJCE_P(object_pp) : obj_ce), function_name, called_scope); if (SUCCESS == key_ok) { - zend_string* zs = (zend_string*)fcall_key; + zend_string* zs = (zend_string*)fcall_key; GC_SET_REFCOUNT(zs, 1); GC_TYPE_INFO(zs) = IS_STRING; @@ -327,55 +378,69 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ } } - fci.size = sizeof(fci); -#if PHP_VERSION_ID < 70100 - fci.function_table = obj_ce ? &obj_ce->function_table : EG(function_table); - fci.symbol_table = NULL; -#endif - fci.object = object_pp ? Z_OBJ_P(object_pp) : NULL; - fci.retval = retval_ptr ? retval_ptr : &local_retval_ptr; - fci.param_count = param_count; - fci.params = NULL; - fci.no_separation = 1; - -#if PHP_VERSION_ID < 70300 - fcic.initialized = 0; + fci.size = sizeof(fci); + fci.object = object_pp ? Z_OBJ_P(object_pp) : NULL; + ZVAL_COPY_VALUE(&fci.function_name, function_name); + fci.retval = retval_ptr ? retval_ptr : &local_retval_ptr; + fci.param_count = param_count; + +#if PHP_VERSION_ID < 80000 + fci.no_separation = 1; +#else + fci.named_params = NULL; #endif if (cache_entry && *cache_entry) { - /* We have a cache record, initialize scope */ + /* We have a cache record, initialize scope */ populate_fcic(&fcic, type, obj_ce, object_pp, function_name, called_scope); if (!fcic.function_handler) { fcic.function_handler = *cache_entry; } ZVAL_UNDEF(&fci.function_name); - } - else if ((cache_entry && !*cache_entry) || zephir_globals_ptr->cache_enabled) { - /* The caller is interested in caching OR we have the call cache enabled */ + } else if ((cache_entry && !*cache_entry) || zephir_globals_ptr->cache_enabled) { + /* The caller is interested in caching OR we have the call cache enabled */ resolve_callable(&callable, type, (object_pp && type != zephir_fcall_ce ? Z_OBJCE_P(object_pp) : obj_ce), object_pp, function_name); - zend_is_callable_ex(&callable, fci.object, IS_CALLABLE_CHECK_SILENT, NULL, &fcic, NULL); - } -#if PHP_VERSION_ID < 70300 - if (!fcic.initialized) { - resolve_callable(&callable, type, (object_pp && type != zephir_fcall_ce ? Z_OBJCE_P(object_pp) : obj_ce), object_pp, function_name); - ZVAL_COPY_VALUE(&fci.function_name, &callable); - } +#if PHP_VERSION_ID >= 80000 + char *is_callable_error = NULL; + zend_execute_data *frame = EG(current_execute_data); + if (obj_ce || !zend_is_callable_at_frame(&callable, fci.object, frame, 0, &fcic, &is_callable_error)) { + if (is_callable_error) { + zend_error(E_WARNING, "%s", is_callable_error); + efree(is_callable_error); + + return FAILURE; + } + + populate_fcic(&fcic, type, obj_ce, object_pp, function_name, called_scope); + } +#else + zend_is_callable_ex(&callable, fci.object, IS_CALLABLE_CHECK_SILENT, NULL, &fcic, NULL); #endif + } #ifdef _MSC_VER zval *p = emalloc(sizeof(zval) * (fci.param_count + 1)); #else zval p[fci.param_count]; #endif + uint32_t i; for (i = 0; i < fci.param_count; ++i) { ZVAL_COPY_VALUE(&p[i], params[i]); } fci.params = p; + +#if PHP_VERSION_ID >= 80000 + if (!fcic.function_handler) { + ZVAL_COPY_VALUE(&fci.function_name, &callable); + } +#endif + status = zend_call_function(&fci, &fcic); + #ifdef _MSC_VER efree(p); #endif @@ -386,12 +451,9 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ /* Skip caching IF: * call failed OR there was an exception (to be safe) OR cache key is not defined OR - * fcall cache was deinitialized OR we have a slot cache + * fcall cache was de-initialized OR we have a slot cache */ int initialized = 1; -#if PHP_VERSION_ID < 70300 - initialized = fcic.initialized; -#endif if (EXPECTED(status != FAILURE) && !EG(exception) && SUCCESS == key_ok && initialized && !temp_cache_entry) { zephir_fcall_cache_entry *cache_entry_temp = fcic.function_handler; @@ -411,8 +473,7 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ if (!retval_ptr) { zval_ptr_dtor(&local_retval_ptr); - } - else if (FAILURE == status || EG(exception)) { + } else if (FAILURE == status || EG(exception)) { ZVAL_NULL(retval_ptr); } else if (Z_TYPE_P(retval_ptr) == IS_ARRAY) { SEPARATE_ARRAY(retval_ptr); @@ -488,11 +549,18 @@ int zephir_call_zval_func_aparams(zval *return_value_ptr, zval *func_name, return status; } -int zephir_call_class_method_aparams(zval *return_value, zend_class_entry *ce, zephir_call_type type, zval *object, - const char *method_name, uint32_t method_len, - zephir_fcall_cache_entry **cache_entry, int cache_slot, - uint32_t param_count, zval **params) -{ +int zephir_call_class_method_aparams( + zval *return_value, + zend_class_entry *ce, + zephir_call_type type, + zval *object, + const char *method_name, + uint32_t method_len, + zephir_fcall_cache_entry **cache_entry, + int cache_slot, + uint32_t param_count, + zval **params +) { int status; #ifndef ZEPHIR_RELEASE @@ -562,6 +630,7 @@ int zephir_call_user_func_array_noex(zval *return_value, zval *handler, zval *pa return FAILURE; } +#if PHP_VERSION_ID < 80000 zend_fcall_info_init(handler, 0, &fci, &fci_cache, NULL, &is_callable_error); if (is_callable_error) { @@ -583,6 +652,29 @@ int zephir_call_user_func_array_noex(zval *return_value, zval *handler, zval *pa if (EG(exception)) { status = SUCCESS; } +#else + zend_execute_data *frame = EG(current_execute_data); + if (!zend_is_callable_at_frame(handler, NULL, frame, 0, &fci_cache, &is_callable_error)) { + if (is_callable_error) { + zend_error(E_WARNING, "%s", is_callable_error); + efree(is_callable_error); + } + + return FAILURE; + } + + fci.size = sizeof(fci); + fci.object = fci_cache.object; + ZVAL_COPY_VALUE(&fci.function_name, handler); + fci.param_count = 0; + fci.params = NULL; + fci.retval = return_value; + fci.named_params = NULL; + + zend_fcall_info_args(&fci, params); + status = zend_call_function(&fci, &fci_cache); + zend_fcall_info_args_clear(&fci, 1); +#endif return status; } @@ -601,7 +693,11 @@ 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); +#else + new_op_array = zend_compile_string(Z_STR_P(str), context); +#endif CG(compiler_options) = original_compiler_options; if (new_op_array) diff --git a/ext/kernel/fcall.h b/ext/kernel/fcall.h index 592a11a2f9..2581360756 100644 --- a/ext/kernel/fcall.h +++ b/ext/kernel/fcall.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -69,9 +69,6 @@ typedef enum _zephir_call_type { } \ else { ZEPHIR_SET_THIS_EXPLICIT_NULL(); } \ - -#if PHP_VERSION_ID >= 70100 - #define ZEPHIR_BACKUP_SCOPE() \ zend_class_entry *old_scope = EG(fake_scope); \ zend_execute_data *old_call = execute_data; \ @@ -97,36 +94,6 @@ typedef enum _zephir_call_type { EG(fake_scope) = _scope; \ zephir_set_called_scope(EG(current_execute_data), _scope_called); \ -#else - -#define ZEPHIR_BACKUP_SCOPE() \ - zend_class_entry *old_scope = EG(scope); \ - zend_execute_data *old_call = execute_data; \ - zend_execute_data *old_execute_data = EG(current_execute_data), new_execute_data; \ - if (!EG(current_execute_data)) { \ - memset(&new_execute_data, 0, sizeof(zend_execute_data)); \ - execute_data = EG(current_execute_data) = &new_execute_data; \ - } else { \ - new_execute_data = *EG(current_execute_data); \ - new_execute_data.prev_execute_data = EG(current_execute_data); \ - new_execute_data.call = NULL; \ - new_execute_data.opline = NULL; \ - new_execute_data.func = NULL; \ - execute_data = EG(current_execute_data) = &new_execute_data; \ - } -// TODO(serghei): Deprecated -#define ZEPHIR_RESTORE_SCOPE() \ - EG(scope) = old_scope; \ - execute_data = old_call; \ - EG(current_execute_data) = old_execute_data; - -// TODO(serghei): Deprecated -#define ZEPHIR_SET_SCOPE(_scope, _scope_called) \ - EG(scope) = _scope; \ - EG(current_execute_data)->called_scope = _scope_called; - -#endif - /* End internal calls */ #define ZEPHIR_RETURN_CALL_ZVAL_FUNCTION(func_name, cache, cache_slot, ...) \ @@ -200,11 +167,19 @@ typedef enum _zephir_call_type { ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, Z_TYPE_P(object) == IS_OBJECT ? Z_OBJCE_P(object) : NULL, zephir_fcall_method, object, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_RETURN_CALL_STATIC(method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_static, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_RETURN_CALL_STATIC(method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, NULL, zephir_fcall_static, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif #define ZEPHIR_RETURN_CALL_PARENT(class_entry, this_ptr, method, cache, cache_slot, ...) \ do { \ @@ -212,25 +187,51 @@ typedef enum _zephir_call_type { ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, class_entry, zephir_fcall_parent, this_ptr, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_CALL_SELF(return_value_ptr, method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ + ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_self, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_CALL_SELF(return_value_ptr, method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, NULL, zephir_fcall_self, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_RETURN_CALL_SELF(method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_self, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_RETURN_CALL_SELF(method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, NULL, zephir_fcall_self, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_CALL_STATIC(return_value_ptr, method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ + ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_static, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_CALL_STATIC(return_value_ptr, method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, NULL, zephir_fcall_static, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif #define ZEPHIR_CALL_CE_STATIC(return_value_ptr, class_entry, method, cache, cache_slot, ...) \ do { \ @@ -298,7 +299,8 @@ int zephir_call_zval_func_aparams(zval *return_value_ptr, zval *func_name, zephir_fcall_cache_entry **cache_entry, int cache_slot, uint32_t param_count, zval **params) ZEPHIR_ATTR_WARN_UNUSED_RESULT; -int zephir_call_class_method_aparams(zval *return_value_ptr, +int zephir_call_class_method_aparams( + zval *return_value_ptr, zend_class_entry *ce, zephir_call_type type, zval *object, @@ -365,12 +367,18 @@ ZEPHIR_ATTR_WARN_UNUSED_RESULT static inline int zephir_return_call_zval_functio return SUCCESS; } -ZEPHIR_ATTR_WARN_UNUSED_RESULT static inline int zephir_return_call_class_method(zval *return_value, - zend_class_entry *ce, zephir_call_type type, zval *object, - const char *method_name, uint32_t method_len, - zephir_fcall_cache_entry **cache_entry, int cache_slot, - uint32_t param_count, zval **params) -{ +ZEPHIR_ATTR_WARN_UNUSED_RESULT static inline int zephir_return_call_class_method( + zval *return_value, + zend_class_entry *ce, + zephir_call_type type, + zval *object, + const char *method_name, + uint32_t method_len, + zephir_fcall_cache_entry **cache_entry, + int cache_slot, + uint32_t param_count, + zval **params +) { zval rv, *rvp = return_value ? return_value : &rv; int status; diff --git a/ext/kernel/file.c b/ext/kernel/file.c index 96aabd071c..a0540f7d83 100644 --- a/ext/kernel/file.c +++ b/ext/kernel/file.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -88,7 +79,6 @@ int zephir_file_exists(zval *filename) */ int zephir_compare_mtime(zval *filename1, zval *filename2) { - php_stream_statbuf statbuffer1, statbuffer2; if (Z_TYPE_P(filename1) != IS_STRING || Z_TYPE_P(filename2) != IS_STRING) { @@ -111,7 +101,6 @@ int zephir_compare_mtime(zval *filename1, zval *filename2) void zephir_fwrite(zval *return_value, zval *stream_zval, zval *data) { - int num_bytes; php_stream *stream; @@ -152,7 +141,6 @@ void zephir_fwrite(zval *return_value, zval *stream_zval, zval *data) int zephir_feof(zval *stream_zval) { - php_stream *stream; if (Z_TYPE_P(stream_zval) != IS_RESOURCE) { @@ -256,11 +244,7 @@ void zephir_file_put_contents(zval *return_value, zval *filename, zval *data) case IS_DOUBLE: case IS_TRUE: case IS_FALSE: -#if PHP_VERSION_ID < 70300 - case IS_CONSTANT: -#else case IS_CONSTANT_AST: -#endif use_copy = zend_make_printable_zval(data, ©); if (use_copy) { data = © @@ -315,7 +299,6 @@ void zephir_filemtime(zval *return_value, zval *path) */ void zephir_prepare_virtual_path(zval *return_value, zval *path, zval *virtual_separator) { - unsigned int i; unsigned char ch; smart_str virtual_str = {0}; diff --git a/ext/kernel/file.h b/ext/kernel/file.h index 924d83ca5c..90495c90f0 100644 --- a/ext/kernel/file.h +++ b/ext/kernel/file.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_FILE_H #define ZEPHIR_KERNEL_FILE_H diff --git a/ext/kernel/filter.c b/ext/kernel/filter.c index 0cdc4faf4f..bd30aaed4d 100644 --- a/ext/kernel/filter.c +++ b/ext/kernel/filter.c @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -40,8 +32,8 @@ /** * Filter alphanum string */ -void zephir_filter_alphanum(zval *return_value, zval *param) { - +void zephir_filter_alphanum(zval *return_value, zval *param) +{ unsigned int i; unsigned char ch; smart_str filtered_str = {0}; @@ -83,7 +75,6 @@ void zephir_filter_alphanum(zval *return_value, zval *param) { */ void zephir_is_basic_charset(zval *return_value, const zval *param) { - unsigned int i; unsigned int ch; int iso88591 = 0; @@ -127,8 +118,8 @@ static long zephir_unpack(char *data, int size, int issigned, int *map) /** * Converts an unsigned long to a char* */ -static inline char *zephir_longtohex(unsigned long value) { - +static inline char *zephir_longtohex(unsigned long value) +{ static char digits[] = "0123456789abcdef"; char buf[(sizeof(unsigned long) << 3) + 1]; char *ptr, *end; @@ -148,7 +139,6 @@ static inline char *zephir_longtohex(unsigned long value) { */ void zephir_escape_multi(zval *return_value, zval *param, const char *escape_char, unsigned int escape_length, char escape_extra, int use_whitelist) { - unsigned int i; zval copy; smart_str escaped_str = {0}; diff --git a/ext/kernel/filter.h b/ext/kernel/filter.h index 951ba81a86..652d1e9040 100644 --- a/ext/kernel/filter.h +++ b/ext/kernel/filter.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_FILTER_H #define ZEPHIR_KERNEL_FILTER_H diff --git a/ext/kernel/globals.h b/ext/kernel/globals.h index 3c065d4f8c..724e2e3feb 100644 --- a/ext/kernel/globals.h +++ b/ext/kernel/globals.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_GLOBALS_H #define ZEPHIR_KERNEL_GLOBALS_H @@ -94,4 +85,8 @@ typedef zend_function zephir_fcall_cache_entry; #define likely(x) EXPECTED(x) #define unlikely(x) UNEXPECTED(x) +#ifndef ZEND_ACC_DTOR + #define ZEND_ACC_DTOR 0 +#endif + #endif diff --git a/ext/kernel/iterator.c b/ext/kernel/iterator.c index b71e43e0c9..901f3efc2c 100644 --- a/ext/kernel/iterator.c +++ b/ext/kernel/iterator.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/ext/kernel/iterator.h b/ext/kernel/iterator.h index c2fdf0e96c..48d49629c1 100644 --- a/ext/kernel/iterator.h +++ b/ext/kernel/iterator.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_ITERATOR_H #define ZEPHIR_KERNEL_ITERATOR_H diff --git a/ext/kernel/main.c b/ext/kernel/main.c index 69752c6e69..8014a65145 100644 --- a/ext/kernel/main.c +++ b/ext/kernel/main.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -142,13 +142,21 @@ void zephir_fast_count(zval *result, zval *value) if (Z_OBJ_HT_P(value)->count_elements) { ZVAL_LONG(result, 1); +#if PHP_VERSION_ID >= 80000 + if (SUCCESS == Z_OBJ_HT(*value)->count_elements(Z_OBJ_P(value), &Z_LVAL_P(result))) { +#else if (SUCCESS == Z_OBJ_HT(*value)->count_elements(value, &Z_LVAL_P(result))) { +#endif return; } } if (instanceof_function(Z_OBJCE_P(value), spl_ce_Countable)) { +#if PHP_VERSION_ID >= 80000 + zend_call_method_with_0_params(Z_OBJ_P(value), NULL, NULL, "count", &retval); +#else zend_call_method_with_0_params(value, NULL, NULL, "count", &retval); +#endif if (Z_TYPE(retval) != IS_UNDEF) { convert_to_long_ex(&retval); ZVAL_LONG(result, Z_LVAL(retval)); @@ -185,12 +193,20 @@ int zephir_fast_count_ev(zval *value) zval retval; if (Z_OBJ_HT_P(value)->count_elements) { +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT(*value)->count_elements(Z_OBJ_P(value), &count); +#else Z_OBJ_HT(*value)->count_elements(value, &count); +#endif return (int) count > 0; } if (instanceof_function(Z_OBJCE_P(value), spl_ce_Countable)) { +#if PHP_VERSION_ID >= 80000 + zend_call_method_with_0_params(Z_OBJ_P(value), NULL, NULL, "count", &retval); +#else zend_call_method_with_0_params(value, NULL, NULL, "count", &retval); +#endif if (Z_TYPE(retval) != IS_UNDEF) { convert_to_long_ex(&retval); count = Z_LVAL(retval); @@ -222,16 +238,23 @@ int zephir_fast_count_int(zval *value) } if (Z_TYPE_P(value) == IS_OBJECT) { - zval retval; if (Z_OBJ_HT_P(value)->count_elements) { +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT(*value)->count_elements(Z_OBJ_P(value), &count); +#else Z_OBJ_HT(*value)->count_elements(value, &count); +#endif return (int) count; } if (instanceof_function(Z_OBJCE_P(value), spl_ce_Countable)) { +#if PHP_VERSION_ID >= 80000 + zend_call_method_with_0_params(Z_OBJ_P(value), NULL, NULL, "count", &retval); +#else zend_call_method_with_0_params(value, NULL, NULL, "count", &retval); +#endif if (Z_TYPE(retval) != IS_UNDEF) { convert_to_long_ex(&retval); count = Z_LVAL(retval); @@ -251,20 +274,6 @@ int zephir_fast_count_int(zval *value) return 1; } -/** - * Check if a function exists using explicit function length - * - * TODO: Deprecated. Will be removed in future - */ -int zephir_function_quick_exists_ex(const char *function_name, size_t function_len) -{ - if (zend_hash_str_exists(CG(function_table), function_name, function_len)) { - return SUCCESS; - } - - return FAILURE; -} - /** * Check if a function exists * @@ -273,7 +282,7 @@ int zephir_function_quick_exists_ex(const char *function_name, size_t function_l */ int zephir_function_exists(const zval *function_name) { - if (zend_hash_str_exists(CG(function_table), Z_STRVAL_P(function_name), Z_STRLEN_P(function_name))) { + if (zend_hash_str_exists(CG(function_table), Z_STRVAL_P(function_name), Z_STRLEN_P(function_name)) != NULL) { return SUCCESS; } @@ -283,13 +292,17 @@ int zephir_function_exists(const zval *function_name) /** * Check if a function exists using explicit function length * - * TODO: Deprecated. Will be removed in future + * TODO: Check if make sense to merge all logic of IS_STRING inside zephir_function_exists() function. * @param function_name * @param function_len strlen(function_name) + 1 */ int zephir_function_exists_ex(const char *function_name, unsigned int function_len) { - return zephir_function_quick_exists_ex(function_name, function_len); + if (zend_hash_str_exists(CG(function_table), function_name, function_len) != NULL) { + return SUCCESS; + } + + return FAILURE; } /** @@ -393,8 +406,7 @@ zend_class_entry* zephir_get_internal_ce(const char *class_name, unsigned int cl /* Declare constants */ int zephir_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value) { -#if PHP_VERSION_ID >= 70200 - int ret; +#if PHP_VERSION_ID >= 80000 zend_string *key; if (ce->type == ZEND_INTERNAL_CLASS) { @@ -403,27 +415,30 @@ int zephir_declare_class_constant(zend_class_entry *ce, const char *name, size_t key = zend_string_init(name, name_length, 0); } - ret = zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); + zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); if (ce->type != ZEND_INTERNAL_CLASS) { zend_string_release(key); } - return ret; -#elif PHP_VERSION_ID >= 70100 + return SUCCESS; +#else int ret; + zend_string *key; + + if (ce->type == ZEND_INTERNAL_CLASS) { + key = zend_string_init_interned(name, name_length, 1); + } else { + key = zend_string_init(name, name_length, 0); + } - zend_string *key = zend_string_init(name, name_length, ce->type & ZEND_INTERNAL_CLASS); ret = zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); - zend_string_release(key); - return ret; -#else - if (Z_CONSTANT_P(value)) { - ce->ce_flags &= ~ZEND_ACC_CONSTANTS_UPDATED; + + if (ce->type != ZEND_INTERNAL_CLASS) { + zend_string_release(key); } - ZVAL_NEW_PERSISTENT_REF(value, value); - return zend_hash_str_update(&ce->constants_table, name, name_length, value) ? - SUCCESS : FAILURE; + + return ret; #endif } @@ -498,8 +513,7 @@ int zephir_is_php_version(unsigned int id) return ((php_major + php_minor + php_release) == id ? 1 : 0); } -void -zephir_get_args(zval *return_value) +void zephir_get_args(zval *return_value) { zend_execute_data *ex = EG(current_execute_data); uint32_t arg_count = ZEND_CALL_NUM_ARGS(ex); @@ -542,8 +556,7 @@ zephir_get_args(zval *return_value) } } -void -zephir_get_arg(zval *return_value, zend_long idx) +void zephir_get_arg(zval *return_value, zend_long idx) { zend_execute_data *ex = EG(current_execute_data); uint32_t arg_count; @@ -555,11 +568,9 @@ zephir_get_arg(zval *return_value, zend_long idx) } arg_count = ZEND_CALL_NUM_ARGS(ex); -#if PHP_VERSION_ID >= 70100 - if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { - RETURN_FALSE; - } -#endif + if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { + RETURN_FALSE; + } 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/main.h b/ext/kernel/main.h index 28d513a2e1..72278a569f 100644 --- a/ext/kernel/main.h +++ b/ext/kernel/main.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/ext/kernel/math.c b/ext/kernel/math.c index 0b0f7eeb12..437a2596c7 100644 --- a/ext/kernel/math.c +++ b/ext/kernel/math.c @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -189,13 +181,10 @@ void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3) } } -zend_long -zephir_mt_rand(zend_long min, zend_long max) +zend_long zephir_mt_rand(zend_long min, zend_long max) { - zend_long number; - if (max < min) { - php_error_docref(NULL, E_WARNING, "max(%ld) is smaller than min(%ld)", max, min); + php_error_docref(NULL, E_WARNING, "max(" ZEND_LONG_FMT ") is smaller than min(" ZEND_LONG_FMT ")", max, min); return 0; } @@ -203,20 +192,7 @@ zephir_mt_rand(zend_long min, zend_long max) php_mt_srand(GENERATE_SEED()); } - number = (zend_long) (php_mt_rand() >> 1); - - /** - * The RAND_RANGE() macro has been removed since PHP 7.3. - * php_mt_rand_range() should be used instead. - * However, php_mt_rand_range() has been present since PHP 7.1. - */ -#if PHP_VERSION_ID < 70100 - RAND_RANGE(number, min, max, PHP_MT_RAND_MAX); -#else - number = php_mt_rand_range(min, max); -#endif - - return number; + return php_mt_rand_range(min, max); } double zephir_ldexp(zval *value, zval *expval) diff --git a/ext/kernel/math.h b/ext/kernel/math.h index d83637e09e..ba4c401664 100644 --- a/ext/kernel/math.h +++ b/ext/kernel/math.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_MATH_H #define ZEPHIR_KERNEL_MATH_H diff --git a/ext/kernel/memory.c b/ext/kernel/memory.c index 180f5ffc36..ac1f012fd0 100644 --- a/ext/kernel/memory.c +++ b/ext/kernel/memory.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/ext/kernel/memory.h b/ext/kernel/memory.h index b7b0493a6d..269ed60920 100644 --- a/ext/kernel/memory.h +++ b/ext/kernel/memory.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -179,10 +179,3 @@ int zephir_set_symbol_str(char *key_name, unsigned int key_length, zval *value); } while (0) #endif - -/* Backwards compatibility for GC API change in PHP 7.3 */ -#if PHP_VERSION_ID < 70300 -# define GC_ADDREF(p) ++GC_REFCOUNT(p) -# define GC_DELREF(p) --GC_REFCOUNT(p) -# define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc -#endif diff --git a/ext/kernel/object.c b/ext/kernel/object.c index 0cb92673fd..655b2d38f6 100644 --- a/ext/kernel/object.c +++ b/ext/kernel/object.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -95,7 +95,6 @@ int zephir_zval_is_traversable(zval *object) */ void zephir_get_called_class(zval *return_value) { -#if PHP_VERSION_ID >= 70100 zend_class_entry *called_scope = zend_get_called_scope(EG(current_execute_data)); if (called_scope) { ZVAL_STR(return_value, zend_string_dup(called_scope->name, 0)); @@ -104,17 +103,6 @@ void zephir_get_called_class(zval *return_value) if (!zend_get_executed_scope()) { php_error_docref(NULL, E_WARNING, "zephir_get_called_class() called from outside a class"); } -#else - if (EG(current_execute_data)->called_scope) { - zend_string *ret = EG(current_execute_data)->called_scope->name; - zend_string_addref(ret); - RETURN_STR(ret); - } - - if (!EG(scope)) { - php_error_docref(NULL, E_WARNING, "zephir_get_called_class() called from outside a class"); - } -#endif } zend_class_entry *zephir_fetch_class_str_ex(const char *class_name, size_t length, int fetch_type) @@ -150,7 +138,6 @@ void zephir_get_class(zval *result, zval *object, int lower) zval *z = Z_ISREF_P(object) ? Z_REFVAL_P(object) : object; if (Z_TYPE_P(z) == IS_OBJECT) { - ce = Z_OBJCE_P(z); //zval_ptr_dtor(result); class_name = zend_string_init(ZSTR_VAL(ce->name), ZSTR_LEN(ce->name), 0); @@ -223,7 +210,6 @@ void zephir_get_class_ns(zval *result, zval *object, int lower) if (lower) { zend_str_tolower(Z_STRVAL_P(result), Z_STRLEN_P(result)); } - } /** @@ -352,7 +338,11 @@ int zephir_clone(zval *destination, zval *obj) status = FAILURE; } else { if (!EG(exception)) { +#if PHP_VERSION_ID >= 80000 + ZVAL_OBJ(destination, clone_call(Z_OBJ_P(obj))); +#else ZVAL_OBJ(destination, clone_call(obj)); +#endif if (EG(exception)) { zval_ptr_dtor(destination); } @@ -369,19 +359,10 @@ int zephir_clone(zval *destination, zval *obj) int zephir_isset_property(zval *object, const char *property_name, unsigned int property_length) { if (Z_TYPE_P(object) == IS_OBJECT) { - /* - if (Z_OBJ_HANDLER_P(object, has_property)) { - zval member; - int retval; - ZVAL_STRINGL(&member, property_name, property_length); - retval = Z_OBJ_HT_P(object)->has_property(object, &member, 2, NULL); - zval_ptr_dtor(&member); - return retval; - } - */ if (EXPECTED(zend_hash_str_exists(&Z_OBJCE_P(object)->properties_info, property_name, property_length))) { return 1; } + #if PHP_VERSION_ID >= 80000 return zend_hash_str_exists( Z_OBJ_HT_P(object)->get_properties(Z_OBJ_P(object)), @@ -407,15 +388,9 @@ int zephir_isset_property_zval(zval *object, const zval *property) { if (Z_TYPE_P(object) == IS_OBJECT) { if (Z_TYPE_P(property) == IS_STRING) { - /* - if (Z_OBJ_HANDLER_P(object, has_property)) { - return Z_OBJ_HT_P(object)->has_property(object, property, 2, NULL); - } - */ if (EXPECTED(zend_hash_str_exists(&Z_OBJCE_P(object)->properties_info, Z_STRVAL_P(property), Z_STRLEN_P(property)))) { return 1; } else { - #if PHP_VERSION_ID >= 80000 return zend_hash_str_exists( Z_OBJ_HT_P(object)->get_properties(Z_OBJ_P(object)), @@ -439,10 +414,11 @@ int zephir_isset_property_zval(zval *object, const zval *property) /** * Lookup for the real owner of the property */ -static inline -zend_class_entry *zephir_lookup_class_ce(zend_class_entry *ce, - const char *property_name, - unsigned int property_length) { +static inline zend_class_entry *zephir_lookup_class_ce( + zend_class_entry *ce, + const char *property_name, + unsigned int property_length +) { zend_class_entry *original_ce = ce; zend_property_info *info; zend_class_entry *scope; @@ -483,9 +459,12 @@ zend_class_entry *zephir_lookup_class_ce(zend_class_entry *ce, * This function is intended to use in initializer. Do not use it for a * regular property updating. */ -int zephir_read_property_ex(zval *result, zval *object, const char *property_name, - uint32_t property_length, int flags) -{ +int zephir_read_property_ex( + zval *result, + zval *object, + const char *property_name, + uint32_t property_length, int flags +) { zend_class_entry *scope; int retval; @@ -518,9 +497,12 @@ int zephir_read_property_ex(zval *result, zval *object, const char *property_nam /** * Checks whether obj is an object and reads a property from this object */ -int zephir_read_property(zval *result, zval *object, const char *property_name, - uint32_t property_length, int flags) -{ +int zephir_read_property( + zval *result, + zval *object, + const char *property_name, + uint32_t property_length, int flags +) { zval property, tmp; zval *res; @@ -528,9 +510,7 @@ int zephir_read_property(zval *result, zval *object, const char *property_name, if (Z_TYPE_P(object) != IS_OBJECT) { if ((flags & PH_NOISY) == PH_NOISY) { - php_error_docref(NULL, E_NOTICE, - "Trying to get property '%s' of non-object", - property_name); + php_error_docref(NULL, E_NOTICE, "Trying to get property '%s' of non-object", property_name); } ZVAL_NULL(result); @@ -538,16 +518,20 @@ int zephir_read_property(zval *result, zval *object, const char *property_name, } if (!Z_OBJ_HT_P(object)->read_property) { - zend_error(E_CORE_ERROR, - "Property %s of class %s cannot be read", - property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); + zend_error(E_CORE_ERROR, "Property %s of class %s cannot be read", property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); } ZVAL_STRINGL(&property, property_name, property_length); - +#if PHP_VERSION_ID >= 80000 + res = Z_OBJ_HT_P(object)->read_property(Z_OBJ_P(object), Z_STR(property), + flags ? BP_VAR_IS : BP_VAR_R, + NULL, &tmp); +#else res = Z_OBJ_HT_P(object)->read_property(object, &property, flags ? BP_VAR_IS : BP_VAR_R, NULL, &tmp); +#endif + if ((flags & PH_READONLY) == PH_READONLY) { ZVAL_COPY_VALUE(result, res); } else { @@ -569,7 +553,6 @@ int zephir_fetch_property(zval *result, zval *object, const char *property_name, return 1; } - //zval_ptr_dtor(result); ZVAL_NULL(result); return 0; } @@ -622,9 +605,12 @@ int zephir_read_property_zval(zval *result, zval *object, zval *property, int fl * This function is intended to use in initializer. Do not use it for a * regular property updating. */ -int zephir_update_property_zval_ex(zval *object, const char *property_name, - unsigned int property_length, zval *value) -{ +int zephir_update_property_zval_ex( + zval *object, + const char *property_name, + unsigned int property_length, + zval *value +) { zend_class_entry *scope; int retval; @@ -657,22 +643,21 @@ int zephir_update_property_zval_ex(zval *object, const char *property_name, /** * Checks whether obj is an object and updates property with another zval */ -int zephir_update_property_zval(zval *object, const char *property_name, - unsigned int property_length, zval *value) -{ +int zephir_update_property_zval( + zval *object, + const char *property_name, + unsigned int property_length, + zval *value +) { zval property, sep_value; if (Z_TYPE_P(object) != IS_OBJECT) { - php_error_docref(NULL, E_WARNING, - "Attempt to assign property '%s' of non-object", - property_name); + php_error_docref(NULL, E_WARNING, "Attempt to assign property '%s' of non-object", property_name); return FAILURE; } if (!Z_OBJ_HT_P(object)->write_property) { - zend_error(E_CORE_ERROR, - "Property %s of class %s cannot be updated", - property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); + zend_error(E_CORE_ERROR, "Property %s of class %s cannot be updated", property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); } ZVAL_STRINGL(&property, property_name, property_length); @@ -688,7 +673,12 @@ int zephir_update_property_zval(zval *object, const char *property_name, /* write_property will add 1 to refcount, so no Z_TRY_ADDREF_P(value) is necessary */ +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT_P(object)->write_property(Z_OBJ_P(object), Z_STR(property), &sep_value, 0); +#else Z_OBJ_HT_P(object)->write_property(object, &property, &sep_value, 0); +#endif + zval_ptr_dtor(&property); if (UNEXPECTED(EG(exception))) { @@ -952,9 +942,11 @@ int zephir_unset_property(zval* object, const char* name) /* Use caller's scope */ zephir_set_scope(Z_OBJCE_P(object)); - +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT_P(object)->unset_property(Z_OBJ_P(object), Z_STR(member), 0); +#else Z_OBJ_HT_P(object)->unset_property(object, &member, 0); - +#endif /* Restore original scope */ zephir_set_scope(scope); @@ -970,7 +962,6 @@ int zephir_unset_property_array(zval *object, char *property, unsigned int prope int separated = 0; if (Z_TYPE_P(object) == IS_OBJECT) { - zephir_read_property(&tmp, object, property, property_length, PH_NOISY_CC); Z_TRY_DELREF(tmp); @@ -1050,9 +1041,11 @@ int zephir_method_exists(zval *object, const zval *method_name) zend_error(E_WARNING, "method_exists expected a string"); return 0; } + char *lcname = zend_str_tolower_dup(Z_STRVAL_P(method_name), Z_STRLEN_P(method_name)); int res = zephir_method_exists_ex(object, lcname, Z_STRLEN_P(method_name)); efree(lcname); + return res; } @@ -1060,43 +1053,26 @@ int zephir_read_static_property_ce(zval *result, zend_class_entry *ce, const cha { zval *tmp = zend_read_static_property(ce, property, len, (zend_bool) ZEND_FETCH_CLASS_SILENT); - //zval_ptr_dtor(result); ZVAL_NULL(result); - if (tmp) - { + if (tmp) { if ((flags & PH_READONLY) == PH_READONLY) { ZVAL_COPY_VALUE(result, tmp); } else { ZVAL_COPY(result, tmp); } + return SUCCESS; } + return FAILURE; } +/** + * TODO: Use directly zend_update_static_property() + */ int zephir_update_static_property_ce(zend_class_entry *ce, const char *property_name, uint32_t property_length, zval *value) { -// Disabled due to: -// https://github.com/phalcon/zephir/issues/1941#issuecomment-538654340 -// -//#if PHP_VERSION_ID < 70300 -// zval *property, garbage; -// property = zend_read_static_property(ce, property_name, property_length, (zend_bool)ZEND_FETCH_CLASS_SILENT); -// if (property) { -// if (Z_ISREF_P(property)) { -// ZVAL_DEREF(property); -// } -// if (Z_ISREF_P(value)) { -// ZVAL_DEREF(value); -// } -// ZVAL_COPY_VALUE(&garbage, property); -// ZVAL_COPY(property, value); -// zval_ptr_dtor(&garbage); -// return 1; -// } -//#else return zend_update_static_property(ce, property_name, property_length, value); -//#endif } int zephir_add_static_property_ce(zend_class_entry *ce, const char *property_name, uint32_t property_length, zval *value) @@ -1118,8 +1094,16 @@ int zephir_sub_static_property_ce(zend_class_entry *ce, const char *property_nam /* * Multiple array-offset update */ -int zephir_update_static_property_array_multi_ce(zend_class_entry *ce, const char *property, uint32_t property_length, zval *value, const char *types, int types_length, int types_count, ...) -{ +int zephir_update_static_property_array_multi_ce( + zend_class_entry *ce, + const char *property, + uint32_t property_length, + zval *value, + const char *types, + int types_length, + int types_count, + ... +) { va_list ap; zval tmp_arr; int separated = 0; @@ -1156,6 +1140,7 @@ int zephir_update_static_property_array_multi_ce(zend_class_entry *ce, const cha array_init(&tmp_arr); separated = 1; } + if (Z_REFCOUNTED(tmp_arr)) { if (Z_REFCOUNT(tmp_arr) > 1) { if (!Z_ISREF(tmp_arr)) { @@ -1208,7 +1193,6 @@ int zephir_property_incr_decr(zval *object, char *property_name, unsigned int pr zephir_read_property(&tmp, object, property_name, property_length, 0); if (Z_TYPE(tmp) > IS_UNDEF) { - Z_TRY_DELREF(tmp); /** Separation only when refcount > 1 */ @@ -1250,11 +1234,7 @@ typedef struct _zend_closure { zend_function func; zval this_ptr; zend_class_entry *called_scope; -#if PHP_VERSION_ID >= 70300 zif_handler orig_internal_handler; -#else - void (*orig_internal_handler)(INTERNAL_FUNCTION_PARAMETERS); -#endif } zend_closure; /** @@ -1309,20 +1289,18 @@ int zephir_create_instance(zval *return_value, const zval *class_name) zend_class_entry* ce = Z_OBJCE_P(return_value); fci.size = sizeof(fci); -#if PHP_VERSION_ID < 70100 - fci.function_table = &ce->function_table; - fci.symbol_table = NULL; -#endif fci.object = obj; fci.retval = 0; fci.param_count = 0; fci.params = 0; - fci.no_separation = 1; +#if PHP_VERSION_ID < 80000 + fci.no_separation = 1; +#else + fci.named_params = NULL; +#endif + ZVAL_NULL(&fci.function_name); -#if PHP_VERSION_ID < 70300 - fcc.initialized = 1; -#endif fcc.object = obj; fcc.called_scope = ce; fcc.calling_scope = ce; @@ -1373,20 +1351,17 @@ int zephir_create_instance_params(zval *return_value, const zval *class_name, zv zend_class_entry* ce = Z_OBJCE_P(return_value); fci.size = sizeof(fci); -#if PHP_VERSION_ID < 70100 - fci.function_table = &ce->function_table; - fci.symbol_table = NULL; -#endif fci.object = obj; fci.retval = 0; fci.param_count = 0; fci.params = 0; - fci.no_separation = 1; +#if PHP_VERSION_ID < 80000 + fci.no_separation = 1; +#else + fci.named_params = NULL; +#endif ZVAL_NULL(&fci.function_name); -#if PHP_VERSION_ID < 70300 - fcc.initialized = 1; -#endif fcc.object = obj; fcc.called_scope = ce; fcc.calling_scope = ce; diff --git a/ext/kernel/object.h b/ext/kernel/object.h index 36598823f3..6a24e728be 100644 --- a/ext/kernel/object.h +++ b/ext/kernel/object.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -19,13 +19,8 @@ #include "kernel/main.h" /* Working with scopes */ -#if PHP_VERSION_ID >= 70100 # define zephir_get_scope(e) ((e) ? zend_get_executed_scope() : EG(fake_scope)) # define zephir_set_scope(s) EG(fake_scope) = (s) -#else -# define zephir_get_scope(e) EG(scope) -# define zephir_set_scope(s) EG(scope) = (s) -#endif /** Class Retrieving/Checking */ int zephir_class_exists(zval *class_name, int autoload); diff --git a/ext/kernel/operators.c b/ext/kernel/operators.c index cd1d48035c..1cc0064ead 100644 --- a/ext/kernel/operators.c +++ b/ext/kernel/operators.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/ext/kernel/operators.h b/ext/kernel/operators.h index 77c1fc1789..881f30f0b6 100644 --- a/ext/kernel/operators.h +++ b/ext/kernel/operators.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_OPERATORS_H #define ZEPHIR_KERNEL_OPERATORS_H diff --git a/ext/kernel/require.c b/ext/kernel/require.c index a0d5ccfad9..2bab5554c5 100644 --- a/ext/kernel/require.c +++ b/ext/kernel/require.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -45,19 +45,10 @@ int zephir_require_ret(zval *return_value_ptr, const char *require_path) } #endif -#if PHP_VERSION_ID < 70400 - file_handle.filename = require_path; - file_handle.free_filename = 0; - file_handle.type = ZEND_HANDLE_FILENAME; - file_handle.opened_path = NULL; - file_handle.handle.fp = NULL; -#else - ret = php_stream_open_for_zend_ex(require_path, &file_handle, USE_PATH|STREAM_OPEN_FOR_INCLUDE); - - if (ret != SUCCESS) { - return FAILURE; - } -#endif + ret = php_stream_open_for_zend_ex(require_path, &file_handle, USE_PATH|STREAM_OPEN_FOR_INCLUDE); + if (ret != SUCCESS) { + return FAILURE; + } new_op_array = zend_compile_file(&file_handle, ZEND_REQUIRE); if (new_op_array) { @@ -72,11 +63,7 @@ int zephir_require_ret(zval *return_value_ptr, const char *require_path) zend_destroy_file_handle(&file_handle); } -#if PHP_VERSION_ID >= 70100 new_op_array->scope = EG(fake_scope) ? EG(fake_scope) : zend_get_executed_scope(); -#else - new_op_array->scope = EG(scope); -#endif zend_execute(new_op_array, &local_retval); if (return_value_ptr) { diff --git a/ext/kernel/require.h b/ext/kernel/require.h index 6cb3f60cfd..30a2bca866 100644 --- a/ext/kernel/require.h +++ b/ext/kernel/require.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/ext/kernel/string.c b/ext/kernel/string.c index 039ce406cd..dd5ba9d432 100644 --- a/ext/kernel/string.c +++ b/ext/kernel/string.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -151,7 +151,6 @@ void zephir_fast_strtoupper(zval *return_value, zval *str) */ int zephir_start_with(const zval *str, const zval *compared, zval *case_sensitive) { - int i; int sensitive = 0; char *op1_cursor, *op2_cursor; @@ -175,7 +174,6 @@ int zephir_start_with(const zval *str, const zval *compared, zval *case_sensitiv op1_cursor = Z_STRVAL_P(str); op2_cursor = Z_STRVAL_P(compared); for (i = 0; i < Z_STRLEN_P(compared); i++) { - if (tolower(*op1_cursor) != tolower(*op2_cursor)) { return 0; } @@ -217,7 +215,6 @@ int zephir_start_with_str_str(char *str, unsigned int str_length, char *compared */ int zephir_end_with(const zval *str, const zval *compared, zval *case_sensitive) { - int sensitive = 0; int i; char *op1_cursor, *op2_cursor; @@ -259,7 +256,6 @@ int zephir_end_with(const zval *str, const zval *compared, zval *case_sensitive) */ int zephir_end_with_str(const zval *str, char *compared, unsigned int compared_length) { - if (Z_TYPE_P(str) != IS_STRING) { return 0; } @@ -433,7 +429,6 @@ void zephir_append_printable_array(smart_str *implstr, const zval *value) */ void zephir_unique_key(zval *return_value, const zval *prefix, zval *value) { - smart_str implstr = {0}; if (Z_TYPE_P(prefix) == IS_STRING) { @@ -466,8 +461,11 @@ void zephir_fast_join(zval *result, zval *glue, zval *pieces) zend_error(E_WARNING, "Invalid arguments supplied for join()"); return; } - +#if PHP_VERSION_ID < 80000 php_implode(Z_STR_P(glue), pieces, result); +#else + php_implode(Z_STR_P(glue), Z_ARRVAL_P(pieces), result); +#endif } /** @@ -565,7 +563,6 @@ void zephir_fast_join_str(zval *return_value, char *glue, unsigned int glue_leng */ void zephir_camelize(zval *return_value, const zval *str, const zval *delimiter) { - int i, len, delim_len, pre_del = 1; smart_str camelize_str = {0}; char *marker, ch, *delim; @@ -666,7 +663,6 @@ void zephir_uncamelize(zval *return_value, const zval *str, const zval *delimite */ int zephir_memnstr(const zval *haystack, const zval *needle ZEPHIR_DEBUG_PARAMS) { - if (Z_TYPE_P(haystack) != IS_STRING || Z_TYPE_P(needle) != IS_STRING) { #ifndef ZEPHIR_RELEASE zend_error(E_WARNING, "Invalid arguments supplied for memnstr in %s on line %d", file, line); @@ -886,6 +882,7 @@ static zend_string* php_char_to_str_ex(zend_string *str, char from, char *to, si } } } + *target = 0; return result; } @@ -1068,19 +1065,11 @@ void zephir_preg_match(zval *return_value, zval *regex, zval *subject, zval *mat ZVAL_UNDEF(&tmp_matches); -#if PHP_VERSION_ID < 70400 - if (flags != 0 || offset != 0) { - php_pcre_match_impl(pce, Z_STRVAL_P(subject), Z_STRLEN_P(subject), return_value, &tmp_matches, global, 1, flags, offset); - } else { - php_pcre_match_impl(pce, Z_STRVAL_P(subject), Z_STRLEN_P(subject), return_value, &tmp_matches, global, 0, 0, 0); - } -#else if (flags != 0 || offset != 0) { php_pcre_match_impl(pce, Z_STR_P(subject), return_value, &tmp_matches, global, 1, flags, offset); } else { php_pcre_match_impl(pce, Z_STR_P(subject), return_value, &tmp_matches, global, 0, 0, 0); } -#endif if (matches) { zval *php_matches = &tmp_matches; @@ -1300,11 +1289,7 @@ void zephir_addslashes(zval *return_value, zval *str) } } -#if PHP_VERSION_ID < 70300 - ZVAL_STR(return_value, php_addslashes(Z_STR_P(str), 0)); -#else - ZVAL_STR(return_value, php_addslashes(Z_STR_P(str))); -#endif + ZVAL_STR(return_value, php_addslashes(Z_STR_P(str))); if (UNEXPECTED(use_copy)) { zval_dtor(©); diff --git a/ext/kernel/string.h b/ext/kernel/string.h index 014c246785..9d98e515ef 100644 --- a/ext/kernel/string.h +++ b/ext/kernel/string.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/ext/kernel/time.c b/ext/kernel/time.c index f94c0148ce..a70760cce0 100644 --- a/ext/kernel/time.c +++ b/ext/kernel/time.c @@ -1,18 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/ext/kernel/time.h b/ext/kernel/time.h index 6a282a3af0..9aab8f71e0 100644 --- a/ext/kernel/time.h +++ b/ext/kernel/time.h @@ -1,18 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_TIME_H #define ZEPHIR_KERNEL_TIME_H diff --git a/ext/kernel/variables.c b/ext/kernel/variables.c index ab6f49c631..8559d26654 100644 --- a/ext/kernel/variables.c +++ b/ext/kernel/variables.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Rack Lin | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/ext/kernel/variables.h b/ext/kernel/variables.h index 72b943e9fa..364eeebd89 100644 --- a/ext/kernel/variables.h +++ b/ext/kernel/variables.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Rack Lin | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_VARIABLES_H #define ZEPHIR_KERNEL_VARIABLES_H diff --git a/ext/php_stub.h b/ext/php_stub.h index 8ff72cf0a2..4a63cfb178 100644 --- a/ext/php_stub.h +++ b/ext/php_stub.h @@ -14,21 +14,21 @@ #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.12.20-$Id$" +#define PHP_STUB_ZEPVERSION "0.13.0-$Id$" #define PHP_STUB_DESCRIPTION "Description test for
Test Extension." -typedef struct _zephir_struct_db { +typedef struct _zephir_struct_db { zend_bool my_setting_1; int my_setting_2; double my_setting_3; } zephir_struct_db; -typedef struct _zephir_struct_orm { +typedef struct _zephir_struct_orm { int cache_level; zend_bool cache_enable; } zephir_struct_orm; -typedef struct _zephir_struct_extension { +typedef struct _zephir_struct_extension { zend_bool test_ini_variable; } zephir_struct_extension; @@ -49,7 +49,7 @@ ZEND_BEGIN_MODULE_GLOBALS(stub) /* Max recursion control */ unsigned int recursive_lock; - + zephir_struct_db db; zephir_struct_orm orm; diff --git a/ext/stub.c b/ext/stub.c index 1648bdfb28..ea976aa4d7 100644 --- a/ext/stub.c +++ b/ext/stub.c @@ -24,6 +24,10 @@ zend_class_entry *stub_testinterface_ce; +zend_class_entry *stub_issue2165_issueextendinterface_ce; +zend_class_entry *stub_interfaces_interfaceint_ce; +zend_class_entry *stub_interfaces_interfaceintsignature_ce; +zend_class_entry *stub_issue2165_issueinterface_ce; zend_class_entry *stub_methodinterface_ce; zend_class_entry *stub_oo_scopes_scopetesterinterface_ce; zend_class_entry *stub_ooimpl_zbeginning_ce; @@ -31,11 +35,14 @@ zend_class_entry *stub_diinterface_ce; zend_class_entry *stub_extendedinterface_ce; zend_class_entry *stub_integration_psr_http_message_messageinterfaceex_ce; zend_class_entry *stub_ooimpl_abeginning_ce; +zend_class_entry *stub_invokes_abstractprotected_ce; zend_class_entry *stub_oo_extend_exception_ce; zend_class_entry *stub_oo_extend_db_exception_ce; zend_class_entry *stub_scallparent_ce; zend_class_entry *stub_constantsparent_ce; zend_class_entry *stub_globals_session_base_ce; +zend_class_entry *stub_invokes_abstractinvoker_ce; +zend_class_entry *stub_invokes_abstractinvokercomplex_ce; zend_class_entry *stub_oo_abstractstatic_ce; zend_class_entry *stub_oo_extend_db_query_exception_ce; zend_class_entry *stub_oo_oodynamica_ce; @@ -98,6 +105,7 @@ zend_class_entry *stub_flow_switchflow_ce; zend_class_entry *stub_fortytwo_ce; zend_class_entry *stub_functional_ce; zend_class_entry *stub_functionexists_ce; +zend_class_entry *stub_functions_ce; zend_class_entry *stub_geometry_ce; zend_class_entry *stub_globals_ce; zend_class_entry *stub_globals_env_ce; @@ -107,12 +115,17 @@ zend_class_entry *stub_globals_serverrequestfactory_ce; zend_class_entry *stub_globals_session_child_ce; zend_class_entry *stub_instance_ce; zend_class_entry *stub_instanceoff_ce; +zend_class_entry *stub_interfaces_implementint_ce; +zend_class_entry *stub_interfaces_implementinterface_ce; zend_class_entry *stub_internalclasses_ce; zend_class_entry *stub_internalinterfaces_ce; zend_class_entry *stub_invoke_ce; +zend_class_entry *stub_invokes_invokeprotected_ce; +zend_class_entry *stub_invokes_invokeprotectedcomplex_ce; zend_class_entry *stub_issettest_ce; zend_class_entry *stub_issue1404_ce; zend_class_entry *stub_issue1521_ce; +zend_class_entry *stub_issue2165_issue_ce; zend_class_entry *stub_issues_ce; zend_class_entry *stub_json_ce; zend_class_entry *stub_logical_ce; @@ -123,6 +136,8 @@ zend_class_entry *stub_mcalldynamic_ce; zend_class_entry *stub_mcallinternal_ce; zend_class_entry *stub_methodabstract_ce; zend_class_entry *stub_methodargs_ce; +zend_class_entry *stub_namespaces_a_b_sub_ce; +zend_class_entry *stub_namespaces_classentry_ce; zend_class_entry *stub_nativearray_ce; zend_class_entry *stub_oo_abstractclass_ce; zend_class_entry *stub_oo_ce; @@ -188,6 +203,7 @@ zend_class_entry *stub_properties_staticpublicproperties_ce; zend_class_entry *stub_quantum_ce; zend_class_entry *stub_range_ce; zend_class_entry *stub_references_ce; +zend_class_entry *stub_reflection_ce; zend_class_entry *stub_regexdna_ce; zend_class_entry *stub_requires_ce; zend_class_entry *stub_requires_external3_ce; @@ -199,6 +215,7 @@ zend_class_entry *stub_router_route_ce; zend_class_entry *stub_scall_ce; zend_class_entry *stub_scalldynamic_ce; zend_class_entry *stub_scallexternal_ce; +zend_class_entry *stub_scalllateconstruct_ce; zend_class_entry *stub_scope_ce; zend_class_entry *stub_sort_ce; zend_class_entry *stub_spectralnorm_ce; @@ -234,6 +251,10 @@ static PHP_MINIT_FUNCTION(stub) REGISTER_INI_ENTRIES(); zephir_module_init(); ZEPHIR_INIT(Stub_TestInterface); + ZEPHIR_INIT(Stub_Issue2165_IssueExtendInterface); + ZEPHIR_INIT(Stub_Interfaces_InterfaceInt); + ZEPHIR_INIT(Stub_Interfaces_InterfaceIntSignature); + ZEPHIR_INIT(Stub_Issue2165_IssueInterface); ZEPHIR_INIT(Stub_MethodInterface); ZEPHIR_INIT(Stub_OoImpl_ZBeginning); ZEPHIR_INIT(Stub_Oo_Scopes_ScopeTesterInterface); @@ -241,11 +262,14 @@ static PHP_MINIT_FUNCTION(stub) ZEPHIR_INIT(Stub_ExtendedInterface); ZEPHIR_INIT(Stub_Integration_Psr_Http_Message_MessageInterfaceEx); ZEPHIR_INIT(Stub_OoImpl_ABeginning); + ZEPHIR_INIT(Stub_Invokes_AbstractProtected); ZEPHIR_INIT(Stub_Oo_Extend_Exception); ZEPHIR_INIT(Stub_Oo_Extend_Db_Exception); ZEPHIR_INIT(Stub_ScallParent); ZEPHIR_INIT(Stub_ConstantsParent); ZEPHIR_INIT(Stub_Globals_Session_Base); + ZEPHIR_INIT(Stub_Invokes_AbstractInvoker); + ZEPHIR_INIT(Stub_Invokes_AbstractInvokerComplex); ZEPHIR_INIT(Stub_Oo_AbstractStatic); ZEPHIR_INIT(Stub_Oo_Extend_Db_Query_Exception); ZEPHIR_INIT(Stub_Oo_OoDynamicA); @@ -295,6 +319,7 @@ static PHP_MINIT_FUNCTION(stub) ZEPHIR_INIT(Stub_FortyTwo); ZEPHIR_INIT(Stub_FunctionExists); ZEPHIR_INIT(Stub_Functional); + ZEPHIR_INIT(Stub_Functions); ZEPHIR_INIT(Stub_Geometry); ZEPHIR_INIT(Stub_Globals); ZEPHIR_INIT(Stub_Globals_Env); @@ -304,12 +329,17 @@ static PHP_MINIT_FUNCTION(stub) ZEPHIR_INIT(Stub_Globals_Session_Child); ZEPHIR_INIT(Stub_Instance); ZEPHIR_INIT(Stub_Instanceoff); + ZEPHIR_INIT(Stub_Interfaces_ImplementInt); + ZEPHIR_INIT(Stub_Interfaces_ImplementInterface); ZEPHIR_INIT(Stub_InternalClasses); ZEPHIR_INIT(Stub_InternalInterfaces); ZEPHIR_INIT(Stub_Invoke); + ZEPHIR_INIT(Stub_Invokes_InvokeProtected); + ZEPHIR_INIT(Stub_Invokes_InvokeProtectedComplex); ZEPHIR_INIT(Stub_IssetTest); ZEPHIR_INIT(Stub_Issue1404); ZEPHIR_INIT(Stub_Issue1521); + ZEPHIR_INIT(Stub_Issue2165_Issue); ZEPHIR_INIT(Stub_Issues); ZEPHIR_INIT(Stub_Json); ZEPHIR_INIT(Stub_Logical); @@ -320,6 +350,8 @@ static PHP_MINIT_FUNCTION(stub) ZEPHIR_INIT(Stub_Mcall_Caller); ZEPHIR_INIT(Stub_MethodAbstract); ZEPHIR_INIT(Stub_MethodArgs); + ZEPHIR_INIT(Stub_Namespaces_A_B_Sub); + ZEPHIR_INIT(Stub_Namespaces_ClassEntry); ZEPHIR_INIT(Stub_NativeArray); ZEPHIR_INIT(Stub_Oo); ZEPHIR_INIT(Stub_Oo_AbstractClass); @@ -385,6 +417,7 @@ static PHP_MINIT_FUNCTION(stub) ZEPHIR_INIT(Stub_Quantum); ZEPHIR_INIT(Stub_Range); ZEPHIR_INIT(Stub_References); + ZEPHIR_INIT(Stub_Reflection); ZEPHIR_INIT(Stub_RegexDNA); ZEPHIR_INIT(Stub_Requires); ZEPHIR_INIT(Stub_Requires_External3); @@ -397,6 +430,7 @@ static PHP_MINIT_FUNCTION(stub) ZEPHIR_INIT(Stub_Scall); ZEPHIR_INIT(Stub_ScallDynamic); ZEPHIR_INIT(Stub_ScallExternal); + ZEPHIR_INIT(Stub_ScallLateConstruct); ZEPHIR_INIT(Stub_Scope); ZEPHIR_INIT(Stub_Sort); ZEPHIR_INIT(Stub_SpectralNorm); @@ -433,7 +467,7 @@ static PHP_MINIT_FUNCTION(stub) static PHP_MSHUTDOWN_FUNCTION(stub) { - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); UNREGISTER_INI_ENTRIES(); return SUCCESS; } @@ -442,7 +476,7 @@ static PHP_MSHUTDOWN_FUNCTION(stub) /** * Initialize globals on each request or each thread started */ -static void php_zephir_init_globals(zend_stub_globals *stub_globals TSRMLS_DC) +static void php_zephir_init_globals(zend_stub_globals *stub_globals) { stub_globals->initialized = 0; @@ -473,7 +507,7 @@ static void php_zephir_init_globals(zend_stub_globals *stub_globals TSRMLS_DC) /** * Initialize globals only on each thread started */ -static void php_zephir_init_module_globals(zend_stub_globals *stub_globals TSRMLS_DC) +static void php_zephir_init_module_globals(zend_stub_globals *stub_globals) { } @@ -486,8 +520,8 @@ static PHP_RINIT_FUNCTION(stub) php_zephir_init_globals(stub_globals_ptr); zephir_initialize_memory(stub_globals_ptr); - zephir_init_static_properties_Stub_Properties_StaticPropertyArray(TSRMLS_C); - zephir_init_static_properties_Stub_SPropertyAccess(TSRMLS_C); + zephir_init_static_properties_Stub_Properties_StaticPropertyArray(); + zephir_init_static_properties_Stub_SPropertyAccess(); return SUCCESS; } @@ -495,7 +529,7 @@ static PHP_RINIT_FUNCTION(stub) static PHP_RSHUTDOWN_FUNCTION(stub) { - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); return SUCCESS; } @@ -559,11 +593,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_f_stub_zephir_namespaced_method_test, 0, 0, 1) ZEND_END_ARG_INFO() PHP_FUNCTION(f_Stub_test_call_relative_object_hint); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_stub_test_call_relative_object_hint, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_stub_test_call_relative_object_hint, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_OBJ_INFO(0, a, Stub\\Oo\\PropertyAccess, 0) ZEND_END_ARG_INFO() @@ -573,11 +603,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_f_stub_zephir_namespaced_method_with_type_casting ZEND_END_ARG_INFO() PHP_FUNCTION(f_Stub_test_call_object_hint); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_stub_test_call_object_hint, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_stub_test_call_object_hint, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_OBJ_INFO(0, a, Stub\\Oo\\PropertyAccess, 0) ZEND_END_ARG_INFO() diff --git a/ext/stub.h b/ext/stub.h index 0d90c3fcc9..2488f7459e 100644 --- a/ext/stub.h +++ b/ext/stub.h @@ -4,12 +4,19 @@ #ifndef ZEPHIR_CLASS_ENTRIES_H #define ZEPHIR_CLASS_ENTRIES_H +#include "stub/invokes/abstractprotected.zep.h" #include "stub/testinterface.zep.h" #include "stub/oo/extend/exception.zep.h" +#include "stub/issue2165/issueextendinterface.zep.h" #include "stub/oo/extend/db/exception.zep.h" #include "stub/scallparent.zep.h" #include "stub/constantsparent.zep.h" #include "stub/globals/session/base.zep.h" +#include "stub/interfaces/interfaceint.zep.h" +#include "stub/interfaces/interfaceintsignature.zep.h" +#include "stub/invokes/abstractinvoker.zep.h" +#include "stub/invokes/abstractinvokercomplex.zep.h" +#include "stub/issue2165/issueinterface.zep.h" #include "stub/methodinterface.zep.h" #include "stub/oo/abstractstatic.zep.h" #include "stub/oo/extend/db/query/exception.zep.h" @@ -64,6 +71,7 @@ #include "stub/fortytwo.zep.h" #include "stub/functional.zep.h" #include "stub/functionexists.zep.h" +#include "stub/functions.zep.h" #include "stub/geometry.zep.h" #include "stub/globals.zep.h" #include "stub/globals/env.zep.h" @@ -74,12 +82,17 @@ #include "stub/instance.zep.h" #include "stub/instanceoff.zep.h" #include "stub/integration/psr/http/message/messageinterfaceex.zep.h" +#include "stub/interfaces/implementint.zep.h" +#include "stub/interfaces/implementinterface.zep.h" #include "stub/internalclasses.zep.h" #include "stub/internalinterfaces.zep.h" #include "stub/invoke.zep.h" +#include "stub/invokes/invokeprotected.zep.h" +#include "stub/invokes/invokeprotectedcomplex.zep.h" #include "stub/issettest.zep.h" #include "stub/issue1404.zep.h" #include "stub/issue1521.zep.h" +#include "stub/issue2165/issue.zep.h" #include "stub/issues.zep.h" #include "stub/json.zep.h" #include "stub/logical.zep.h" @@ -90,6 +103,8 @@ #include "stub/mcallinternal.zep.h" #include "stub/methodabstract.zep.h" #include "stub/methodargs.zep.h" +#include "stub/namespaces/a/b/sub.zep.h" +#include "stub/namespaces/classentry.zep.h" #include "stub/nativearray.zep.h" #include "stub/oo.zep.h" #include "stub/oo/abstractclass.zep.h" @@ -156,6 +171,7 @@ #include "stub/quantum.zep.h" #include "stub/range.zep.h" #include "stub/references.zep.h" +#include "stub/reflection.zep.h" #include "stub/regexdna.zep.h" #include "stub/requires.zep.h" #include "stub/requires/external3.zep.h" @@ -167,6 +183,7 @@ #include "stub/scall.zep.h" #include "stub/scalldynamic.zep.h" #include "stub/scallexternal.zep.h" +#include "stub/scalllateconstruct.zep.h" #include "stub/scope.zep.h" #include "stub/sort.zep.h" #include "stub/spectralnorm.zep.h" diff --git a/ext/stub/0__closure.zep.c b/ext/stub/0__closure.zep.c index 3bbf191598..5197d912d0 100644 --- a/ext/stub/0__closure.zep.c +++ b/ext/stub/0__closure.zep.c @@ -31,6 +31,14 @@ PHP_METHOD(stub_0__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(&x_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(x) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &x); diff --git a/ext/stub/10__closure.zep.c b/ext/stub/10__closure.zep.c index 40ce8236fc..604cc0a6e3 100644 --- a/ext/stub/10__closure.zep.c +++ b/ext/stub/10__closure.zep.c @@ -31,6 +31,14 @@ PHP_METHOD(stub_10__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(&x_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(x) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &x); diff --git a/ext/stub/11__closure.zep.c b/ext/stub/11__closure.zep.c index e0db934a1e..10424d773b 100644 --- a/ext/stub/11__closure.zep.c +++ b/ext/stub/11__closure.zep.c @@ -28,6 +28,7 @@ PHP_METHOD(stub_11__closure, __invoke) { zval *this_ptr = getThis(); + RETURN_LONG(5); } diff --git a/ext/stub/11__closure.zep.h b/ext/stub/11__closure.zep.h index 22940ab91c..929e281622 100644 --- a/ext/stub/11__closure.zep.h +++ b/ext/stub/11__closure.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(stub_11__closure); PHP_METHOD(stub_11__closure, __invoke); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_11__closure___invoke, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_11__closure_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(stub_11__closure, __invoke, arginfo_stub_11__closure___invoke, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#else PHP_ME(stub_11__closure, __invoke, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#endif PHP_FE_END }; diff --git a/ext/stub/12__closure.zep.c b/ext/stub/12__closure.zep.c index c2ad47f511..09758b4c19 100644 --- a/ext/stub/12__closure.zep.c +++ b/ext/stub/12__closure.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(stub_12__closure, __invoke) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_CE_STATIC(stub_mcall_caller_ce, "perform", &_0, 0); diff --git a/ext/stub/12__closure.zep.h b/ext/stub/12__closure.zep.h index f2fddab1ba..e55860734b 100644 --- a/ext/stub/12__closure.zep.h +++ b/ext/stub/12__closure.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(stub_12__closure); PHP_METHOD(stub_12__closure, __invoke); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_12__closure___invoke, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_12__closure_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(stub_12__closure, __invoke, arginfo_stub_12__closure___invoke, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#else PHP_ME(stub_12__closure, __invoke, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#endif PHP_FE_END }; diff --git a/ext/stub/1__closure.zep.c b/ext/stub/1__closure.zep.c index 36592bcf42..36492c3bab 100644 --- a/ext/stub/1__closure.zep.c +++ b/ext/stub/1__closure.zep.c @@ -29,5 +29,6 @@ PHP_METHOD(stub_1__closure, __invoke) { + } diff --git a/ext/stub/1__closure.zep.h b/ext/stub/1__closure.zep.h index ba8a3aecf2..b0da61413e 100644 --- a/ext/stub/1__closure.zep.h +++ b/ext/stub/1__closure.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(stub_1__closure); PHP_METHOD(stub_1__closure, __invoke); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_1__closure___invoke, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_1__closure_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(stub_1__closure, __invoke, arginfo_stub_1__closure___invoke, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#else PHP_ME(stub_1__closure, __invoke, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#endif PHP_FE_END }; diff --git a/ext/stub/2__closure.zep.c b/ext/stub/2__closure.zep.c index 8450da1fca..ceef747aaa 100644 --- a/ext/stub/2__closure.zep.c +++ b/ext/stub/2__closure.zep.c @@ -29,5 +29,6 @@ PHP_METHOD(stub_2__closure, __invoke) { + } diff --git a/ext/stub/2__closure.zep.h b/ext/stub/2__closure.zep.h index c660e098bd..13f7c95086 100644 --- a/ext/stub/2__closure.zep.h +++ b/ext/stub/2__closure.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(stub_2__closure); PHP_METHOD(stub_2__closure, __invoke); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_2__closure___invoke, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_2__closure_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(stub_2__closure, __invoke, arginfo_stub_2__closure___invoke, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#else PHP_ME(stub_2__closure, __invoke, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#endif PHP_FE_END }; diff --git a/ext/stub/3__closure.zep.c b/ext/stub/3__closure.zep.c index f3246442ad..181655a974 100644 --- a/ext/stub/3__closure.zep.c +++ b/ext/stub/3__closure.zep.c @@ -30,6 +30,14 @@ PHP_METHOD(stub_3__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m1_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param1) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m1); diff --git a/ext/stub/4__closure.zep.c b/ext/stub/4__closure.zep.c index 7e55452b1a..14884896ff 100644 --- a/ext/stub/4__closure.zep.c +++ b/ext/stub/4__closure.zep.c @@ -30,6 +30,14 @@ PHP_METHOD(stub_4__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m1_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param1) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m1); diff --git a/ext/stub/5__closure.zep.c b/ext/stub/5__closure.zep.c index a428f163f9..84e39e6909 100644 --- a/ext/stub/5__closure.zep.c +++ b/ext/stub/5__closure.zep.c @@ -30,6 +30,14 @@ PHP_METHOD(stub_5__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m1_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param1) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m1); diff --git a/ext/stub/6__closure.zep.c b/ext/stub/6__closure.zep.c index 5af01f4c20..ab61e3da6b 100644 --- a/ext/stub/6__closure.zep.c +++ b/ext/stub/6__closure.zep.c @@ -31,6 +31,14 @@ PHP_METHOD(stub_6__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(&x_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(x) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &x); diff --git a/ext/stub/7__closure.zep.c b/ext/stub/7__closure.zep.c index ef5233bcda..409b1084c1 100644 --- a/ext/stub/7__closure.zep.c +++ b/ext/stub/7__closure.zep.c @@ -31,6 +31,14 @@ PHP_METHOD(stub_7__closure, __invoke) { zval *this_ptr = getThis(); ZVAL_UNDEF(&x_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(x) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &x); diff --git a/ext/stub/8__closure.zep.c b/ext/stub/8__closure.zep.c index 7f9916c0d0..a86d33b262 100644 --- a/ext/stub/8__closure.zep.c +++ b/ext/stub/8__closure.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(stub_8__closure, __invoke) { ZVAL_UNDEF(&abc); + zephir_read_static_property_ce(&abc, stub_8__closure_ce, SL("abc"), PH_NOISY_CC); RETURN_LONG((zephir_get_numberval(&abc) + 1)); diff --git a/ext/stub/8__closure.zep.h b/ext/stub/8__closure.zep.h index 774e7d8334..a6584a11da 100644 --- a/ext/stub/8__closure.zep.h +++ b/ext/stub/8__closure.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(stub_8__closure); PHP_METHOD(stub_8__closure, __invoke); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_8__closure___invoke, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_8__closure_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(stub_8__closure, __invoke, arginfo_stub_8__closure___invoke, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#else PHP_ME(stub_8__closure, __invoke, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#endif PHP_FE_END }; diff --git a/ext/stub/9__closure.zep.c b/ext/stub/9__closure.zep.c index a9e3784331..83502b0b0c 100644 --- a/ext/stub/9__closure.zep.c +++ b/ext/stub/9__closure.zep.c @@ -34,6 +34,7 @@ PHP_METHOD(stub_9__closure, __invoke) { ZVAL_UNDEF(&abc); ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&abc, stub_9__closure_ce, SL("abc"), PH_NOISY_CC); zephir_array_fetch_string(&_0, &abc, SL("a"), PH_NOISY | PH_READONLY, "stub/closures.zep", 63); diff --git a/ext/stub/9__closure.zep.h b/ext/stub/9__closure.zep.h index 2ef8381aaf..32f88976fc 100644 --- a/ext/stub/9__closure.zep.h +++ b/ext/stub/9__closure.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(stub_9__closure); PHP_METHOD(stub_9__closure, __invoke); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_9__closure___invoke, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_9__closure_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(stub_9__closure, __invoke, arginfo_stub_9__closure___invoke, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#else PHP_ME(stub_9__closure, __invoke, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) +#endif PHP_FE_END }; diff --git a/ext/stub/arithmetic.zep.c b/ext/stub/arithmetic.zep.c index 98e7a4156f..00bd591c92 100644 --- a/ext/stub/arithmetic.zep.c +++ b/ext/stub/arithmetic.zep.c @@ -38,6 +38,7 @@ PHP_METHOD(Stub_Arithmetic, intSum) { + a = 1; b = 2; c = (a + b); @@ -52,6 +53,7 @@ PHP_METHOD(Stub_Arithmetic, int2Sum) { + a = 1; c = (a + 2); RETURN_LONG(c); @@ -65,6 +67,7 @@ PHP_METHOD(Stub_Arithmetic, intSumSimple) { + c = 3; RETURN_LONG(c); @@ -77,6 +80,7 @@ PHP_METHOD(Stub_Arithmetic, boolSum) { + a = ((1) ? 1 : 0); b = ((2) ? 1 : 0); c = (a | b); @@ -91,6 +95,7 @@ PHP_METHOD(Stub_Arithmetic, bool2Sum) { + a = ((1) ? 1 : 0); c = (a + 2); RETURN_BOOL(c); @@ -104,6 +109,7 @@ PHP_METHOD(Stub_Arithmetic, bool3Sum) { + a = 1; c = (a | 0); RETURN_BOOL(c); @@ -117,6 +123,7 @@ PHP_METHOD(Stub_Arithmetic, boolSumSimple) { + c = ((3) ? 1 : 0); RETURN_BOOL(c); @@ -133,6 +140,7 @@ PHP_METHOD(Stub_Arithmetic, boolSumExpression) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); a = 1; @@ -150,6 +158,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSum) { + a = (double) (1); b = (double) (2); c = (a + b); @@ -164,6 +173,7 @@ PHP_METHOD(Stub_Arithmetic, double2Sum) { + a = 1.0; b = 2.0; c = (a + b); @@ -178,6 +188,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSumSimple) { + c = (double) (3); RETURN_DOUBLE(c); @@ -190,6 +201,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSum2Simple) { + c = 3; RETURN_DOUBLE(c); @@ -205,6 +217,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSumExpression) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); @@ -225,6 +238,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSumVarExpression) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); a = 1.0; @@ -242,6 +256,7 @@ PHP_METHOD(Stub_Arithmetic, varSum) { + a = 1; b = 2; c = (a + b); @@ -256,6 +271,7 @@ PHP_METHOD(Stub_Arithmetic, varSumSimple) { + c = 3; RETURN_LONG(c); @@ -269,6 +285,7 @@ PHP_METHOD(Stub_Arithmetic, intDoubleSum) { + a = (double) (1); b = 2; c = (long) ((a + (double) b)); @@ -283,6 +300,7 @@ PHP_METHOD(Stub_Arithmetic, intDoubleSumSimple) { + c = (long) (3); RETURN_LONG(c); @@ -296,6 +314,7 @@ PHP_METHOD(Stub_Arithmetic, doubleIntSum) { + a = (double) (1); b = 2; c = (a + (double) b); @@ -310,6 +329,7 @@ PHP_METHOD(Stub_Arithmetic, doubleIntSumSimple) { + c = 3; RETURN_DOUBLE(c); @@ -322,6 +342,7 @@ PHP_METHOD(Stub_Arithmetic, varIntSum) { + a = 1; b = 2; c = (a + b); @@ -336,6 +357,7 @@ PHP_METHOD(Stub_Arithmetic, intVarSum) { + a = 1; b = 2; c = (b + a); @@ -354,6 +376,7 @@ PHP_METHOD(Stub_Arithmetic, intVarImplicitCastSum) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -376,6 +399,7 @@ PHP_METHOD(Stub_Arithmetic, intVarImplicitCast2Sum) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -393,6 +417,7 @@ PHP_METHOD(Stub_Arithmetic, complexSum) { + c = 3; RETURN_DOUBLE(c); @@ -405,6 +430,7 @@ PHP_METHOD(Stub_Arithmetic, complex2Sum) { + c = (1 | 1); RETURN_BOOL(c); @@ -417,6 +443,7 @@ PHP_METHOD(Stub_Arithmetic, complex3Sum) { + c = (((1 + 1.0)) ? 1 : 0); RETURN_BOOL(c); @@ -430,6 +457,7 @@ PHP_METHOD(Stub_Arithmetic, complex4Sum) { ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -445,6 +473,7 @@ PHP_METHOD(Stub_Arithmetic, complex5Sum) { + c = (1 + 1); RETURN_LONG(c); @@ -457,6 +486,7 @@ PHP_METHOD(Stub_Arithmetic, complex6Sum) { + c = (((1 + 1)) ? 1 : 0); RETURN_BOOL(c); @@ -470,6 +500,7 @@ PHP_METHOD(Stub_Arithmetic, complex7Sum) { + a = ((1) ? 1 : 0); b = 2; c = (a + b); @@ -485,6 +516,7 @@ PHP_METHOD(Stub_Arithmetic, complex9Sum) { + a = ((1) ? 1 : 0); b = 2; c = (b + a); @@ -501,6 +533,7 @@ PHP_METHOD(Stub_Arithmetic, complex10Sum) { + a = ((1.0 != 0.0) ? 1 : 0); b = 2; c = (double) ((b + a)); @@ -517,6 +550,7 @@ PHP_METHOD(Stub_Arithmetic, complex11Sum) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (double) ((b + a)); @@ -532,6 +566,7 @@ PHP_METHOD(Stub_Arithmetic, complex12Sum) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (b + a); @@ -547,6 +582,7 @@ PHP_METHOD(Stub_Arithmetic, complex13Sum) { + a = ((1) ? 1 : 0); b = ((2.0 != 0.0) ? 1 : 0); c = (b | a); @@ -562,6 +598,7 @@ PHP_METHOD(Stub_Arithmetic, complex14Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (b + a); @@ -578,6 +615,7 @@ PHP_METHOD(Stub_Arithmetic, complex15Sum) { + a = 1; b = 2.0; c = (((b + (double) a) != 0.0) ? 1 : 0); @@ -593,6 +631,7 @@ PHP_METHOD(Stub_Arithmetic, complex16Sum) { + a = 1; b = 2.0; c = (b + (double) a); @@ -609,6 +648,7 @@ PHP_METHOD(Stub_Arithmetic, complex17Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (double) ((a + b)); @@ -625,6 +665,7 @@ PHP_METHOD(Stub_Arithmetic, complex18Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a + b)); @@ -642,6 +683,7 @@ PHP_METHOD(Stub_Arithmetic, complex19Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a + b)); @@ -659,6 +701,7 @@ PHP_METHOD(Stub_Arithmetic, complex20Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a + b)); @@ -676,6 +719,7 @@ PHP_METHOD(Stub_Arithmetic, complex21Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a + b)); @@ -692,6 +736,7 @@ PHP_METHOD(Stub_Arithmetic, complex22Sum) { + a = 1; b = (long) (2.0); d = (double) ((a + b)); @@ -709,6 +754,7 @@ PHP_METHOD(Stub_Arithmetic, complex23Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a + b)); @@ -725,6 +771,7 @@ PHP_METHOD(Stub_Arithmetic, complex24Sum) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((((1 + a) + 0) + b)); @@ -739,6 +786,7 @@ PHP_METHOD(Stub_Arithmetic, addSum1) { + a = 0; a += 10; RETURN_LONG(a); @@ -752,6 +800,7 @@ PHP_METHOD(Stub_Arithmetic, addSum2) { + a = 0; a += 0; RETURN_LONG(a); @@ -765,6 +814,7 @@ PHP_METHOD(Stub_Arithmetic, addSum2b) { + a = 5; a += 0; RETURN_LONG(a); @@ -778,6 +828,7 @@ PHP_METHOD(Stub_Arithmetic, addSum3) { + a = 0; a += 1; RETURN_LONG(a); @@ -791,6 +842,7 @@ PHP_METHOD(Stub_Arithmetic, addSum4) { + a = 0; a += 0; RETURN_LONG(a); @@ -804,6 +856,7 @@ PHP_METHOD(Stub_Arithmetic, addSum5) { + a = 0; a += (long) (1.0); RETURN_LONG(a); @@ -817,6 +870,7 @@ PHP_METHOD(Stub_Arithmetic, addSum6) { + a = 0; a += (long) (1.0); RETURN_LONG(a); @@ -830,6 +884,7 @@ PHP_METHOD(Stub_Arithmetic, addSum7) { + a = 0.0; a += (double) (10); RETURN_DOUBLE(a); @@ -843,6 +898,7 @@ PHP_METHOD(Stub_Arithmetic, addSum8) { + a = 0.0; a += 0.0; RETURN_DOUBLE(a); @@ -856,6 +912,7 @@ PHP_METHOD(Stub_Arithmetic, addSum8b) { + a = 6.3; a += 0.0; RETURN_DOUBLE(a); @@ -869,6 +926,7 @@ PHP_METHOD(Stub_Arithmetic, addSum9) { + a = 0.0; a += 1; RETURN_DOUBLE(a); @@ -882,6 +940,7 @@ PHP_METHOD(Stub_Arithmetic, addSum10) { + a = 0.0; a += 0; RETURN_DOUBLE(a); @@ -895,6 +954,7 @@ PHP_METHOD(Stub_Arithmetic, addSum11) { + a = 0.0; a += 1.0; RETURN_DOUBLE(a); @@ -908,6 +968,7 @@ PHP_METHOD(Stub_Arithmetic, addSum12) { + a = 0; b = 10; a += b; @@ -923,6 +984,7 @@ PHP_METHOD(Stub_Arithmetic, addSum13) { + a = 0; b = 1; a += b; @@ -938,6 +1000,7 @@ PHP_METHOD(Stub_Arithmetic, addSum14) { + a = 0; b = 0; a += b; @@ -953,6 +1016,7 @@ PHP_METHOD(Stub_Arithmetic, addSum15) { + a = 0; b = 1.0; a += (long) b; @@ -967,6 +1031,7 @@ PHP_METHOD(Stub_Arithmetic, addSum16) { + a = 0.0; b = 10.0; a += b; @@ -982,6 +1047,7 @@ PHP_METHOD(Stub_Arithmetic, addSum17) { + a = 0.0; b = 1; a += (double) b; @@ -997,6 +1063,7 @@ PHP_METHOD(Stub_Arithmetic, addSum18) { + a = 0.0; b = 0; a += (double) b; @@ -1012,6 +1079,7 @@ PHP_METHOD(Stub_Arithmetic, addSum19) { + a = 0.0; b = 1; a += (double) b; @@ -1026,6 +1094,7 @@ PHP_METHOD(Stub_Arithmetic, addSum20) { + a = (long) (0.0); b = 1; a += b; @@ -1041,6 +1110,7 @@ PHP_METHOD(Stub_Arithmetic, addSum21) { + a = 0.0; b = 1; a += (double) b; @@ -1057,6 +1127,7 @@ PHP_METHOD(Stub_Arithmetic, addSum22) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1076,6 +1147,7 @@ PHP_METHOD(Stub_Arithmetic, addSum23) { + a = 1; a += 1024; RETURN_LONG(a); @@ -1090,6 +1162,14 @@ PHP_METHOD(Stub_Arithmetic, addSum24) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); @@ -1112,6 +1192,7 @@ PHP_METHOD(Stub_Arithmetic, intSub) { + a = 1; b = 2; c = (a - b); @@ -1126,6 +1207,7 @@ PHP_METHOD(Stub_Arithmetic, intLetSub) { + c = 1; b = 2; c -= b; @@ -1140,6 +1222,7 @@ PHP_METHOD(Stub_Arithmetic, intSub2) { + a = 1; c = (a - 2); RETURN_LONG(c); @@ -1153,6 +1236,7 @@ PHP_METHOD(Stub_Arithmetic, intSubSimple) { + c = -1; RETURN_LONG(c); @@ -1165,6 +1249,7 @@ PHP_METHOD(Stub_Arithmetic, boolSub) { + a = ((1) ? 1 : 0); b = ((2) ? 1 : 0); c = (a & b); @@ -1179,6 +1264,7 @@ PHP_METHOD(Stub_Arithmetic, bool2Sub) { + a = ((1) ? 1 : 0); c = (a - 2); RETURN_BOOL(c); @@ -1192,6 +1278,7 @@ PHP_METHOD(Stub_Arithmetic, bool3Sub) { + a = 1; c = (a & 0); RETURN_BOOL(c); @@ -1205,6 +1292,7 @@ PHP_METHOD(Stub_Arithmetic, bool4Sub) { + a = 1; c = (a & 1); RETURN_BOOL(c); @@ -1218,6 +1306,7 @@ PHP_METHOD(Stub_Arithmetic, boolSubSimple) { + c = ((-1) ? 1 : 0); RETURN_BOOL(c); @@ -1230,6 +1319,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSub) { + a = (double) (1); b = (double) (2); c = (a - b); @@ -1244,6 +1334,7 @@ PHP_METHOD(Stub_Arithmetic, double2Sub) { + a = 1.0; b = 2.0; c = (a - b); @@ -1258,6 +1349,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSubSimple) { + c = (double) (-1); RETURN_DOUBLE(c); @@ -1270,6 +1362,7 @@ PHP_METHOD(Stub_Arithmetic, doubleSub2Simple) { + c = -1; RETURN_DOUBLE(c); @@ -1282,6 +1375,7 @@ PHP_METHOD(Stub_Arithmetic, varSub) { + a = 1; b = 2; c = (a - b); @@ -1296,6 +1390,7 @@ PHP_METHOD(Stub_Arithmetic, varSubSimple) { + c = -1; RETURN_LONG(c); @@ -1309,6 +1404,7 @@ PHP_METHOD(Stub_Arithmetic, intDoubleSub) { + a = (double) (1); b = 2; c = (long) ((a - (double) b)); @@ -1323,6 +1419,7 @@ PHP_METHOD(Stub_Arithmetic, intDoubleSubSimple) { + c = (long) (-1); RETURN_LONG(c); @@ -1336,6 +1433,7 @@ PHP_METHOD(Stub_Arithmetic, doubleIntSub) { + a = (double) (1); b = 2; c = (a - (double) b); @@ -1350,6 +1448,7 @@ PHP_METHOD(Stub_Arithmetic, doubleIntSubSimple) { + c = -1; RETURN_DOUBLE(c); @@ -1362,6 +1461,7 @@ PHP_METHOD(Stub_Arithmetic, varIntSub) { + a = 1; b = 2; c = (a - b); @@ -1376,6 +1476,7 @@ PHP_METHOD(Stub_Arithmetic, intVarSub) { + a = 1; b = 2; c = (b - a); @@ -1394,6 +1495,7 @@ PHP_METHOD(Stub_Arithmetic, intVarImplicitCastSub) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1416,6 +1518,7 @@ PHP_METHOD(Stub_Arithmetic, intVarImplicitCast2Sub) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1433,6 +1536,7 @@ PHP_METHOD(Stub_Arithmetic, complexSub) { + c = 1; RETURN_DOUBLE(c); @@ -1445,6 +1549,7 @@ PHP_METHOD(Stub_Arithmetic, complex2Sub) { + c = (1 & 1); RETURN_BOOL(c); @@ -1457,6 +1562,7 @@ PHP_METHOD(Stub_Arithmetic, complex3Sub) { + c = (((1 + 1.0)) ? 1 : 0); RETURN_BOOL(c); @@ -1470,6 +1576,7 @@ PHP_METHOD(Stub_Arithmetic, complex4Sub) { ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -1485,6 +1592,7 @@ PHP_METHOD(Stub_Arithmetic, complex5Sub) { + c = (1 - 1); RETURN_LONG(c); @@ -1497,6 +1605,7 @@ PHP_METHOD(Stub_Arithmetic, complex6Sub) { + c = (((1 + 1)) ? 1 : 0); RETURN_BOOL(c); @@ -1510,6 +1619,7 @@ PHP_METHOD(Stub_Arithmetic, complex7Sub) { + a = ((1) ? 1 : 0); b = 2; c = (a - b); @@ -1525,6 +1635,7 @@ PHP_METHOD(Stub_Arithmetic, complex9Sub) { + a = ((1) ? 1 : 0); b = 2; c = (b - a); @@ -1541,6 +1652,7 @@ PHP_METHOD(Stub_Arithmetic, complex10Sub) { + a = ((1.0 != 0.0) ? 1 : 0); b = 2; c = (double) ((b - a)); @@ -1557,6 +1669,7 @@ PHP_METHOD(Stub_Arithmetic, complex11Sub) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (double) ((b - a)); @@ -1572,6 +1685,7 @@ PHP_METHOD(Stub_Arithmetic, complex12Sub) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (b - a); @@ -1587,6 +1701,7 @@ PHP_METHOD(Stub_Arithmetic, complex13Sub) { + a = ((1) ? 1 : 0); b = ((2.0 != 0.0) ? 1 : 0); c = (b & a); @@ -1602,6 +1717,7 @@ PHP_METHOD(Stub_Arithmetic, complex14Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (b - a); @@ -1618,6 +1734,7 @@ PHP_METHOD(Stub_Arithmetic, complex15Sub) { + a = 1; b = 2.0; c = (((b - (double) a) != 0.0) ? 1 : 0); @@ -1633,6 +1750,7 @@ PHP_METHOD(Stub_Arithmetic, complex16Sub) { + a = 1; b = 2.0; c = (b - (double) a); @@ -1649,6 +1767,7 @@ PHP_METHOD(Stub_Arithmetic, complex17Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (double) ((a - b)); @@ -1665,6 +1784,7 @@ PHP_METHOD(Stub_Arithmetic, complex18Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a - b)); @@ -1682,6 +1802,7 @@ PHP_METHOD(Stub_Arithmetic, complex19Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a - b)); @@ -1699,6 +1820,7 @@ PHP_METHOD(Stub_Arithmetic, complex20Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a - b)); @@ -1716,6 +1838,7 @@ PHP_METHOD(Stub_Arithmetic, complex21Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a - b)); @@ -1732,6 +1855,7 @@ PHP_METHOD(Stub_Arithmetic, complex22Sub) { + a = 1; b = (long) (2.0); d = (double) ((a - b)); @@ -1749,6 +1873,7 @@ PHP_METHOD(Stub_Arithmetic, complex23Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a - b)); @@ -1765,6 +1890,7 @@ PHP_METHOD(Stub_Arithmetic, complex24Sub) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((((1 - a) - 0) - b)); @@ -1779,6 +1905,7 @@ PHP_METHOD(Stub_Arithmetic, sub1) { + a = 0; a -= 10; RETURN_LONG(a); @@ -1792,6 +1919,7 @@ PHP_METHOD(Stub_Arithmetic, sub2) { + a = 0; a -= 0; RETURN_LONG(a); @@ -1805,6 +1933,7 @@ PHP_METHOD(Stub_Arithmetic, sub2b) { + a = 5; a -= 0; RETURN_LONG(a); @@ -1818,6 +1947,7 @@ PHP_METHOD(Stub_Arithmetic, sub3) { + a = 0; a -= 1; RETURN_LONG(a); @@ -1831,6 +1961,7 @@ PHP_METHOD(Stub_Arithmetic, sub4) { + a = 0; a -= 0; RETURN_LONG(a); @@ -1844,6 +1975,7 @@ PHP_METHOD(Stub_Arithmetic, sub5) { + a = 0; a -= (long) (1.0); RETURN_LONG(a); @@ -1857,6 +1989,7 @@ PHP_METHOD(Stub_Arithmetic, sub6) { + a = 0; a -= (long) (1.0); RETURN_LONG(a); @@ -1870,6 +2003,7 @@ PHP_METHOD(Stub_Arithmetic, sub7) { + a = 0.0; a -= (double) (10); RETURN_DOUBLE(a); @@ -1883,6 +2017,7 @@ PHP_METHOD(Stub_Arithmetic, sub8) { + a = 0.0; a -= 0.0; RETURN_DOUBLE(a); @@ -1896,6 +2031,7 @@ PHP_METHOD(Stub_Arithmetic, sub8b) { + a = 6.3; a -= 0.0; RETURN_DOUBLE(a); @@ -1909,6 +2045,7 @@ PHP_METHOD(Stub_Arithmetic, sub9) { + a = 0.0; a -= 1; RETURN_DOUBLE(a); @@ -1922,6 +2059,7 @@ PHP_METHOD(Stub_Arithmetic, sub10) { + a = 0.0; a -= 0; RETURN_DOUBLE(a); @@ -1935,6 +2073,7 @@ PHP_METHOD(Stub_Arithmetic, sub11) { + a = 0.0; a -= 1.0; RETURN_DOUBLE(a); @@ -1948,6 +2087,7 @@ PHP_METHOD(Stub_Arithmetic, sub12) { + a = 0; b = 10; a -= b; @@ -1963,6 +2103,7 @@ PHP_METHOD(Stub_Arithmetic, sub13) { + a = 0; b = 1; a -= b; @@ -1978,6 +2119,7 @@ PHP_METHOD(Stub_Arithmetic, sub14) { + a = 0; b = 0; a -= b; @@ -1993,6 +2135,7 @@ PHP_METHOD(Stub_Arithmetic, sub15) { + a = 0; b = 1.0; a -= (long) b; @@ -2007,6 +2150,7 @@ PHP_METHOD(Stub_Arithmetic, sub16) { + a = 0.0; b = 10.0; a -= b; @@ -2022,6 +2166,7 @@ PHP_METHOD(Stub_Arithmetic, sub17) { + a = 0.0; b = 1; a -= (double) b; @@ -2037,6 +2182,7 @@ PHP_METHOD(Stub_Arithmetic, sub18) { + a = 0.0; b = 0; a -= (double) b; @@ -2052,6 +2198,7 @@ PHP_METHOD(Stub_Arithmetic, sub19) { + a = 0.0; b = 1; a -= (double) b; @@ -2066,6 +2213,7 @@ PHP_METHOD(Stub_Arithmetic, sub20) { + a = (long) (0.0); b = 1; a -= b; @@ -2081,6 +2229,7 @@ PHP_METHOD(Stub_Arithmetic, sub21) { + a = 0.0; b = 1; a -= (double) b; @@ -2097,6 +2246,7 @@ PHP_METHOD(Stub_Arithmetic, sub22) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -2116,6 +2266,7 @@ PHP_METHOD(Stub_Arithmetic, sub23) { + a = 1; a -= 1024; RETURN_LONG(a); @@ -2130,6 +2281,14 @@ PHP_METHOD(Stub_Arithmetic, sub24) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); @@ -2152,6 +2311,7 @@ PHP_METHOD(Stub_Arithmetic, mul1) { + a = 1; a *= 5; RETURN_LONG(a); @@ -2166,6 +2326,14 @@ PHP_METHOD(Stub_Arithmetic, mul2) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); @@ -2188,6 +2356,7 @@ PHP_METHOD(Stub_Arithmetic, mul3) { + a = 1; a *= 1024; RETURN_LONG(a); @@ -2201,6 +2370,7 @@ PHP_METHOD(Stub_Arithmetic, less1) { + a = 1; b = 2; RETURN_BOOL(a < b); @@ -2214,6 +2384,7 @@ PHP_METHOD(Stub_Arithmetic, less2) { + a = 2; b = 1; RETURN_BOOL(a < b); @@ -2226,6 +2397,14 @@ PHP_METHOD(Stub_Arithmetic, less3) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -2241,6 +2420,14 @@ PHP_METHOD(Stub_Arithmetic, less4) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -2257,6 +2444,7 @@ PHP_METHOD(Stub_Arithmetic, greater1) { + a = 1; b = 2; RETURN_BOOL(a > b); @@ -2270,6 +2458,7 @@ PHP_METHOD(Stub_Arithmetic, greater2) { + a = 2; b = 1; RETURN_BOOL(a > b); @@ -2282,6 +2471,14 @@ PHP_METHOD(Stub_Arithmetic, greater3) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -2297,6 +2494,14 @@ PHP_METHOD(Stub_Arithmetic, greater4) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -2313,6 +2518,7 @@ PHP_METHOD(Stub_Arithmetic, letStatementIntMinus) { + a = -1; RETURN_LONG(a); @@ -2325,6 +2531,7 @@ PHP_METHOD(Stub_Arithmetic, declaredIntMinus) { + a = -1; RETURN_LONG(a); @@ -2340,6 +2547,14 @@ PHP_METHOD(Stub_Arithmetic, letStatementBoolMinus) { zval *this_ptr = getThis(); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &b); @@ -2359,6 +2574,14 @@ PHP_METHOD(Stub_Arithmetic, letStatementVarMinus) { ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &b); @@ -2378,6 +2601,7 @@ PHP_METHOD(Stub_Arithmetic, div1) { + a = 100; RETURN_DOUBLE(zephir_safe_div_long_long(((a - 1)), 4)); @@ -2391,6 +2615,7 @@ PHP_METHOD(Stub_Arithmetic, div2) { ZVAL_UNDEF(&_0); + zephir_read_property(&_0, this_ptr, ZEND_STRL("tmp1"), PH_NOISY_CC | PH_READONLY); RETURN_DOUBLE(zephir_safe_div_long_long(((zephir_get_numberval(&_0) - 1)), 4)); diff --git a/ext/stub/arithmetic.zep.h b/ext/stub/arithmetic.zep.h index 9d411c12de..728a60a683 100644 --- a/ext/stub/arithmetic.zep.h +++ b/ext/stub/arithmetic.zep.h @@ -166,18 +166,459 @@ PHP_METHOD(Stub_Arithmetic, letStatementVarMinus); PHP_METHOD(Stub_Arithmetic, div1); PHP_METHOD(Stub_Arithmetic, div2); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_int2sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intsumsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_boolsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_bool2sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_bool3sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_boolsumsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_boolsumexpression, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_double2sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesumsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesum2simple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesumexpression, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesumvarexpression, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_varsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_varsumsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intdoublesum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intdoublesumsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doubleintsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doubleintsumsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_varintsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intvarsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intvarimplicitcastsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intvarimplicitcast2sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complexsum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex2sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex3sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex4sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex5sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex6sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex7sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex9sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex10sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex11sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex12sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex13sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex14sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex15sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex16sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex17sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex18sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex19sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex20sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex21sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex22sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex23sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex24sum, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum2b, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum8b, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum11, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum12, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum14, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum15, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum16, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum17, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum18, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum19, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum20, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum21, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum22, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum23, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_addsum24, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intletsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intsub2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intsubsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_boolsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_bool2sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_bool3sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_bool4sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_boolsubsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_double2sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesubsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doublesub2simple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_varsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_varsubsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intdoublesub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intdoublesubsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doubleintsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_doubleintsubsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_varintsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intvarsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intvarimplicitcastsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_intvarimplicitcast2sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complexsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex2sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex3sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex4sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex5sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex6sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex7sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex9sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex10sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex11sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex12sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex13sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex14sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex15sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex16sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex17sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex18sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex19sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex20sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex21sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex22sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex23sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_complex24sub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub2b, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub8b, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub11, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub12, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub14, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub15, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub16, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub17, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub18, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub19, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub20, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub21, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub22, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub23, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_sub24, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_mul1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_mul2, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_mul3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_less1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_less2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_less3, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() @@ -186,6 +627,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_less4, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_greater1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_greater2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_greater3, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() @@ -194,6 +641,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_greater4, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_letstatementintminus, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_declaredintminus, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_letstatementboolminus, 0, 0, 1) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() @@ -202,168 +655,786 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_letstatementvarminus, 0, 0, 1) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_div1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arithmetic_div2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_arithmetic_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intSum, arginfo_stub_arithmetic_intsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, int2Sum, arginfo_stub_arithmetic_int2sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, int2Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intSumSimple, arginfo_stub_arithmetic_intsumsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intSumSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, boolSum, arginfo_stub_arithmetic_boolsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, boolSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, bool2Sum, arginfo_stub_arithmetic_bool2sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, bool2Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, bool3Sum, arginfo_stub_arithmetic_bool3sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, bool3Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, boolSumSimple, arginfo_stub_arithmetic_boolsumsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, boolSumSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, boolSumExpression, arginfo_stub_arithmetic_boolsumexpression, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, boolSumExpression, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSum, arginfo_stub_arithmetic_doublesum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, double2Sum, arginfo_stub_arithmetic_double2sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, double2Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSumSimple, arginfo_stub_arithmetic_doublesumsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSumSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSum2Simple, arginfo_stub_arithmetic_doublesum2simple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSum2Simple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSumExpression, arginfo_stub_arithmetic_doublesumexpression, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSumExpression, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSumVarExpression, arginfo_stub_arithmetic_doublesumvarexpression, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSumVarExpression, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, varSum, arginfo_stub_arithmetic_varsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, varSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, varSumSimple, arginfo_stub_arithmetic_varsumsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, varSumSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intDoubleSum, arginfo_stub_arithmetic_intdoublesum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intDoubleSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intDoubleSumSimple, arginfo_stub_arithmetic_intdoublesumsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intDoubleSumSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleIntSum, arginfo_stub_arithmetic_doubleintsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleIntSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleIntSumSimple, arginfo_stub_arithmetic_doubleintsumsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleIntSumSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, varIntSum, arginfo_stub_arithmetic_varintsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, varIntSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intVarSum, arginfo_stub_arithmetic_intvarsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intVarSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intVarImplicitCastSum, arginfo_stub_arithmetic_intvarimplicitcastsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intVarImplicitCastSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intVarImplicitCast2Sum, arginfo_stub_arithmetic_intvarimplicitcast2sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intVarImplicitCast2Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complexSum, arginfo_stub_arithmetic_complexsum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complexSum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex2Sum, arginfo_stub_arithmetic_complex2sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex2Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex3Sum, arginfo_stub_arithmetic_complex3sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex3Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex4Sum, arginfo_stub_arithmetic_complex4sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex4Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex5Sum, arginfo_stub_arithmetic_complex5sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex5Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex6Sum, arginfo_stub_arithmetic_complex6sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex6Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex7Sum, arginfo_stub_arithmetic_complex7sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex7Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex9Sum, arginfo_stub_arithmetic_complex9sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex9Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex10Sum, arginfo_stub_arithmetic_complex10sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex10Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex11Sum, arginfo_stub_arithmetic_complex11sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex11Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex12Sum, arginfo_stub_arithmetic_complex12sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex12Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex13Sum, arginfo_stub_arithmetic_complex13sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex13Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex14Sum, arginfo_stub_arithmetic_complex14sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex14Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex15Sum, arginfo_stub_arithmetic_complex15sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex15Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex16Sum, arginfo_stub_arithmetic_complex16sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex16Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex17Sum, arginfo_stub_arithmetic_complex17sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex17Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex18Sum, arginfo_stub_arithmetic_complex18sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex18Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex19Sum, arginfo_stub_arithmetic_complex19sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex19Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex20Sum, arginfo_stub_arithmetic_complex20sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex20Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex21Sum, arginfo_stub_arithmetic_complex21sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex21Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex22Sum, arginfo_stub_arithmetic_complex22sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex22Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex23Sum, arginfo_stub_arithmetic_complex23sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex23Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex24Sum, arginfo_stub_arithmetic_complex24sum, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex24Sum, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum1, arginfo_stub_arithmetic_addsum1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum2, arginfo_stub_arithmetic_addsum2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum2b, arginfo_stub_arithmetic_addsum2b, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum2b, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum3, arginfo_stub_arithmetic_addsum3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum4, arginfo_stub_arithmetic_addsum4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum5, arginfo_stub_arithmetic_addsum5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum6, arginfo_stub_arithmetic_addsum6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum7, arginfo_stub_arithmetic_addsum7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum8, arginfo_stub_arithmetic_addsum8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum8b, arginfo_stub_arithmetic_addsum8b, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum8b, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum9, arginfo_stub_arithmetic_addsum9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum10, arginfo_stub_arithmetic_addsum10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum11, arginfo_stub_arithmetic_addsum11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum11, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum12, arginfo_stub_arithmetic_addsum12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum12, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum13, arginfo_stub_arithmetic_addsum13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum14, arginfo_stub_arithmetic_addsum14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum14, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum15, arginfo_stub_arithmetic_addsum15, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum15, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum16, arginfo_stub_arithmetic_addsum16, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum16, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum17, arginfo_stub_arithmetic_addsum17, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum17, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum18, arginfo_stub_arithmetic_addsum18, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum18, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum19, arginfo_stub_arithmetic_addsum19, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum19, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum20, arginfo_stub_arithmetic_addsum20, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum20, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum21, arginfo_stub_arithmetic_addsum21, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum21, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum22, arginfo_stub_arithmetic_addsum22, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum22, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, addSum23, arginfo_stub_arithmetic_addsum23, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, addSum23, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Arithmetic, addSum24, arginfo_stub_arithmetic_addsum24, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intSub, arginfo_stub_arithmetic_intsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intLetSub, arginfo_stub_arithmetic_intletsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intLetSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intSub2, arginfo_stub_arithmetic_intsub2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intSub2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intSubSimple, arginfo_stub_arithmetic_intsubsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intSubSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, boolSub, arginfo_stub_arithmetic_boolsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, boolSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, bool2Sub, arginfo_stub_arithmetic_bool2sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, bool2Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, bool3Sub, arginfo_stub_arithmetic_bool3sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, bool3Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, bool4Sub, arginfo_stub_arithmetic_bool4sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, bool4Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, boolSubSimple, arginfo_stub_arithmetic_boolsubsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, boolSubSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSub, arginfo_stub_arithmetic_doublesub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, double2Sub, arginfo_stub_arithmetic_double2sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, double2Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSubSimple, arginfo_stub_arithmetic_doublesubsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSubSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleSub2Simple, arginfo_stub_arithmetic_doublesub2simple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleSub2Simple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, varSub, arginfo_stub_arithmetic_varsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, varSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, varSubSimple, arginfo_stub_arithmetic_varsubsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, varSubSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intDoubleSub, arginfo_stub_arithmetic_intdoublesub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intDoubleSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intDoubleSubSimple, arginfo_stub_arithmetic_intdoublesubsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intDoubleSubSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleIntSub, arginfo_stub_arithmetic_doubleintsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleIntSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, doubleIntSubSimple, arginfo_stub_arithmetic_doubleintsubsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, doubleIntSubSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, varIntSub, arginfo_stub_arithmetic_varintsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, varIntSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intVarSub, arginfo_stub_arithmetic_intvarsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intVarSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intVarImplicitCastSub, arginfo_stub_arithmetic_intvarimplicitcastsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intVarImplicitCastSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, intVarImplicitCast2Sub, arginfo_stub_arithmetic_intvarimplicitcast2sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, intVarImplicitCast2Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complexSub, arginfo_stub_arithmetic_complexsub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complexSub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex2Sub, arginfo_stub_arithmetic_complex2sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex2Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex3Sub, arginfo_stub_arithmetic_complex3sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex3Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex4Sub, arginfo_stub_arithmetic_complex4sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex4Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex5Sub, arginfo_stub_arithmetic_complex5sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex5Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex6Sub, arginfo_stub_arithmetic_complex6sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex6Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex7Sub, arginfo_stub_arithmetic_complex7sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex7Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex9Sub, arginfo_stub_arithmetic_complex9sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex9Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex10Sub, arginfo_stub_arithmetic_complex10sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex10Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex11Sub, arginfo_stub_arithmetic_complex11sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex11Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex12Sub, arginfo_stub_arithmetic_complex12sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex12Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex13Sub, arginfo_stub_arithmetic_complex13sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex13Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex14Sub, arginfo_stub_arithmetic_complex14sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex14Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex15Sub, arginfo_stub_arithmetic_complex15sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex15Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex16Sub, arginfo_stub_arithmetic_complex16sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex16Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex17Sub, arginfo_stub_arithmetic_complex17sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex17Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex18Sub, arginfo_stub_arithmetic_complex18sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex18Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex19Sub, arginfo_stub_arithmetic_complex19sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex19Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex20Sub, arginfo_stub_arithmetic_complex20sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex20Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex21Sub, arginfo_stub_arithmetic_complex21sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex21Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex22Sub, arginfo_stub_arithmetic_complex22sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex22Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex23Sub, arginfo_stub_arithmetic_complex23sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex23Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, complex24Sub, arginfo_stub_arithmetic_complex24sub, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, complex24Sub, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub1, arginfo_stub_arithmetic_sub1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub2, arginfo_stub_arithmetic_sub2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub2b, arginfo_stub_arithmetic_sub2b, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub2b, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub3, arginfo_stub_arithmetic_sub3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub4, arginfo_stub_arithmetic_sub4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub5, arginfo_stub_arithmetic_sub5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub6, arginfo_stub_arithmetic_sub6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub7, arginfo_stub_arithmetic_sub7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub8, arginfo_stub_arithmetic_sub8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub8b, arginfo_stub_arithmetic_sub8b, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub8b, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub9, arginfo_stub_arithmetic_sub9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub10, arginfo_stub_arithmetic_sub10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub11, arginfo_stub_arithmetic_sub11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub11, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub12, arginfo_stub_arithmetic_sub12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub12, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub13, arginfo_stub_arithmetic_sub13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub14, arginfo_stub_arithmetic_sub14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub14, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub15, arginfo_stub_arithmetic_sub15, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub15, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub16, arginfo_stub_arithmetic_sub16, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub16, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub17, arginfo_stub_arithmetic_sub17, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub17, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub18, arginfo_stub_arithmetic_sub18, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub18, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub19, arginfo_stub_arithmetic_sub19, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub19, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub20, arginfo_stub_arithmetic_sub20, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub20, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub21, arginfo_stub_arithmetic_sub21, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub21, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub22, arginfo_stub_arithmetic_sub22, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub22, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, sub23, arginfo_stub_arithmetic_sub23, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, sub23, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Arithmetic, sub24, arginfo_stub_arithmetic_sub24, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, mul1, arginfo_stub_arithmetic_mul1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, mul1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Arithmetic, mul2, arginfo_stub_arithmetic_mul2, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, mul3, arginfo_stub_arithmetic_mul3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, mul3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, less1, arginfo_stub_arithmetic_less1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, less1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, less2, arginfo_stub_arithmetic_less2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, less2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Arithmetic, less3, arginfo_stub_arithmetic_less3, ZEND_ACC_PUBLIC) PHP_ME(Stub_Arithmetic, less4, arginfo_stub_arithmetic_less4, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, greater1, arginfo_stub_arithmetic_greater1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, greater1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, greater2, arginfo_stub_arithmetic_greater2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, greater2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Arithmetic, greater3, arginfo_stub_arithmetic_greater3, ZEND_ACC_PUBLIC) PHP_ME(Stub_Arithmetic, greater4, arginfo_stub_arithmetic_greater4, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, letStatementIntMinus, arginfo_stub_arithmetic_letstatementintminus, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, letStatementIntMinus, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, declaredIntMinus, arginfo_stub_arithmetic_declaredintminus, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, declaredIntMinus, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Arithmetic, letStatementBoolMinus, arginfo_stub_arithmetic_letstatementboolminus, ZEND_ACC_PUBLIC) PHP_ME(Stub_Arithmetic, letStatementVarMinus, arginfo_stub_arithmetic_letstatementvarminus, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, div1, arginfo_stub_arithmetic_div1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, div1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Arithmetic, div2, arginfo_stub_arithmetic_div2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Arithmetic, div2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/arrayaccessobj.zep.c b/ext/stub/arrayaccessobj.zep.c index 35affe7c55..2c62174bc6 100644 --- a/ext/stub/arrayaccessobj.zep.c +++ b/ext/stub/arrayaccessobj.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_ArrayAccessObj, __construct) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -55,6 +56,15 @@ PHP_METHOD(Stub_ArrayAccessObj, offsetSet) { ZVAL_UNDEF(&offset_sub); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(offset) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &offset, &value); @@ -75,6 +85,14 @@ PHP_METHOD(Stub_ArrayAccessObj, offsetExists) { ZVAL_UNDEF(&offset_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &offset); @@ -92,6 +110,14 @@ PHP_METHOD(Stub_ArrayAccessObj, offsetUnset) { ZVAL_UNDEF(&offset_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &offset); @@ -112,6 +138,14 @@ PHP_METHOD(Stub_ArrayAccessObj, offsetGet) { 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) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &offset); diff --git a/ext/stub/arrayaccessobj.zep.h b/ext/stub/arrayaccessobj.zep.h index 71a640d377..874fa613ef 100644 --- a/ext/stub/arrayaccessobj.zep.h +++ b/ext/stub/arrayaccessobj.zep.h @@ -9,6 +9,9 @@ PHP_METHOD(Stub_ArrayAccessObj, offsetExists); PHP_METHOD(Stub_ArrayAccessObj, offsetUnset); PHP_METHOD(Stub_ArrayAccessObj, offsetGet); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayaccessobj___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayaccessobj_offsetset, 0, 0, 2) ZEND_ARG_INFO(0, offset) ZEND_ARG_INFO(0, value) @@ -27,7 +30,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayaccessobj_offsetget, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_arrayaccessobj_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayAccessObj, __construct, arginfo_stub_arrayaccessobj___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_ArrayAccessObj, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_ME(Stub_ArrayAccessObj, offsetSet, arginfo_stub_arrayaccessobj_offsetset, ZEND_ACC_PUBLIC) PHP_ME(Stub_ArrayAccessObj, offsetExists, arginfo_stub_arrayaccessobj_offsetexists, ZEND_ACC_PUBLIC) PHP_ME(Stub_ArrayAccessObj, offsetUnset, arginfo_stub_arrayaccessobj_offsetunset, ZEND_ACC_PUBLIC) diff --git a/ext/stub/arrayaccesstest.zep.c b/ext/stub/arrayaccesstest.zep.c index a07269ab1f..739f17841f 100644 --- a/ext/stub/arrayaccesstest.zep.c +++ b/ext/stub/arrayaccesstest.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_ArrayAccessTest, exits) { ZVAL_UNDEF(&arr); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&arr); @@ -55,6 +56,7 @@ PHP_METHOD(Stub_ArrayAccessTest, get) { ZVAL_UNDEF(&arr); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&arr); diff --git a/ext/stub/arrayaccesstest.zep.h b/ext/stub/arrayaccesstest.zep.h index e570bd413a..ddba5c0642 100644 --- a/ext/stub/arrayaccesstest.zep.h +++ b/ext/stub/arrayaccesstest.zep.h @@ -6,8 +6,22 @@ ZEPHIR_INIT_CLASS(Stub_ArrayAccessTest); PHP_METHOD(Stub_ArrayAccessTest, exits); PHP_METHOD(Stub_ArrayAccessTest, get); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayaccesstest_exits, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayaccesstest_get, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_arrayaccesstest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayAccessTest, exits, arginfo_stub_arrayaccesstest_exits, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_ArrayAccessTest, exits, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayAccessTest, get, arginfo_stub_arrayaccesstest_get, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_ArrayAccessTest, get, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/ext/stub/arrayiterator.zep.c b/ext/stub/arrayiterator.zep.c index cee129c154..22763da481 100644 --- a/ext/stub/arrayiterator.zep.c +++ b/ext/stub/arrayiterator.zep.c @@ -41,6 +41,7 @@ PHP_METHOD(Stub_ArrayIterator, __construct) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -70,6 +71,7 @@ PHP_METHOD(Stub_ArrayIterator, rewind) { ZVAL_UNDEF(&_0); + ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(&_0, 0); zephir_update_property_zval(this_ptr, ZEND_STRL("position"), &_0); @@ -86,6 +88,7 @@ PHP_METHOD(Stub_ArrayIterator, current) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); zephir_read_property(&_0, this_ptr, ZEND_STRL("test"), PH_NOISY_CC | PH_READONLY); @@ -101,6 +104,7 @@ PHP_METHOD(Stub_ArrayIterator, key) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "position"); } @@ -110,6 +114,7 @@ PHP_METHOD(Stub_ArrayIterator, next) { zval *this_ptr = getThis(); + RETURN_ON_FAILURE(zephir_property_incr(this_ptr, SL("position"))); } @@ -123,6 +128,7 @@ PHP_METHOD(Stub_ArrayIterator, valid) { ZVAL_UNDEF(&_1); + zephir_read_property(&_0, this_ptr, ZEND_STRL("test"), PH_NOISY_CC | PH_READONLY); zephir_read_property(&_1, this_ptr, ZEND_STRL("position"), PH_NOISY_CC | PH_READONLY); RETURN_BOOL(zephir_array_isset(&_0, &_1)); diff --git a/ext/stub/arrayiterator.zep.h b/ext/stub/arrayiterator.zep.h index ec7766183e..ff88eff86f 100644 --- a/ext/stub/arrayiterator.zep.h +++ b/ext/stub/arrayiterator.zep.h @@ -10,12 +10,54 @@ PHP_METHOD(Stub_ArrayIterator, key); PHP_METHOD(Stub_ArrayIterator, next); PHP_METHOD(Stub_ArrayIterator, valid); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiterator___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiterator_rewind, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiterator_current, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiterator_key, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiterator_next, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiterator_valid, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_arrayiterator_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIterator, __construct, arginfo_stub_arrayiterator___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_ArrayIterator, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIterator, rewind, arginfo_stub_arrayiterator_rewind, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ArrayIterator, rewind, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIterator, current, arginfo_stub_arrayiterator_current, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ArrayIterator, current, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIterator, key, arginfo_stub_arrayiterator_key, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ArrayIterator, key, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIterator, next, arginfo_stub_arrayiterator_next, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ArrayIterator, next, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIterator, valid, arginfo_stub_arrayiterator_valid, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ArrayIterator, valid, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/arrayiteratortest.zep.c b/ext/stub/arrayiteratortest.zep.c index d5fde0d345..1c7d90ca81 100644 --- a/ext/stub/arrayiteratortest.zep.c +++ b/ext/stub/arrayiteratortest.zep.c @@ -40,6 +40,7 @@ PHP_METHOD(Stub_ArrayIteratorTest, test) { ZVAL_UNDEF(&v); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&arr); diff --git a/ext/stub/arrayiteratortest.zep.h b/ext/stub/arrayiteratortest.zep.h index 436ae6723f..033327a2d3 100644 --- a/ext/stub/arrayiteratortest.zep.h +++ b/ext/stub/arrayiteratortest.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_ArrayIteratorTest); PHP_METHOD(Stub_ArrayIteratorTest, test); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arrayiteratortest_test, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_arrayiteratortest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArrayIteratorTest, test, arginfo_stub_arrayiteratortest_test, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_ArrayIteratorTest, test, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/ext/stub/arraysearch.zep.c b/ext/stub/arraysearch.zep.c index d41f7d2af1..f24372bd3f 100644 --- a/ext/stub/arraysearch.zep.c +++ b/ext/stub/arraysearch.zep.c @@ -27,7 +27,7 @@ ZEPHIR_INIT_CLASS(Stub_ArraySearch) { } -/** @issue https://github.com/phalcon/zephir/issues/1609 */ +/** @issue https://github.com/zephir-lang/zephir/issues/1609 */ PHP_METHOD(Stub_ArraySearch, simpleSearch) { zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; @@ -40,6 +40,17 @@ PHP_METHOD(Stub_ArraySearch, simpleSearch) { ZVAL_UNDEF(&needle_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&haystack); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 3) + Z_PARAM_ZVAL(needle) + Z_PARAM_ARRAY(haystack) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(strict) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 1, &needle, &haystack_param, &strict_param); @@ -59,7 +70,7 @@ PHP_METHOD(Stub_ArraySearch, simpleSearch) { } -/** @issue https://github.com/phalcon/zephir/issues/1609 */ +/** @issue https://github.com/zephir-lang/zephir/issues/1609 */ PHP_METHOD(Stub_ArraySearch, searchUsingArrayInsideZephir) { zval _0, pos; @@ -72,6 +83,7 @@ PHP_METHOD(Stub_ArraySearch, searchUsingArrayInsideZephir) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&pos); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&itoA64); diff --git a/ext/stub/arraysearch.zep.h b/ext/stub/arraysearch.zep.h index feea5ca54c..d34e1d8511 100644 --- a/ext/stub/arraysearch.zep.h +++ b/ext/stub/arraysearch.zep.h @@ -9,15 +9,18 @@ PHP_METHOD(Stub_ArraySearch, searchUsingArrayInsideZephir); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arraysearch_simplesearch, 0, 0, 2) ZEND_ARG_INFO(0, needle) ZEND_ARG_ARRAY_INFO(0, haystack, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, strict, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, strict) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_arraysearch_searchusingarrayinsidezephir, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_arraysearch_method_entry) { PHP_ME(Stub_ArraySearch, simpleSearch, arginfo_stub_arraysearch_simplesearch, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ArraySearch, searchUsingArrayInsideZephir, arginfo_stub_arraysearch_searchusingarrayinsidezephir, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ArraySearch, searchUsingArrayInsideZephir, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/assign.zep.c b/ext/stub/assign.zep.c index 011a16b369..499bd139f0 100644 --- a/ext/stub/assign.zep.c +++ b/ext/stub/assign.zep.c @@ -40,6 +40,7 @@ PHP_METHOD(Stub_Assign, getTestVar) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "testVar"); } @@ -49,6 +50,7 @@ PHP_METHOD(Stub_Assign, getMyArray) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "myArray"); } @@ -60,6 +62,7 @@ PHP_METHOD(Stub_Assign, testAssign1) { + a = 1; RETURN_LONG(a); @@ -72,6 +75,7 @@ PHP_METHOD(Stub_Assign, testAssign2) { + a = 1; RETURN_LONG(a); @@ -84,6 +88,7 @@ PHP_METHOD(Stub_Assign, testAssign3) { + a = 0; RETURN_LONG(a); @@ -96,6 +101,7 @@ PHP_METHOD(Stub_Assign, testAssign4) { + a = 0; RETURN_LONG(a); @@ -108,6 +114,7 @@ PHP_METHOD(Stub_Assign, testAssign5) { + a = (long) (2.0); RETURN_LONG(a); @@ -120,6 +127,7 @@ PHP_METHOD(Stub_Assign, testAssign6) { + a = ((1) ? 1 : 0); RETURN_BOOL(a); @@ -132,6 +140,7 @@ PHP_METHOD(Stub_Assign, testAssign7) { + a = ((1.0 != 0.0) ? 1 : 0); RETURN_BOOL(a); @@ -144,6 +153,7 @@ PHP_METHOD(Stub_Assign, testAssign8) { + a = 1; RETURN_BOOL(a); @@ -156,6 +166,7 @@ PHP_METHOD(Stub_Assign, testAssign9) { + a = 0; RETURN_BOOL(a); @@ -168,6 +179,7 @@ PHP_METHOD(Stub_Assign, testAssign10) { + a = 0; RETURN_BOOL(a); @@ -180,6 +192,7 @@ PHP_METHOD(Stub_Assign, testAssign11) { + a = 0.0; RETURN_DOUBLE(a); @@ -192,6 +205,7 @@ PHP_METHOD(Stub_Assign, testAssign12) { + a = (double) (4); RETURN_DOUBLE(a); @@ -204,6 +218,7 @@ PHP_METHOD(Stub_Assign, testAssign13) { + a = 0; RETURN_DOUBLE(a); @@ -216,6 +231,7 @@ PHP_METHOD(Stub_Assign, testAssign14) { + a = 1; RETURN_DOUBLE(a); @@ -228,6 +244,7 @@ PHP_METHOD(Stub_Assign, testAssign15) { + a = 5.0; RETURN_DOUBLE(a); @@ -240,6 +257,7 @@ PHP_METHOD(Stub_Assign, testAssign16) { + a = 1; RETURN_LONG(a); @@ -252,6 +270,7 @@ PHP_METHOD(Stub_Assign, testAssign17) { + a = 1.0; RETURN_DOUBLE(a); @@ -264,6 +283,7 @@ PHP_METHOD(Stub_Assign, testAssign18) { + a = 0; RETURN_BOOL(a); @@ -276,6 +296,7 @@ PHP_METHOD(Stub_Assign, testAssign19) { + a = 1; RETURN_BOOL(a); @@ -289,6 +310,7 @@ PHP_METHOD(Stub_Assign, testAssign20) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -304,6 +326,7 @@ PHP_METHOD(Stub_Assign, testAssign21) { + a = 1; b = a; RETURN_LONG(b); @@ -317,6 +340,7 @@ PHP_METHOD(Stub_Assign, testAssign22) { + a = 1.0; b = a; RETURN_DOUBLE(b); @@ -330,6 +354,7 @@ PHP_METHOD(Stub_Assign, testAssign23) { + a = 1; b = a; RETURN_BOOL(b); @@ -344,6 +369,7 @@ PHP_METHOD(Stub_Assign, testAssign24) { + a = 1; b = (double) a; RETURN_DOUBLE(b); @@ -358,6 +384,7 @@ PHP_METHOD(Stub_Assign, testAssign25) { + a = 1; b = (double) a; RETURN_DOUBLE(b); @@ -372,6 +399,7 @@ PHP_METHOD(Stub_Assign, testAssign26) { + a = (double) (1); b = (long) a; RETURN_LONG(b); @@ -386,6 +414,7 @@ PHP_METHOD(Stub_Assign, testAssign27) { + b = 1; a = (double) b; RETURN_DOUBLE(a); @@ -400,6 +429,7 @@ PHP_METHOD(Stub_Assign, testAssign28) { + b = 1; a = ((b) ? 1 : 0); RETURN_BOOL(a); @@ -414,6 +444,7 @@ PHP_METHOD(Stub_Assign, testAssign29) { + b = 1.0; a = ((b != 0.0) ? 1 : 0); RETURN_BOOL(a); @@ -428,6 +459,7 @@ PHP_METHOD(Stub_Assign, testAssign30) { + b = 0; a = b; RETURN_LONG(a); @@ -442,6 +474,7 @@ PHP_METHOD(Stub_Assign, testAssign31) { + b = 0; a = (double) b; RETURN_DOUBLE(a); @@ -455,6 +488,7 @@ PHP_METHOD(Stub_Assign, testAssign32) { + b = 0; a = b; RETURN_BOOL(a); @@ -468,6 +502,7 @@ PHP_METHOD(Stub_Assign, testAssign33) { + b = 0; a = b; RETURN_BOOL(a); @@ -482,6 +517,7 @@ PHP_METHOD(Stub_Assign, testAssign34) { + b = 0; a = ((b) ? 1 : 0); RETURN_BOOL(a); @@ -496,6 +532,7 @@ PHP_METHOD(Stub_Assign, testAssign35) { + b = 0; a = ((b != 0.0) ? 1 : 0); RETURN_BOOL(a); @@ -509,6 +546,7 @@ PHP_METHOD(Stub_Assign, testAssign36) { + b = 0; a = b; RETURN_BOOL(a); @@ -530,6 +568,7 @@ PHP_METHOD(Stub_Assign, testAssign37) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_4); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&v); @@ -579,6 +618,14 @@ PHP_METHOD(Stub_Assign, testAssign38) { ZVAL_UNDEF(&index_sub); ZVAL_UNDEF(&arr); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -604,6 +651,7 @@ PHP_METHOD(Stub_Assign, testAssign39) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -629,6 +677,7 @@ PHP_METHOD(Stub_Assign, testAssign40) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -645,7 +694,7 @@ PHP_METHOD(Stub_Assign, testAssign40) { } /** - * @link https://github.com/phalcon/zephir/issues/1573 + * @link https://github.com/zephir-lang/zephir/issues/1573 */ PHP_METHOD(Stub_Assign, testAssign41) { @@ -653,6 +702,14 @@ PHP_METHOD(Stub_Assign, testAssign41) { zend_long num, a = 0; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -666,7 +723,7 @@ PHP_METHOD(Stub_Assign, testAssign41) { } /** - * @link https://github.com/phalcon/zephir/issues/1573 + * @link https://github.com/zephir-lang/zephir/issues/1573 */ PHP_METHOD(Stub_Assign, testAssign42) { @@ -674,6 +731,14 @@ PHP_METHOD(Stub_Assign, testAssign42) { zend_long num, a = 0; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -692,6 +757,14 @@ PHP_METHOD(Stub_Assign, testAssign43) { zend_long num, a = 0; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -710,6 +783,14 @@ PHP_METHOD(Stub_Assign, testAssign44) { zend_long num, a = 0; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -734,6 +815,7 @@ PHP_METHOD(Stub_Assign, testPropertyAssign1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -784,6 +866,7 @@ PHP_METHOD(Stub_Assign, testPropertyAssign2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&f); + ZEPHIR_MM_GROW(); a = 1; @@ -822,6 +905,7 @@ PHP_METHOD(Stub_Assign, testPropertyIncr1) { ZVAL_UNDEF(&_0); + ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(&_0, 1); zephir_update_property_zval(this_ptr, ZEND_STRL("testVar"), &_0); @@ -839,6 +923,7 @@ PHP_METHOD(Stub_Assign, testPropertyAddAssign1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -862,6 +947,7 @@ PHP_METHOD(Stub_Assign, testPropertyAddAssign2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -885,6 +971,7 @@ PHP_METHOD(Stub_Assign, testPropertyAssignValuePlus1) { ZVAL_UNDEF(&_1); + ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(&_0, 1); zephir_update_property_zval(this_ptr, ZEND_STRL("testVar"), &_0); @@ -904,6 +991,7 @@ PHP_METHOD(Stub_Assign, testPropertyDecr) { ZVAL_UNDEF(&_0); + ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(&_0, 2); zephir_update_property_zval(this_ptr, ZEND_STRL("testVar"), &_0); @@ -921,6 +1009,7 @@ PHP_METHOD(Stub_Assign, testPropertySubAssign1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -944,6 +1033,7 @@ PHP_METHOD(Stub_Assign, testPropertySubAssign2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -967,6 +1057,7 @@ PHP_METHOD(Stub_Assign, testPropertyMulAssign1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -990,6 +1081,7 @@ PHP_METHOD(Stub_Assign, testPropertyMulAssign2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -1012,6 +1104,7 @@ PHP_METHOD(Stub_Assign, testPropertyAssignStringConcat) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1037,6 +1130,7 @@ PHP_METHOD(Stub_Assign, testPropertyArray1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1089,6 +1183,7 @@ PHP_METHOD(Stub_Assign, testPropertyArray2) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&f); + ZEPHIR_MM_GROW(); a = 1; @@ -1142,6 +1237,7 @@ PHP_METHOD(Stub_Assign, testPropertyArray3) { ZVAL_UNDEF(&_10); ZVAL_UNDEF(&_11); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1195,6 +1291,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray4) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -1239,6 +1343,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray5) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index_param); @@ -1280,6 +1392,7 @@ PHP_METHOD(Stub_Assign, testPropertyArray6) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1319,6 +1432,7 @@ PHP_METHOD(Stub_Assign, testPropertyArray7) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1358,6 +1472,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray8) { ZVAL_BOOL(&__$true, 1); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -1401,6 +1523,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray9) { ZVAL_BOOL(&__$true, 1); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index_param); @@ -1446,6 +1576,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray10) { ZVAL_BOOL(&__$true, 1); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index_param); @@ -1493,6 +1631,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray11) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -1541,6 +1687,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray12) { ZVAL_UNDEF(&_4); ZVAL_UNDEF(&_5); ZVAL_UNDEF(&_6); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -1597,6 +1751,14 @@ PHP_METHOD(Stub_Assign, testPropertyArray13) { ZVAL_UNDEF(&_4); ZVAL_UNDEF(&_5); ZVAL_UNDEF(&_6); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -1649,6 +1811,7 @@ PHP_METHOD(Stub_Assign, testPropertyArray14) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&v); @@ -1703,6 +1866,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyAssign1) { ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -1756,6 +1920,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyAssign2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&f); + ZEPHIR_MM_GROW(); a = 1; @@ -1798,6 +1963,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArray1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1839,6 +2005,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArray2) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1880,6 +2047,14 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArray3) { 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) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -1923,6 +2098,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArrayAppend) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1959,6 +2135,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArrayMutli1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -2000,6 +2177,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArrayMutli2) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -2041,6 +2219,14 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArrayMutli3) { 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) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index); @@ -2087,6 +2273,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArrayMulti4) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&v); @@ -2136,6 +2323,7 @@ PHP_METHOD(Stub_Assign, testStaticPropertyArrayAppend1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -2173,6 +2361,15 @@ PHP_METHOD(Stub_Assign, testArrayVarAssign1) { ZVAL_UNDEF(&index_sub); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(index) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &index, &value); @@ -2195,6 +2392,15 @@ PHP_METHOD(Stub_Assign, testArrayVarAssign2) { ZVAL_UNDEF(&index_sub); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_POST); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(index) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &index, &value); @@ -2217,6 +2423,15 @@ PHP_METHOD(Stub_Assign, testArrayProperty) { ZVAL_UNDEF(&index_sub); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_POST); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(index) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &index, &value); @@ -2231,7 +2446,7 @@ PHP_METHOD(Stub_Assign, testArrayProperty) { } /** - * @link https://github.com/phalcon/zephir/issues/159 + * @link https://github.com/zephir-lang/zephir/issues/159 */ PHP_METHOD(Stub_Assign, testGlobalVarAssign) { @@ -2241,6 +2456,15 @@ PHP_METHOD(Stub_Assign, testGlobalVarAssign) { ZVAL_UNDEF(&index_sub); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_POST); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(index) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_get_global(&_POST, SL("_POST")); zephir_fetch_params_without_memory_grow(2, 0, &index, &value); @@ -2252,7 +2476,7 @@ PHP_METHOD(Stub_Assign, testGlobalVarAssign) { } /** - * @link https://github.com/phalcon/zephir/issues/523 + * @link https://github.com/zephir-lang/zephir/issues/523 */ PHP_METHOD(Stub_Assign, testConstantKeyAssign) { @@ -2262,6 +2486,7 @@ PHP_METHOD(Stub_Assign, testConstantKeyAssign) { ZVAL_UNDEF(&elements); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&elements); @@ -2274,7 +2499,7 @@ PHP_METHOD(Stub_Assign, testConstantKeyAssign) { } /** - * @link https://github.com/phalcon/zephir/issues/746 + * @link https://github.com/zephir-lang/zephir/issues/746 * */ PHP_METHOD(Stub_Assign, testArrayBoolExpressionAssign) { @@ -2290,6 +2515,7 @@ PHP_METHOD(Stub_Assign, testArrayBoolExpressionAssign) { ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&str); @@ -2312,7 +2538,7 @@ PHP_METHOD(Stub_Assign, testArrayBoolExpressionAssign) { } /** - * @link https://github.com/phalcon/zephir/issues/725 + * @link https://github.com/zephir-lang/zephir/issues/725 */ PHP_METHOD(Stub_Assign, testAssignSuperGlobals) { @@ -2327,6 +2553,7 @@ PHP_METHOD(Stub_Assign, testAssignSuperGlobals) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); zephir_get_global(&_GET, SL("_GET")); @@ -2350,7 +2577,7 @@ PHP_METHOD(Stub_Assign, testAssignSuperGlobals) { } /** - * @link https://github.com/phalcon/zephir/issues/1917 + * @link https://github.com/zephir-lang/zephir/issues/1917 */ PHP_METHOD(Stub_Assign, testAssignSuperGlobalsSERVER) { @@ -2363,6 +2590,7 @@ PHP_METHOD(Stub_Assign, testAssignSuperGlobalsSERVER) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); zephir_get_global(&_SERVER, SL("_SERVER")); @@ -2378,7 +2606,7 @@ PHP_METHOD(Stub_Assign, testAssignSuperGlobalsSERVER) { } /** - * @link https://github.com/phalcon/zephir/issues/1917 + * @link https://github.com/zephir-lang/zephir/issues/1917 */ PHP_METHOD(Stub_Assign, testAssignSuperGlobalsGET) { @@ -2391,6 +2619,7 @@ PHP_METHOD(Stub_Assign, testAssignSuperGlobalsGET) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); zephir_get_global(&_GET, SL("_GET")); diff --git a/ext/stub/assign.zep.h b/ext/stub/assign.zep.h index 4bdc438f85..40a9eac3f2 100644 --- a/ext/stub/assign.zep.h +++ b/ext/stub/assign.zep.h @@ -96,333 +96,192 @@ PHP_METHOD(Stub_Assign, testAssignSuperGlobals); PHP_METHOD(Stub_Assign, testAssignSuperGlobalsSERVER); PHP_METHOD(Stub_Assign, testAssignSuperGlobalsGET); -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_gettestvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_getmyarray, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign2, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign2, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign3, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign3, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign4, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign4, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign5, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign5, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign6, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign6, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign7, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign7, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign8, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign8, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign9, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign9, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign10, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign10, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign11, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign11, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign12, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign12, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign13, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign13, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign14, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign14, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign15, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign15, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign16, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign16, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign17, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign17, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign18, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign18, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign19, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign19, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign20, 0, 0, IS_NULL, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign20, 0, 0, IS_NULL, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign21, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign21, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign22, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign22, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign23, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign23, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign24, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign24, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign25, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign25, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign26, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign26, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign27, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign27, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign28, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign28, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign29, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign29, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign30, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign30, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign31, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign31, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign32, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign32, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign33, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign33, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign34, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign34, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign35, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign35, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign36, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign36, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign37, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign37, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign38, 0, 1, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign38, 0, 1, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign39, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign39, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign40, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign40, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign41, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign41, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign42, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign42, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign43, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign43, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign44, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_assign_testassign44, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyassign1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyassign2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyincr1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyaddassign1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyaddassign2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyassignvalueplus1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertydecr, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertysubassign1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertysubassign2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertymulassign1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertymulassign2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyassignstringconcat, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray3, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray4, 0, 0, 1) @@ -430,11 +289,13 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray4, 0, 0, 1) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray5, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, index) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray7, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray8, 0, 0, 1) @@ -442,19 +303,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray8, 0, 0, 1) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray9, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, index) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray10, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, index) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray11, 0, 0, 1) @@ -469,14 +322,44 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray13, 0, 0, 1) ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testpropertyarray14, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyassign1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyassign2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarray1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarray2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarray3, 0, 0, 1) ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarrayappend, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarraymutli1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarraymutli2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarraymutli3, 0, 0, 1) ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarraymulti4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_teststaticpropertyarrayappend1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testarrayvarassign1, 0, 0, 2) ZEND_ARG_INFO(0, index) ZEND_ARG_INFO(0, value) @@ -497,9 +380,32 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testglobalvarassign, 0, 0, 2) ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testconstantkeyassign, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testarrayboolexpressionassign, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testassignsuperglobals, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testassignsuperglobalsserver, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_assign_testassignsuperglobalsget, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_assign_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, getTestVar, arginfo_stub_assign_gettestvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, getTestVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, getMyArray, arginfo_stub_assign_getmyarray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, getMyArray, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Assign, testAssign1, arginfo_stub_assign_testassign1, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testAssign2, arginfo_stub_assign_testassign2, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testAssign3, arginfo_stub_assign_testassign3, ZEND_ACC_PUBLIC) @@ -544,51 +450,179 @@ ZEPHIR_INIT_FUNCS(stub_assign_method_entry) { PHP_ME(Stub_Assign, testAssign42, arginfo_stub_assign_testassign42, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testAssign43, arginfo_stub_assign_testassign43, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testAssign44, arginfo_stub_assign_testassign44, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyAssign1, arginfo_stub_assign_testpropertyassign1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyAssign1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyAssign2, arginfo_stub_assign_testpropertyassign2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyAssign2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyIncr1, arginfo_stub_assign_testpropertyincr1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyIncr1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyAddAssign1, arginfo_stub_assign_testpropertyaddassign1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyAddAssign1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyAddAssign2, arginfo_stub_assign_testpropertyaddassign2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyAddAssign2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyAssignValuePlus1, arginfo_stub_assign_testpropertyassignvalueplus1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyAssignValuePlus1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyDecr, arginfo_stub_assign_testpropertydecr, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyDecr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertySubAssign1, arginfo_stub_assign_testpropertysubassign1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertySubAssign1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertySubAssign2, arginfo_stub_assign_testpropertysubassign2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertySubAssign2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyMulAssign1, arginfo_stub_assign_testpropertymulassign1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyMulAssign1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyMulAssign2, arginfo_stub_assign_testpropertymulassign2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyMulAssign2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyAssignStringConcat, arginfo_stub_assign_testpropertyassignstringconcat, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyAssignStringConcat, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyArray1, arginfo_stub_assign_testpropertyarray1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyArray1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyArray2, arginfo_stub_assign_testpropertyarray2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyArray2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyArray3, arginfo_stub_assign_testpropertyarray3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyArray3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Assign, testPropertyArray4, arginfo_stub_assign_testpropertyarray4, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testPropertyArray5, arginfo_stub_assign_testpropertyarray5, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyArray6, arginfo_stub_assign_testpropertyarray6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyArray6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyArray7, arginfo_stub_assign_testpropertyarray7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyArray7, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Assign, testPropertyArray8, arginfo_stub_assign_testpropertyarray8, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testPropertyArray9, arginfo_stub_assign_testpropertyarray9, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testPropertyArray10, arginfo_stub_assign_testpropertyarray10, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testPropertyArray11, arginfo_stub_assign_testpropertyarray11, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testPropertyArray12, arginfo_stub_assign_testpropertyarray12, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testPropertyArray13, arginfo_stub_assign_testpropertyarray13, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testPropertyArray14, arginfo_stub_assign_testpropertyarray14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testPropertyArray14, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyAssign1, arginfo_stub_assign_teststaticpropertyassign1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyAssign1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyAssign2, arginfo_stub_assign_teststaticpropertyassign2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyAssign2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArray1, arginfo_stub_assign_teststaticpropertyarray1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArray1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArray2, arginfo_stub_assign_teststaticpropertyarray2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArray2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Assign, testStaticPropertyArray3, arginfo_stub_assign_teststaticpropertyarray3, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArrayAppend, arginfo_stub_assign_teststaticpropertyarrayappend, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArrayAppend, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArrayMutli1, arginfo_stub_assign_teststaticpropertyarraymutli1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArrayMutli1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArrayMutli2, arginfo_stub_assign_teststaticpropertyarraymutli2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArrayMutli2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Assign, testStaticPropertyArrayMutli3, arginfo_stub_assign_teststaticpropertyarraymutli3, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArrayMulti4, arginfo_stub_assign_teststaticpropertyarraymulti4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArrayMulti4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testStaticPropertyArrayAppend1, arginfo_stub_assign_teststaticpropertyarrayappend1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testStaticPropertyArrayAppend1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Assign, testArrayVarAssign1, arginfo_stub_assign_testarrayvarassign1, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testArrayVarAssign2, arginfo_stub_assign_testarrayvarassign2, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testArrayProperty, arginfo_stub_assign_testarrayproperty, ZEND_ACC_PUBLIC) PHP_ME(Stub_Assign, testGlobalVarAssign, arginfo_stub_assign_testglobalvarassign, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testConstantKeyAssign, arginfo_stub_assign_testconstantkeyassign, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testConstantKeyAssign, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testArrayBoolExpressionAssign, arginfo_stub_assign_testarrayboolexpressionassign, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testArrayBoolExpressionAssign, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testAssignSuperGlobals, arginfo_stub_assign_testassignsuperglobals, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testAssignSuperGlobals, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testAssignSuperGlobalsSERVER, arginfo_stub_assign_testassignsuperglobalsserver, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testAssignSuperGlobalsSERVER, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Assign, testAssignSuperGlobalsGET, arginfo_stub_assign_testassignsuperglobalsget, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Assign, testAssignSuperGlobalsGET, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/bench/foo.zep.c b/ext/stub/bench/foo.zep.c index f51e3f4553..aacdda25c2 100644 --- a/ext/stub/bench/foo.zep.c +++ b/ext/stub/bench/foo.zep.c @@ -43,6 +43,14 @@ PHP_METHOD(Stub_Bench_Foo, emptyForInRange) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -82,6 +90,14 @@ PHP_METHOD(Stub_Bench_Foo, readStatic) { ZVAL_UNDEF(&x); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -123,6 +139,14 @@ PHP_METHOD(Stub_Bench_Foo, writeStatic) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -164,6 +188,14 @@ PHP_METHOD(Stub_Bench_Foo, issetStatic) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -204,6 +236,14 @@ PHP_METHOD(Stub_Bench_Foo, emptyStatic) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -246,6 +286,14 @@ PHP_METHOD(Stub_Bench_Foo, readProp) { ZVAL_UNDEF(&x); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -286,6 +334,14 @@ PHP_METHOD(Stub_Bench_Foo, writeProp) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -329,6 +385,14 @@ PHP_METHOD(Stub_Bench_Foo, assignAddProp) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -388,6 +452,14 @@ PHP_METHOD(Stub_Bench_Foo, postIncProp) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -427,6 +499,14 @@ PHP_METHOD(Stub_Bench_Foo, postDecProp) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -466,6 +546,14 @@ PHP_METHOD(Stub_Bench_Foo, issetProp) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -506,6 +594,14 @@ PHP_METHOD(Stub_Bench_Foo, emptyProp) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -542,6 +638,7 @@ PHP_METHOD(Stub_Bench_Foo, g) { + } PHP_METHOD(Stub_Bench_Foo, call) { @@ -556,6 +653,14 @@ PHP_METHOD(Stub_Bench_Foo, call) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -591,6 +696,7 @@ PHP_METHOD(Stub_Bench_Foo, staticMethod) { + } PHP_METHOD(Stub_Bench_Foo, staticMethod1) { @@ -598,6 +704,7 @@ PHP_METHOD(Stub_Bench_Foo, staticMethod1) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -614,6 +721,14 @@ PHP_METHOD(Stub_Bench_Foo, scall) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -655,6 +770,14 @@ PHP_METHOD(Stub_Bench_Foo, scallWithReturnTrue) { ZVAL_UNDEF(&n_sub); ZVAL_UNDEF(&i); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); @@ -696,6 +819,14 @@ PHP_METHOD(Stub_Bench_Foo, readConst) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&x); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); diff --git a/ext/stub/bench/foo.zep.h b/ext/stub/bench/foo.zep.h index b81927afec..e138460b1d 100644 --- a/ext/stub/bench/foo.zep.h +++ b/ext/stub/bench/foo.zep.h @@ -71,26 +71,17 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bench_foo_emptyprop, 0, 0, 1) ZEND_ARG_INFO(0, n) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bench_foo_g, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bench_foo_call, 0, 0, 1) ZEND_ARG_INFO(0, n) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_bench_foo_staticmethod, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_bench_foo_staticmethod, 0, 0, IS_VOID, NULL, 0) -#endif ZEND_END_ARG_INFO() -#else -#define arginfo_stub_bench_foo_staticmethod NULL -#endif -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_bench_foo_staticmethod1, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_bench_foo_staticmethod1, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bench_foo_scall, 0, 0, 1) @@ -118,7 +109,11 @@ ZEPHIR_INIT_FUNCS(stub_bench_foo_method_entry) { PHP_ME(Stub_Bench_Foo, postDecProp, arginfo_stub_bench_foo_postdecprop, ZEND_ACC_PUBLIC) PHP_ME(Stub_Bench_Foo, issetProp, arginfo_stub_bench_foo_issetprop, ZEND_ACC_PUBLIC) PHP_ME(Stub_Bench_Foo, emptyProp, arginfo_stub_bench_foo_emptyprop, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bench_Foo, g, arginfo_stub_bench_foo_g, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bench_Foo, g, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Bench_Foo, call, arginfo_stub_bench_foo_call, ZEND_ACC_PUBLIC) PHP_ME(Stub_Bench_Foo, staticMethod, arginfo_stub_bench_foo_staticmethod, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) PHP_ME(Stub_Bench_Foo, staticMethod1, arginfo_stub_bench_foo_staticmethod1, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) diff --git a/ext/stub/bitwise.zep.c b/ext/stub/bitwise.zep.c index 5e54a03dcd..f084842d7c 100644 --- a/ext/stub/bitwise.zep.c +++ b/ext/stub/bitwise.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Bitwise, intAnd) { + a = 1; b = 2; c = (a & b); @@ -50,6 +51,7 @@ PHP_METHOD(Stub_Bitwise, int2And) { + a = 1; c = (a & 2); RETURN_LONG(c); @@ -63,6 +65,7 @@ PHP_METHOD(Stub_Bitwise, intAndSimple) { + c = 0; RETURN_LONG(c); @@ -75,6 +78,7 @@ PHP_METHOD(Stub_Bitwise, boolAnd) { + a = ((1) ? 1 : 0); b = ((2) ? 1 : 0); c = (((a & b)) ? 1 : 0); @@ -89,6 +93,7 @@ PHP_METHOD(Stub_Bitwise, bool2And) { + a = ((1) ? 1 : 0); c = (((a & 2)) ? 1 : 0); RETURN_BOOL(c); @@ -102,6 +107,7 @@ PHP_METHOD(Stub_Bitwise, bool3And) { + a = 1; c = (((a & 0)) ? 1 : 0); RETURN_BOOL(c); @@ -115,6 +121,7 @@ PHP_METHOD(Stub_Bitwise, boolAndSimple) { + c = ((0) ? 1 : 0); RETURN_BOOL(c); @@ -127,6 +134,7 @@ PHP_METHOD(Stub_Bitwise, doubleAnd) { + a = (double) (1); b = (double) (2); c = (double) (((int) (a) & (int) (b))); @@ -141,6 +149,7 @@ PHP_METHOD(Stub_Bitwise, double2And) { + a = 1.0; b = 2.0; c = (double) (((int) (a) & (int) (b))); @@ -155,6 +164,7 @@ PHP_METHOD(Stub_Bitwise, doubleAndSimple) { + c = (double) (0); RETURN_DOUBLE(c); @@ -167,6 +177,7 @@ PHP_METHOD(Stub_Bitwise, doubleAnd2Simple) { + c = (double) (0.0); RETURN_DOUBLE(c); @@ -179,6 +190,7 @@ PHP_METHOD(Stub_Bitwise, varAnd) { + a = 1; b = 2; c = (a & b); @@ -193,6 +205,7 @@ PHP_METHOD(Stub_Bitwise, varAndSimple) { + c = 0; RETURN_LONG(c); @@ -206,6 +219,7 @@ PHP_METHOD(Stub_Bitwise, intDoubleAnd) { + a = (double) (1); b = 2; c = ((int) (a) & b); @@ -220,6 +234,7 @@ PHP_METHOD(Stub_Bitwise, intDoubleAndSimple) { + c = 0; RETURN_LONG(c); @@ -233,6 +248,7 @@ PHP_METHOD(Stub_Bitwise, doubleIntAnd) { + a = (double) (1); b = 2; c = (double) (((int) (a) & b)); @@ -247,6 +263,7 @@ PHP_METHOD(Stub_Bitwise, doubleIntAndSimple) { + c = (double) (0); RETURN_DOUBLE(c); @@ -259,6 +276,7 @@ PHP_METHOD(Stub_Bitwise, varIntAnd) { + a = 1; b = 2; c = (a & b); @@ -273,6 +291,7 @@ PHP_METHOD(Stub_Bitwise, intVarAnd) { + a = 1; b = 2; c = (b & a); @@ -291,6 +310,7 @@ PHP_METHOD(Stub_Bitwise, intVarImplicitCastAnd) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -313,6 +333,7 @@ PHP_METHOD(Stub_Bitwise, intVarImplicitCast2And) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -330,6 +351,7 @@ PHP_METHOD(Stub_Bitwise, complexAnd) { + c = (double) (0); RETURN_DOUBLE(c); @@ -342,6 +364,7 @@ PHP_METHOD(Stub_Bitwise, complex2And) { + c = (((1 & 1)) ? 1 : 0); RETURN_BOOL(c); @@ -354,6 +377,7 @@ PHP_METHOD(Stub_Bitwise, complex3And) { + c = (((1 &((1.0) ? 1 : 0))) ? 1 : 0); RETURN_BOOL(c); @@ -367,6 +391,7 @@ PHP_METHOD(Stub_Bitwise, complex4And) { ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -382,6 +407,7 @@ PHP_METHOD(Stub_Bitwise, complex5And) { + c = (1 & 1); RETURN_LONG(c); @@ -394,6 +420,7 @@ PHP_METHOD(Stub_Bitwise, complex6And) { + c = (((1 &((1) ? 1 : 0))) ? 1 : 0); RETURN_BOOL(c); @@ -407,6 +434,7 @@ PHP_METHOD(Stub_Bitwise, complex7And) { + a = ((1) ? 1 : 0); b = 2; c = (a & b); @@ -422,6 +450,7 @@ PHP_METHOD(Stub_Bitwise, complex9And) { + a = ((1) ? 1 : 0); b = 2; c = (b & a); @@ -438,6 +467,7 @@ PHP_METHOD(Stub_Bitwise, complex10And) { + a = ((1.0 != 0.0) ? 1 : 0); b = 2; c = (double) ((b & a)); @@ -454,6 +484,7 @@ PHP_METHOD(Stub_Bitwise, complex11And) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (double) ((b & a)); @@ -469,6 +500,7 @@ PHP_METHOD(Stub_Bitwise, complex12And) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (b & a); @@ -484,6 +516,7 @@ PHP_METHOD(Stub_Bitwise, complex13And) { + a = ((1) ? 1 : 0); b = ((2.0 != 0.0) ? 1 : 0); c = (b & a); @@ -499,6 +532,7 @@ PHP_METHOD(Stub_Bitwise, complex14And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (b & a); @@ -515,6 +549,7 @@ PHP_METHOD(Stub_Bitwise, complex15And) { + a = 1; b = 2.0; c = ((((int) (b) & a)) ? 1 : 0); @@ -530,6 +565,7 @@ PHP_METHOD(Stub_Bitwise, complex16And) { + a = 1; b = 2.0; c = (double) (((int) (b) & a)); @@ -546,6 +582,7 @@ PHP_METHOD(Stub_Bitwise, complex17And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (double) ((a & b)); @@ -562,6 +599,7 @@ PHP_METHOD(Stub_Bitwise, complex18And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a & b)); @@ -579,6 +617,7 @@ PHP_METHOD(Stub_Bitwise, complex19And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a & b)); @@ -596,6 +635,7 @@ PHP_METHOD(Stub_Bitwise, complex20And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a & b)); @@ -613,6 +653,7 @@ PHP_METHOD(Stub_Bitwise, complex21And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a & b)); @@ -629,6 +670,7 @@ PHP_METHOD(Stub_Bitwise, complex22And) { + a = 1; b = (long) (2.0); d = (double) ((a & b)); @@ -646,6 +688,7 @@ PHP_METHOD(Stub_Bitwise, complex23And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a & b)); @@ -661,6 +704,7 @@ PHP_METHOD(Stub_Bitwise, complex24And) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (1 & (a & ((int) (0) & b))); @@ -675,6 +719,7 @@ PHP_METHOD(Stub_Bitwise, intOr) { + a = 1; b = 2; c = (a | b); @@ -689,6 +734,7 @@ PHP_METHOD(Stub_Bitwise, int2Or) { + a = 1; c = (a | 2); RETURN_LONG(c); @@ -702,6 +748,7 @@ PHP_METHOD(Stub_Bitwise, intOrSimple) { + c = 3; RETURN_LONG(c); @@ -714,6 +761,7 @@ PHP_METHOD(Stub_Bitwise, boolOr) { + a = ((1) ? 1 : 0); b = ((2) ? 1 : 0); c = (((a | b)) ? 1 : 0); @@ -728,6 +776,7 @@ PHP_METHOD(Stub_Bitwise, bool2Or) { + a = ((1) ? 1 : 0); c = (((a | 2)) ? 1 : 0); RETURN_BOOL(c); @@ -741,6 +790,7 @@ PHP_METHOD(Stub_Bitwise, bool3Or) { + a = 1; c = (((a | 0)) ? 1 : 0); RETURN_BOOL(c); @@ -754,6 +804,7 @@ PHP_METHOD(Stub_Bitwise, bool4Or) { + a = 1; c = (((a | 1)) ? 1 : 0); RETURN_BOOL(c); @@ -767,6 +818,7 @@ PHP_METHOD(Stub_Bitwise, boolOrSimple) { + c = ((3) ? 1 : 0); RETURN_BOOL(c); @@ -779,6 +831,7 @@ PHP_METHOD(Stub_Bitwise, doubleOr) { + a = (double) (1); b = (double) (2); c = (double) (((int) (a) | (int) (b))); @@ -793,6 +846,7 @@ PHP_METHOD(Stub_Bitwise, double2Or) { + a = 1.0; b = 2.0; c = (double) (((int) (a) | (int) (b))); @@ -807,6 +861,7 @@ PHP_METHOD(Stub_Bitwise, doubleOrSimple) { + c = (double) (3); RETURN_DOUBLE(c); @@ -819,6 +874,7 @@ PHP_METHOD(Stub_Bitwise, doubleOr2Simple) { + c = (double) (3.0); RETURN_DOUBLE(c); @@ -831,6 +887,7 @@ PHP_METHOD(Stub_Bitwise, varOr) { + a = 1; b = 2; c = (a | b); @@ -845,6 +902,7 @@ PHP_METHOD(Stub_Bitwise, varOrSimple) { + c = 3; RETURN_LONG(c); @@ -858,6 +916,7 @@ PHP_METHOD(Stub_Bitwise, intDoubleOr) { + a = (double) (1); b = 2; c = ((int) (a) | b); @@ -872,6 +931,7 @@ PHP_METHOD(Stub_Bitwise, intDoubleOrSimple) { + c = 3.0; RETURN_LONG(c); @@ -885,6 +945,7 @@ PHP_METHOD(Stub_Bitwise, doubleIntOr) { + a = (double) (1); b = 2; c = (double) (((int) (a) | b)); @@ -899,6 +960,7 @@ PHP_METHOD(Stub_Bitwise, doubleIntOrSimple) { + c = (double) (3.0); RETURN_DOUBLE(c); @@ -911,6 +973,7 @@ PHP_METHOD(Stub_Bitwise, varIntOr) { + a = 1; b = 2; c = (a | b); @@ -925,6 +988,7 @@ PHP_METHOD(Stub_Bitwise, intVarOr) { + a = 1; b = 2; c = (b | a); @@ -943,6 +1007,7 @@ PHP_METHOD(Stub_Bitwise, intVarImplicitCastOr) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -965,6 +1030,7 @@ PHP_METHOD(Stub_Bitwise, intVarImplicitCast2Or) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -982,6 +1048,7 @@ PHP_METHOD(Stub_Bitwise, complexOr) { + c = (double) (3.0); RETURN_DOUBLE(c); @@ -994,6 +1061,7 @@ PHP_METHOD(Stub_Bitwise, complex2Or) { + c = (((1 | 1)) ? 1 : 0); RETURN_BOOL(c); @@ -1006,6 +1074,7 @@ PHP_METHOD(Stub_Bitwise, complex3Or) { + c = (((1 |((1.0) ? 1 : 0))) ? 1 : 0); RETURN_BOOL(c); @@ -1019,6 +1088,7 @@ PHP_METHOD(Stub_Bitwise, complex4Or) { ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -1034,6 +1104,7 @@ PHP_METHOD(Stub_Bitwise, complex5Or) { + c = (1 | 1); RETURN_LONG(c); @@ -1046,6 +1117,7 @@ PHP_METHOD(Stub_Bitwise, complex6Or) { + c = (((1 |((1) ? 1 : 0))) ? 1 : 0); RETURN_BOOL(c); @@ -1059,6 +1131,7 @@ PHP_METHOD(Stub_Bitwise, complex7Or) { + a = ((1) ? 1 : 0); b = 2; c = (a | b); @@ -1074,6 +1147,7 @@ PHP_METHOD(Stub_Bitwise, complex9Or) { + a = ((1) ? 1 : 0); b = 2; c = (b | a); @@ -1090,6 +1164,7 @@ PHP_METHOD(Stub_Bitwise, complex10Or) { + a = ((1.0 != 0.0) ? 1 : 0); b = 2; c = (double) ((b | a)); @@ -1106,6 +1181,7 @@ PHP_METHOD(Stub_Bitwise, complex11Or) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (double) ((b | a)); @@ -1121,6 +1197,7 @@ PHP_METHOD(Stub_Bitwise, complex12Or) { + a = ((1) ? 1 : 0); b = (long) (2.0); c = (b | a); @@ -1136,6 +1213,7 @@ PHP_METHOD(Stub_Bitwise, complex13Or) { + a = ((1) ? 1 : 0); b = ((2.0 != 0.0) ? 1 : 0); c = (b | a); @@ -1151,6 +1229,7 @@ PHP_METHOD(Stub_Bitwise, complex14Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (b | a); @@ -1167,6 +1246,7 @@ PHP_METHOD(Stub_Bitwise, complex15Or) { + a = 1; b = 2.0; c = ((((int) (b) | a)) ? 1 : 0); @@ -1182,6 +1262,7 @@ PHP_METHOD(Stub_Bitwise, complex16Or) { + a = 1; b = 2.0; c = (double) (((int) (b) | a)); @@ -1198,6 +1279,7 @@ PHP_METHOD(Stub_Bitwise, complex17Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); c = (double) ((a | b)); @@ -1214,6 +1296,7 @@ PHP_METHOD(Stub_Bitwise, complex18Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a | b)); @@ -1231,6 +1314,7 @@ PHP_METHOD(Stub_Bitwise, complex19Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a | b)); @@ -1248,6 +1332,7 @@ PHP_METHOD(Stub_Bitwise, complex20Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a | b)); @@ -1265,6 +1350,7 @@ PHP_METHOD(Stub_Bitwise, complex21Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a | b)); @@ -1281,6 +1367,7 @@ PHP_METHOD(Stub_Bitwise, complex22Or) { + a = 1; b = (long) (2.0); d = (double) ((a | b)); @@ -1298,6 +1385,7 @@ PHP_METHOD(Stub_Bitwise, complex23Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((a | b)); @@ -1314,6 +1402,7 @@ PHP_METHOD(Stub_Bitwise, complex24Or) { + a = 1; b = ((2.0 != 0.0) ? 1 : 0); d = (double) ((((1 | a) | 0) | b)); @@ -1328,6 +1417,7 @@ PHP_METHOD(Stub_Bitwise, intShiftLeft) { + a = 1; b = 2; c = (a << b); @@ -1342,6 +1432,7 @@ PHP_METHOD(Stub_Bitwise, int2ShiftLeft) { + a = 1; c = (a << 2); RETURN_LONG(c); @@ -1355,6 +1446,7 @@ PHP_METHOD(Stub_Bitwise, intShiftLeftSimple) { + c = 4; RETURN_LONG(c); @@ -1367,6 +1459,7 @@ PHP_METHOD(Stub_Bitwise, intShiftRight) { + a = 1; b = 2; c = (a >> b); @@ -1381,6 +1474,7 @@ PHP_METHOD(Stub_Bitwise, int2ShiftRight) { + a = 1; c = (a >> 2); RETURN_LONG(c); @@ -1394,6 +1488,7 @@ PHP_METHOD(Stub_Bitwise, intShiftRightSimple) { + c = 0; RETURN_LONG(c); @@ -1405,6 +1500,14 @@ PHP_METHOD(Stub_Bitwise, testBitwiseNot) { zend_long a; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -1421,6 +1524,15 @@ PHP_METHOD(Stub_Bitwise, testBitwiseAndNot) { zend_long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -1438,6 +1550,14 @@ PHP_METHOD(Stub_Bitwise, getInt) { zend_long num; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -1449,7 +1569,7 @@ PHP_METHOD(Stub_Bitwise, getInt) { } /** - * @issue https://github.com/phalcon/zephir/issues/1581 + * @issue https://github.com/zephir-lang/zephir/issues/1581 */ PHP_METHOD(Stub_Bitwise, testbitwiseXor) { @@ -1462,6 +1582,7 @@ PHP_METHOD(Stub_Bitwise, testbitwiseXor) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&j); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 123); diff --git a/ext/stub/bitwise.zep.h b/ext/stub/bitwise.zep.h index c3681cdffc..cc94f5ccdc 100644 --- a/ext/stub/bitwise.zep.h +++ b/ext/stub/bitwise.zep.h @@ -103,138 +103,790 @@ PHP_METHOD(Stub_Bitwise, testBitwiseAndNot); PHP_METHOD(Stub_Bitwise, getInt); PHP_METHOD(Stub_Bitwise, testbitwiseXor); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_int2and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intandsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_booland, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_bool2and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_bool3and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_boolandsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_double2and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleandsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleand2simple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_varand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_varandsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intdoubleand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intdoubleandsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleintand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleintandsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_varintand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intvarand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intvarimplicitcastand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intvarimplicitcast2and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complexand, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex2and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex3and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex4and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex5and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex6and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex7and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex9and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex10and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex11and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex12and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex13and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex14and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex15and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex16and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex17and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex18and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex19and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex20and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex21and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex22and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex23and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex24and, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_int2or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intorsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_boolor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_bool2or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_bool3or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_bool4or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_boolorsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_double2or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleorsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleor2simple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_varor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_varorsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intdoubleor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intdoubleorsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleintor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_doubleintorsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_varintor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intvaror, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intvarimplicitcastor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intvarimplicitcast2or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complexor, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex2or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex3or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex4or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex5or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex6or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex7or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex9or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex10or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex11or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex12or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex13or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex14or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex15or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex16or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex17or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex18or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex19or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex20or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex21or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex22or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex23or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_complex24or, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intshiftleft, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_int2shiftleft, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intshiftleftsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intshiftright, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_int2shiftright, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_intshiftrightsimple, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_testbitwisenot, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_testbitwiseandnot, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_bitwise_getint, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_bitwise_getint, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_bitwise_testbitwisexor, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_bitwise_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intAnd, arginfo_stub_bitwise_intand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, int2And, arginfo_stub_bitwise_int2and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, int2And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intAndSimple, arginfo_stub_bitwise_intandsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intAndSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, boolAnd, arginfo_stub_bitwise_booland, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, boolAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, bool2And, arginfo_stub_bitwise_bool2and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, bool2And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, bool3And, arginfo_stub_bitwise_bool3and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, bool3And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, boolAndSimple, arginfo_stub_bitwise_boolandsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, boolAndSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleAnd, arginfo_stub_bitwise_doubleand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, double2And, arginfo_stub_bitwise_double2and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, double2And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleAndSimple, arginfo_stub_bitwise_doubleandsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleAndSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleAnd2Simple, arginfo_stub_bitwise_doubleand2simple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleAnd2Simple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, varAnd, arginfo_stub_bitwise_varand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, varAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, varAndSimple, arginfo_stub_bitwise_varandsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, varAndSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intDoubleAnd, arginfo_stub_bitwise_intdoubleand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intDoubleAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intDoubleAndSimple, arginfo_stub_bitwise_intdoubleandsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intDoubleAndSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleIntAnd, arginfo_stub_bitwise_doubleintand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleIntAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleIntAndSimple, arginfo_stub_bitwise_doubleintandsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleIntAndSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, varIntAnd, arginfo_stub_bitwise_varintand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, varIntAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intVarAnd, arginfo_stub_bitwise_intvarand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intVarAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intVarImplicitCastAnd, arginfo_stub_bitwise_intvarimplicitcastand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intVarImplicitCastAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intVarImplicitCast2And, arginfo_stub_bitwise_intvarimplicitcast2and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intVarImplicitCast2And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complexAnd, arginfo_stub_bitwise_complexand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complexAnd, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex2And, arginfo_stub_bitwise_complex2and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex2And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex3And, arginfo_stub_bitwise_complex3and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex3And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex4And, arginfo_stub_bitwise_complex4and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex4And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex5And, arginfo_stub_bitwise_complex5and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex5And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex6And, arginfo_stub_bitwise_complex6and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex6And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex7And, arginfo_stub_bitwise_complex7and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex7And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex9And, arginfo_stub_bitwise_complex9and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex9And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex10And, arginfo_stub_bitwise_complex10and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex10And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex11And, arginfo_stub_bitwise_complex11and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex11And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex12And, arginfo_stub_bitwise_complex12and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex12And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex13And, arginfo_stub_bitwise_complex13and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex13And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex14And, arginfo_stub_bitwise_complex14and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex14And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex15And, arginfo_stub_bitwise_complex15and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex15And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex16And, arginfo_stub_bitwise_complex16and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex16And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex17And, arginfo_stub_bitwise_complex17and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex17And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex18And, arginfo_stub_bitwise_complex18and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex18And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex19And, arginfo_stub_bitwise_complex19and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex19And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex20And, arginfo_stub_bitwise_complex20and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex20And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex21And, arginfo_stub_bitwise_complex21and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex21And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex22And, arginfo_stub_bitwise_complex22and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex22And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex23And, arginfo_stub_bitwise_complex23and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex23And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex24And, arginfo_stub_bitwise_complex24and, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex24And, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intOr, arginfo_stub_bitwise_intor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, int2Or, arginfo_stub_bitwise_int2or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, int2Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intOrSimple, arginfo_stub_bitwise_intorsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intOrSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, boolOr, arginfo_stub_bitwise_boolor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, boolOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, bool2Or, arginfo_stub_bitwise_bool2or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, bool2Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, bool3Or, arginfo_stub_bitwise_bool3or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, bool3Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, bool4Or, arginfo_stub_bitwise_bool4or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, bool4Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, boolOrSimple, arginfo_stub_bitwise_boolorsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, boolOrSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleOr, arginfo_stub_bitwise_doubleor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, double2Or, arginfo_stub_bitwise_double2or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, double2Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleOrSimple, arginfo_stub_bitwise_doubleorsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleOrSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleOr2Simple, arginfo_stub_bitwise_doubleor2simple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleOr2Simple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, varOr, arginfo_stub_bitwise_varor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, varOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, varOrSimple, arginfo_stub_bitwise_varorsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, varOrSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intDoubleOr, arginfo_stub_bitwise_intdoubleor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intDoubleOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intDoubleOrSimple, arginfo_stub_bitwise_intdoubleorsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intDoubleOrSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleIntOr, arginfo_stub_bitwise_doubleintor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleIntOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, doubleIntOrSimple, arginfo_stub_bitwise_doubleintorsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, doubleIntOrSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, varIntOr, arginfo_stub_bitwise_varintor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, varIntOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intVarOr, arginfo_stub_bitwise_intvaror, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intVarOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intVarImplicitCastOr, arginfo_stub_bitwise_intvarimplicitcastor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intVarImplicitCastOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intVarImplicitCast2Or, arginfo_stub_bitwise_intvarimplicitcast2or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intVarImplicitCast2Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complexOr, arginfo_stub_bitwise_complexor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complexOr, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex2Or, arginfo_stub_bitwise_complex2or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex2Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex3Or, arginfo_stub_bitwise_complex3or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex3Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex4Or, arginfo_stub_bitwise_complex4or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex4Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex5Or, arginfo_stub_bitwise_complex5or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex5Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex6Or, arginfo_stub_bitwise_complex6or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex6Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex7Or, arginfo_stub_bitwise_complex7or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex7Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex9Or, arginfo_stub_bitwise_complex9or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex9Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex10Or, arginfo_stub_bitwise_complex10or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex10Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex11Or, arginfo_stub_bitwise_complex11or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex11Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex12Or, arginfo_stub_bitwise_complex12or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex12Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex13Or, arginfo_stub_bitwise_complex13or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex13Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex14Or, arginfo_stub_bitwise_complex14or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex14Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex15Or, arginfo_stub_bitwise_complex15or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex15Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex16Or, arginfo_stub_bitwise_complex16or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex16Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex17Or, arginfo_stub_bitwise_complex17or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex17Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex18Or, arginfo_stub_bitwise_complex18or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex18Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex19Or, arginfo_stub_bitwise_complex19or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex19Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex20Or, arginfo_stub_bitwise_complex20or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex20Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex21Or, arginfo_stub_bitwise_complex21or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex21Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex22Or, arginfo_stub_bitwise_complex22or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex22Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex23Or, arginfo_stub_bitwise_complex23or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex23Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, complex24Or, arginfo_stub_bitwise_complex24or, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, complex24Or, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intShiftLeft, arginfo_stub_bitwise_intshiftleft, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intShiftLeft, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, int2ShiftLeft, arginfo_stub_bitwise_int2shiftleft, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, int2ShiftLeft, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intShiftLeftSimple, arginfo_stub_bitwise_intshiftleftsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intShiftLeftSimple, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intShiftRight, arginfo_stub_bitwise_intshiftright, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intShiftRight, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, int2ShiftRight, arginfo_stub_bitwise_int2shiftright, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, int2ShiftRight, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, intShiftRightSimple, arginfo_stub_bitwise_intshiftrightsimple, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, intShiftRightSimple, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Bitwise, testBitwiseNot, arginfo_stub_bitwise_testbitwisenot, ZEND_ACC_PUBLIC) PHP_ME(Stub_Bitwise, testBitwiseAndNot, arginfo_stub_bitwise_testbitwiseandnot, ZEND_ACC_PUBLIC) PHP_ME(Stub_Bitwise, getInt, arginfo_stub_bitwise_getint, ZEND_ACC_PROTECTED) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Bitwise, testbitwiseXor, arginfo_stub_bitwise_testbitwisexor, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Bitwise, testbitwiseXor, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/branchprediction.zep.c b/ext/stub/branchprediction.zep.c index 0240034271..9d4f7bcfb8 100644 --- a/ext/stub/branchprediction.zep.c +++ b/ext/stub/branchprediction.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_BranchPrediction, testLikely1) { zval *this_ptr = getThis(); + if (EXPECTED(1 == 1)) { RETURN_BOOL(1); } else { @@ -47,6 +48,14 @@ PHP_METHOD(Stub_BranchPrediction, testLikely2) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -65,6 +74,7 @@ PHP_METHOD(Stub_BranchPrediction, testUnlikely1) { zval *this_ptr = getThis(); + if (EXPECTED(1 == 1)) { RETURN_BOOL(1); } else { @@ -79,6 +89,14 @@ PHP_METHOD(Stub_BranchPrediction, testUnlikely2) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/branchprediction.zep.h b/ext/stub/branchprediction.zep.h index c0498a70ca..7ba6de0329 100644 --- a/ext/stub/branchprediction.zep.h +++ b/ext/stub/branchprediction.zep.h @@ -8,18 +8,32 @@ PHP_METHOD(Stub_BranchPrediction, testLikely2); PHP_METHOD(Stub_BranchPrediction, testUnlikely1); PHP_METHOD(Stub_BranchPrediction, testUnlikely2); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_branchprediction_testlikely1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_branchprediction_testlikely2, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_branchprediction_testunlikely1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_branchprediction_testunlikely2, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_branchprediction_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BranchPrediction, testLikely1, arginfo_stub_branchprediction_testlikely1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BranchPrediction, testLikely1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_BranchPrediction, testLikely2, arginfo_stub_branchprediction_testlikely2, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BranchPrediction, testUnlikely1, arginfo_stub_branchprediction_testunlikely1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BranchPrediction, testUnlikely1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_BranchPrediction, testUnlikely2, arginfo_stub_branchprediction_testunlikely2, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/builtin/arraymethods.zep.c b/ext/stub/builtin/arraymethods.zep.c index 26c6bf880b..685d574119 100644 --- a/ext/stub/builtin/arraymethods.zep.c +++ b/ext/stub/builtin/arraymethods.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_BuiltIn_ArrayMethods, getJoin1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -68,6 +69,7 @@ PHP_METHOD(Stub_BuiltIn_ArrayMethods, getReversed1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -99,6 +101,7 @@ PHP_METHOD(Stub_BuiltIn_ArrayMethods, getMap1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); diff --git a/ext/stub/builtin/arraymethods.zep.h b/ext/stub/builtin/arraymethods.zep.h index 39a2c8c54f..1e49dcbfc5 100644 --- a/ext/stub/builtin/arraymethods.zep.h +++ b/ext/stub/builtin/arraymethods.zep.h @@ -7,9 +7,30 @@ PHP_METHOD(Stub_BuiltIn_ArrayMethods, getJoin1); PHP_METHOD(Stub_BuiltIn_ArrayMethods, getReversed1); PHP_METHOD(Stub_BuiltIn_ArrayMethods, getMap1); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_arraymethods_getjoin1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_arraymethods_getreversed1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_arraymethods_getmap1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_builtin_arraymethods_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_ArrayMethods, getJoin1, arginfo_stub_builtin_arraymethods_getjoin1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_ArrayMethods, getJoin1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_ArrayMethods, getReversed1, arginfo_stub_builtin_arraymethods_getreversed1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_ArrayMethods, getReversed1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_ArrayMethods, getMap1, arginfo_stub_builtin_arraymethods_getmap1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_ArrayMethods, getMap1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/builtin/charmethods.zep.c b/ext/stub/builtin/charmethods.zep.c index eb4aa099b8..970250328d 100644 --- a/ext/stub/builtin/charmethods.zep.c +++ b/ext/stub/builtin/charmethods.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_BuiltIn_CharMethods, getHex) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -59,6 +60,14 @@ PHP_METHOD(Stub_BuiltIn_CharMethods, getHexForString) { ZVAL_UNDEF(&_1$$3); ZVAL_UNDEF(&_2$$3); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); diff --git a/ext/stub/builtin/charmethods.zep.h b/ext/stub/builtin/charmethods.zep.h index d621b7dd00..f3576f4dcb 100644 --- a/ext/stub/builtin/charmethods.zep.h +++ b/ext/stub/builtin/charmethods.zep.h @@ -6,16 +6,19 @@ ZEPHIR_INIT_CLASS(Stub_BuiltIn_CharMethods); PHP_METHOD(Stub_BuiltIn_CharMethods, getHex); PHP_METHOD(Stub_BuiltIn_CharMethods, getHexForString); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_charmethods_gethex, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_charmethods_gethexforstring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_builtin_charmethods_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_CharMethods, getHex, arginfo_stub_builtin_charmethods_gethex, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_CharMethods, getHex, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_BuiltIn_CharMethods, getHexForString, arginfo_stub_builtin_charmethods_gethexforstring, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/builtin/intmethods.zep.c b/ext/stub/builtin/intmethods.zep.c index 3c391bcb0e..cee3ebbef2 100644 --- a/ext/stub/builtin/intmethods.zep.c +++ b/ext/stub/builtin/intmethods.zep.c @@ -36,6 +36,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getAbs) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -60,6 +68,7 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getAbs1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, -5); @@ -78,6 +87,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getBinary) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -101,6 +118,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getHex) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -124,6 +149,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getOctal) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -148,6 +181,15 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getPow) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(num) + Z_PARAM_LONG(exp) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &num_param, &exp_param); @@ -171,6 +213,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getSqrt) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -191,6 +241,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getExp) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -212,6 +270,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getSin) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -230,6 +296,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getCos) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -248,6 +322,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getTan) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -268,6 +350,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getAsin) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -291,6 +381,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getAcos) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -314,6 +412,14 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getAtan) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); @@ -340,6 +446,16 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getLog) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_LONG(num) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(base) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &num_param, &base_param); diff --git a/ext/stub/builtin/intmethods.zep.h b/ext/stub/builtin/intmethods.zep.h index c44ce134b2..f73dae4ad3 100644 --- a/ext/stub/builtin/intmethods.zep.h +++ b/ext/stub/builtin/intmethods.zep.h @@ -20,130 +20,73 @@ PHP_METHOD(Stub_BuiltIn_IntMethods, getAtan); PHP_METHOD(Stub_BuiltIn_IntMethods, getLog); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getabs, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getabs1, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getbinary, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_gethex, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getoctal, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getpow, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, exp, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, exp) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getsqrt, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getexp, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getsin, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getcos, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_gettan, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getasin, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getacos, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getatan, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_intmethods_getlog, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, base, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, base) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_builtin_intmethods_method_entry) { PHP_ME(Stub_BuiltIn_IntMethods, getAbs, arginfo_stub_builtin_intmethods_getabs, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_IntMethods, getAbs1, arginfo_stub_builtin_intmethods_getabs1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_IntMethods, getAbs1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_BuiltIn_IntMethods, getBinary, arginfo_stub_builtin_intmethods_getbinary, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_IntMethods, getHex, arginfo_stub_builtin_intmethods_gethex, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_IntMethods, getOctal, arginfo_stub_builtin_intmethods_getoctal, ZEND_ACC_PUBLIC) diff --git a/ext/stub/builtin/stringmethods.zep.c b/ext/stub/builtin/stringmethods.zep.c index 3d169a6a2e..98ea5a038e 100644 --- a/ext/stub/builtin/stringmethods.zep.c +++ b/ext/stub/builtin/stringmethods.zep.c @@ -39,6 +39,16 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, camelize) { ZVAL_UNDEF(&delimiter_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(str) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(delimiter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &str_param, &delimiter); @@ -67,6 +77,16 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, uncamelize) { ZVAL_UNDEF(&delimiter_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(str) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(delimiter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &str_param, &delimiter); @@ -92,6 +112,7 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLength1) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -108,6 +129,7 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLength2) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -124,6 +146,7 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLength3) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -140,6 +163,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLength4) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -160,6 +191,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLength5) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -183,6 +222,15 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getIndex) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&needle); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(str) + Z_PARAM_STR(needle) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &str_param, &needle_param); @@ -209,6 +257,16 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getIndexWithPosition) { ZVAL_UNDEF(&needle); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_STR(str) + Z_PARAM_STR(needle) + Z_PARAM_LONG(position) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &str_param, &needle_param, &position_param); @@ -234,6 +292,7 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getTrimmed) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -253,6 +312,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getTrimmed1) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -275,6 +342,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLeftTrimmed) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -297,6 +372,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getRightTrimmed) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -319,6 +402,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLower) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -341,6 +432,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getUpper) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -364,6 +463,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getLowerFirst) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -386,6 +493,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getUpperFirst) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -410,6 +525,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getFormatted) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -434,6 +557,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getMd5) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -457,6 +588,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getSha1) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -480,6 +619,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getNl2br) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -503,6 +650,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getParsedCsv) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -527,6 +682,16 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getParsedJson) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(str) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(assoc) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &str_param, &assoc_param); @@ -557,6 +722,15 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getRepeatted) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(str) + Z_PARAM_LONG(count) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &str_param, &count_param); @@ -582,6 +756,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getShuffled) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -606,6 +788,15 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getSplited) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&del); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(str) + Z_PARAM_STR(del) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &str_param, &del_param); @@ -631,6 +822,15 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getCompare) { ZVAL_UNDEF(&left); ZVAL_UNDEF(&right); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(left) + Z_PARAM_STR(right) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &left_param, &right_param); @@ -656,6 +856,15 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getCompareLocale) { ZVAL_UNDEF(&left); ZVAL_UNDEF(&right); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(left) + Z_PARAM_STR(right) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &left_param, &right_param); @@ -680,6 +889,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getReversed) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -703,6 +920,14 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getHtmlSpecialChars) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); diff --git a/ext/stub/builtin/stringmethods.zep.h b/ext/stub/builtin/stringmethods.zep.h index 584a62cade..22cc2eb3e8 100644 --- a/ext/stub/builtin/stringmethods.zep.h +++ b/ext/stub/builtin/stringmethods.zep.h @@ -34,275 +34,159 @@ PHP_METHOD(Stub_BuiltIn_StringMethods, getCompareLocale); PHP_METHOD(Stub_BuiltIn_StringMethods, getReversed); PHP_METHOD(Stub_BuiltIn_StringMethods, getHtmlSpecialChars); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_builtin_stringmethods_camelize, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_builtin_stringmethods_camelize, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_ARG_INFO(0, delimiter) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_builtin_stringmethods_uncamelize, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_builtin_stringmethods_uncamelize, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_ARG_INFO(0, delimiter) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlength1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlength2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlength3, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlength4, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlength5, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getindex, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, needle) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getindexwithposition, 0, 0, 3) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, needle, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, needle) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, position, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, position) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_gettrimmed, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_gettrimmed1, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlefttrimmed, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getrighttrimmed, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlower, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getupper, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getlowerfirst, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getupperfirst, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getformatted, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getmd5, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getsha1, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getnl2br, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getparsedcsv, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getparsedjson, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, assoc, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, assoc) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getrepeatted, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, count) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getshuffled, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getsplited, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, del, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, del) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getcompare, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, left, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, left) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, right, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, right) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getcomparelocale, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, left, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, left) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, right, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, right) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_getreversed, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_builtin_stringmethods_gethtmlspecialchars, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_builtin_stringmethods_method_entry) { PHP_ME(Stub_BuiltIn_StringMethods, camelize, arginfo_stub_builtin_stringmethods_camelize, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_StringMethods, uncamelize, arginfo_stub_builtin_stringmethods_uncamelize, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_StringMethods, getLength1, arginfo_stub_builtin_stringmethods_getlength1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_StringMethods, getLength1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_StringMethods, getLength2, arginfo_stub_builtin_stringmethods_getlength2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_StringMethods, getLength2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_StringMethods, getLength3, arginfo_stub_builtin_stringmethods_getlength3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_StringMethods, getLength3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_BuiltIn_StringMethods, getLength4, arginfo_stub_builtin_stringmethods_getlength4, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_StringMethods, getLength5, arginfo_stub_builtin_stringmethods_getlength5, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_StringMethods, getIndex, arginfo_stub_builtin_stringmethods_getindex, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_StringMethods, getIndexWithPosition, arginfo_stub_builtin_stringmethods_getindexwithposition, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_BuiltIn_StringMethods, getTrimmed, arginfo_stub_builtin_stringmethods_gettrimmed, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_BuiltIn_StringMethods, getTrimmed, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_BuiltIn_StringMethods, getTrimmed1, arginfo_stub_builtin_stringmethods_gettrimmed1, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_StringMethods, getLeftTrimmed, arginfo_stub_builtin_stringmethods_getlefttrimmed, ZEND_ACC_PUBLIC) PHP_ME(Stub_BuiltIn_StringMethods, getRightTrimmed, arginfo_stub_builtin_stringmethods_getrighttrimmed, ZEND_ACC_PUBLIC) diff --git a/ext/stub/cast.zep.c b/ext/stub/cast.zep.c index 0fd09c2aca..987d194bf7 100644 --- a/ext/stub/cast.zep.c +++ b/ext/stub/cast.zep.c @@ -30,19 +30,20 @@ ZEPHIR_INIT_CLASS(Stub_Cast) { } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testCharCastFromChar) { zval *this_ptr = getThis(); + RETURN_LONG('a'); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testCharCastFromVariableChar) { @@ -51,6 +52,7 @@ PHP_METHOD(Stub_Cast, testCharCastFromVariableChar) { + a = 'A'; _0 = a; RETURN_LONG(_0); @@ -58,19 +60,20 @@ PHP_METHOD(Stub_Cast, testCharCastFromVariableChar) { } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testStringCastChar) { zval *this_ptr = getThis(); + RETURN_STRING("z"); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testStringCastVariableChar) { @@ -81,6 +84,7 @@ PHP_METHOD(Stub_Cast, testStringCastVariableChar) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 'X'; @@ -95,6 +99,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromFloat) { zval *this_ptr = getThis(); + RETURN_LONG((int) 5.0); } @@ -106,25 +111,27 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableFloat) { + a = 5.0; RETURN_LONG((int) (a)); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testIntCastFromChar) { zval *this_ptr = getThis(); + RETURN_LONG('A'); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testIntCastFromVariableChar) { @@ -133,6 +140,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableChar) { + a = 'a'; RETURN_LONG(a); @@ -143,6 +151,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromBooleanTrue) { zval *this_ptr = getThis(); + RETURN_LONG(1); } @@ -152,6 +161,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromBooleanFalse) { zval *this_ptr = getThis(); + RETURN_LONG(0); } @@ -163,6 +173,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableBooleanTrue) { + a = 1; RETURN_LONG((int) (a)); @@ -175,6 +186,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableBooleanFalse) { + a = 0; RETURN_LONG((int) (a)); @@ -188,6 +200,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableNull) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -204,6 +217,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromStringValue) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -221,6 +235,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableString) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -237,6 +252,14 @@ PHP_METHOD(Stub_Cast, testIntCastFromParameterString) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -253,6 +276,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromNull) { zval *this_ptr = getThis(); + RETURN_LONG(0); } @@ -265,6 +289,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableEmptyArray) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -281,6 +306,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromEmptyArray) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -298,6 +324,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableArray) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -328,6 +355,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromArray) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -360,6 +388,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromStdClass) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -380,6 +409,7 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableStdClass) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -389,19 +419,20 @@ PHP_METHOD(Stub_Cast, testIntCastFromVariableStdClass) { } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testLongCastFromChar) { zval *this_ptr = getThis(); + RETURN_LONG((long) 'a'); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testLongCastFromVariableChar) { @@ -410,6 +441,7 @@ PHP_METHOD(Stub_Cast, testLongCastFromVariableChar) { + a = 'A'; RETURN_LONG(a); @@ -420,6 +452,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromFloat) { zval *this_ptr = getThis(); + RETURN_DOUBLE(5.0); } @@ -431,6 +464,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableFloat) { + a = 5.0; RETURN_DOUBLE((double) (a)); @@ -441,6 +475,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromBooleanTrue) { zval *this_ptr = getThis(); + RETURN_DOUBLE(1); } @@ -450,6 +485,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromBooleanFalse) { zval *this_ptr = getThis(); + RETURN_DOUBLE(0); } @@ -461,6 +497,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableBooleanTrue) { + a = 1; RETURN_DOUBLE((double) (a)); @@ -473,6 +510,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableBooleanFalse) { + a = 0; RETURN_DOUBLE((double) (a)); @@ -486,6 +524,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableNull) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -499,6 +538,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromNull) { zval *this_ptr = getThis(); + RETURN_DOUBLE(0); } @@ -511,6 +551,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableEmptyArray) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -527,6 +568,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromEmptyArray) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -544,6 +586,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableArray) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -574,6 +617,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromArray) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -606,6 +650,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromStdClass) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -626,6 +671,7 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableStdClass) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -635,19 +681,20 @@ PHP_METHOD(Stub_Cast, testFloatCastFromVariableStdClass) { } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testDoubleCastFromVChar) { zval *this_ptr = getThis(); + RETURN_DOUBLE((double) 'a'); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testDoubleCastFromVariableChar) { @@ -656,6 +703,7 @@ PHP_METHOD(Stub_Cast, testDoubleCastFromVariableChar) { + a = 'A'; RETURN_DOUBLE((double) a); @@ -666,6 +714,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromIntTrue1) { zval *this_ptr = getThis(); + RETURN_BOOL((zend_bool) 1); } @@ -675,6 +724,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromIntTrue2) { zval *this_ptr = getThis(); + RETURN_BOOL((zend_bool) 1000); } @@ -684,6 +734,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromIntFalse) { zval *this_ptr = getThis(); + RETURN_BOOL((zend_bool) 0); } @@ -696,6 +747,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromObject) { ZVAL_UNDEF(&simpleObject); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&simpleObject); @@ -712,6 +764,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromEmptyArray) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -729,6 +782,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromArray) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -757,6 +811,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromNull) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -766,19 +821,20 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromNull) { } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testBooleanCastFromChar) { zval *this_ptr = getThis(); + RETURN_BOOL((zend_bool) 'a'); } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ PHP_METHOD(Stub_Cast, testBooleanCastFromVariableChar) { @@ -787,6 +843,7 @@ PHP_METHOD(Stub_Cast, testBooleanCastFromVariableChar) { + a = 'A'; RETURN_BOOL((zend_bool) a); @@ -800,6 +857,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromInt) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -817,6 +875,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromFloat) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -834,6 +893,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromFalse) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -851,6 +911,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromTrue) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -868,6 +929,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromNull) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -886,6 +948,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromEmptyArray) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -907,6 +970,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromArray) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -937,6 +1001,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromEmptyString) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -954,6 +1019,7 @@ PHP_METHOD(Stub_Cast, testObjectCastFromString) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -971,6 +1037,7 @@ PHP_METHOD(Stub_Cast, testCastStdinToInteger) { ZVAL_UNDEF(&handle); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&handle); @@ -987,6 +1054,7 @@ PHP_METHOD(Stub_Cast, testCastStdoutToInteger) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1002,6 +1070,14 @@ PHP_METHOD(Stub_Cast, testCastFileResourceToInteger) { zval *this_ptr = getThis(); ZVAL_UNDEF(&fileName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(fileName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &fileName); @@ -1023,6 +1099,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableArray) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1052,6 +1129,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableTrue) { ZVAL_UNDEF(&uids); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1072,6 +1150,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableFalse) { ZVAL_UNDEF(&uids); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1092,6 +1171,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableNull) { ZVAL_UNDEF(&uids); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1112,6 +1192,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableInteger) { ZVAL_UNDEF(&uids); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1132,6 +1213,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableFloat) { ZVAL_UNDEF(&uids); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1152,6 +1234,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableString) { ZVAL_UNDEF(&uids); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); @@ -1173,6 +1256,7 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableStdClass) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&uids); diff --git a/ext/stub/cast.zep.h b/ext/stub/cast.zep.h index 485a58f1cd..5679705561 100644 --- a/ext/stub/cast.zep.h +++ b/ext/stub/cast.zep.h @@ -74,437 +74,216 @@ PHP_METHOD(Stub_Cast, testArrayCastFromVariableFloat); PHP_METHOD(Stub_Cast, testArrayCastFromVariableString); PHP_METHOD(Stub_Cast, testArrayCastFromVariableStdClass); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcharcastfromchar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcharcastfromchar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcharcastfromvariablechar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcharcastfromvariablechar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_teststringcastchar, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_teststringcastchar, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_teststringcastvariablechar, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_teststringcastvariablechar, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromfloat, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromfloat, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablefloat, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablefloat, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromchar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromchar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablechar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablechar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfrombooleantrue, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfrombooleantrue, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfrombooleanfalse, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfrombooleanfalse, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablebooleantrue, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablebooleantrue, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablebooleanfalse, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablebooleanfalse, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablenull, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablenull, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromstringvalue, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromstringvalue, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablestring, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablestring, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromparameterstring, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromparameterstring, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromnull, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromnull, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariableemptyarray, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariableemptyarray, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromemptyarray, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromemptyarray, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablearray, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablearray, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromarray, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromarray, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromstdclass, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromstdclass, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablestdclass, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testintcastfromvariablestdclass, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testlongcastfromchar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testlongcastfromchar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testlongcastfromvariablechar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testlongcastfromvariablechar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromfloat, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromfloat, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablefloat, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablefloat, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfrombooleantrue, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfrombooleantrue, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfrombooleanfalse, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfrombooleanfalse, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablebooleantrue, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablebooleantrue, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablebooleanfalse, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablebooleanfalse, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablenull, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablenull, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromnull, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromnull, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariableemptyarray, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariableemptyarray, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromemptyarray, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromemptyarray, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablearray, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablearray, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromarray, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromarray, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromstdclass, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromstdclass, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablestdclass, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testfloatcastfromvariablestdclass, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testdoublecastfromvchar, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testdoublecastfromvchar, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testdoublecastfromvariablechar, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testdoublecastfromvariablechar, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfrominttrue1, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfrominttrue1, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfrominttrue2, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfrominttrue2, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromintfalse, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromintfalse, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromobject, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromobject, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromemptyarray, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromemptyarray, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromarray, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromarray, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromnull, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromnull, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromchar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromchar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromvariablechar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testbooleancastfromvariablechar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromfloat, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromfalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromtrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromnull, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromemptyarray, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromarray, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromemptystring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cast_testobjectcastfromstring, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcaststdintointeger, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcaststdintointeger, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcaststdouttointeger, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcaststdouttointeger, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcastfileresourcetointeger, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testcastfileresourcetointeger, 0, 1, IS_LONG, NULL, 0) -#endif ZEND_ARG_INFO(0, fileName) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablearray, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablearray, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariabletrue, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariabletrue, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablefalse, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablefalse, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablenull, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablenull, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariableinteger, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariableinteger, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablefloat, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablefloat, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablestring, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablestring, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablestdclass, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_cast_testarraycastfromvariablestdclass, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_cast_method_entry) { @@ -558,15 +337,51 @@ ZEPHIR_INIT_FUNCS(stub_cast_method_entry) { PHP_ME(Stub_Cast, testBooleanCastFromNull, arginfo_stub_cast_testbooleancastfromnull, ZEND_ACC_PUBLIC) PHP_ME(Stub_Cast, testBooleanCastFromChar, arginfo_stub_cast_testbooleancastfromchar, ZEND_ACC_PUBLIC) PHP_ME(Stub_Cast, testBooleanCastFromVariableChar, arginfo_stub_cast_testbooleancastfromvariablechar, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromInt, arginfo_stub_cast_testobjectcastfromint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromFloat, arginfo_stub_cast_testobjectcastfromfloat, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromFloat, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromFalse, arginfo_stub_cast_testobjectcastfromfalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromTrue, arginfo_stub_cast_testobjectcastfromtrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromNull, arginfo_stub_cast_testobjectcastfromnull, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromNull, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromEmptyArray, arginfo_stub_cast_testobjectcastfromemptyarray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromEmptyArray, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromArray, arginfo_stub_cast_testobjectcastfromarray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromArray, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromEmptyString, arginfo_stub_cast_testobjectcastfromemptystring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromEmptyString, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cast, testObjectCastFromString, arginfo_stub_cast_testobjectcastfromstring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cast, testObjectCastFromString, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Cast, testCastStdinToInteger, arginfo_stub_cast_testcaststdintointeger, ZEND_ACC_PUBLIC) PHP_ME(Stub_Cast, testCastStdoutToInteger, arginfo_stub_cast_testcaststdouttointeger, ZEND_ACC_PUBLIC) PHP_ME(Stub_Cast, testCastFileResourceToInteger, arginfo_stub_cast_testcastfileresourcetointeger, ZEND_ACC_PUBLIC) diff --git a/ext/stub/cblock.zep.c b/ext/stub/cblock.zep.c index 3b80e926a8..67c3470f86 100644 --- a/ext/stub/cblock.zep.c +++ b/ext/stub/cblock.zep.c @@ -51,6 +51,7 @@ PHP_METHOD(Stub_Cblock, testCblock1) { + a = 0; a = MAX_FACTOR; @@ -66,6 +67,7 @@ PHP_METHOD(Stub_Cblock, testCblock2) { + a = 0; a = fibonacci(MAX_FACTOR); diff --git a/ext/stub/cblock.zep.h b/ext/stub/cblock.zep.h index a13ff49de6..2787016396 100644 --- a/ext/stub/cblock.zep.h +++ b/ext/stub/cblock.zep.h @@ -6,8 +6,22 @@ ZEPHIR_INIT_CLASS(Stub_Cblock); PHP_METHOD(Stub_Cblock, testCblock1); PHP_METHOD(Stub_Cblock, testCblock2); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cblock_testcblock1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_cblock_testcblock2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_cblock_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cblock, testCblock1, arginfo_stub_cblock_testcblock1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cblock, testCblock1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Cblock, testCblock2, arginfo_stub_cblock_testcblock2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Cblock, testCblock2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/chars.zep.c b/ext/stub/chars.zep.c index 711183baef..a32e13946d 100644 --- a/ext/stub/chars.zep.c +++ b/ext/stub/chars.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Chars, sumChars1) { + ch = 'A'; chlower = (ch + 32); RETURN_LONG(chlower); @@ -47,6 +48,14 @@ PHP_METHOD(Stub_Chars, sumChars2) { char ch, chlower = 0; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(ch) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &ch_param); @@ -65,6 +74,7 @@ PHP_METHOD(Stub_Chars, diffChars1) { + ch = 'a'; chlower = (ch - 32); RETURN_LONG(chlower); @@ -77,6 +87,14 @@ PHP_METHOD(Stub_Chars, diffChars2) { char ch, chlower = 0; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(ch) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &ch_param); diff --git a/ext/stub/chars.zep.h b/ext/stub/chars.zep.h index f5e4a4b473..0de15250d1 100644 --- a/ext/stub/chars.zep.h +++ b/ext/stub/chars.zep.h @@ -8,42 +8,18 @@ PHP_METHOD(Stub_Chars, sumChars2); PHP_METHOD(Stub_Chars, diffChars1); PHP_METHOD(Stub_Chars, diffChars2); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_sumchars1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_sumchars1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_sumchars2, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_sumchars2, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, ch, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, ch) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_diffchars1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_diffchars1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_diffchars2, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_chars_diffchars2, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, ch, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, ch) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_chars_method_entry) { diff --git a/ext/stub/closures.zep.c b/ext/stub/closures.zep.c index 306963c307..d13e5199c1 100644 --- a/ext/stub/closures.zep.c +++ b/ext/stub/closures.zep.c @@ -31,6 +31,7 @@ PHP_METHOD(Stub_Closures, simple1) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_1__closure_ce, SL("__invoke")); return; @@ -41,6 +42,7 @@ PHP_METHOD(Stub_Closures, simple2) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_2__closure_ce, SL("__invoke")); return; @@ -51,6 +53,7 @@ PHP_METHOD(Stub_Closures, simple3) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_3__closure_ce, SL("__invoke")); return; @@ -61,6 +64,7 @@ PHP_METHOD(Stub_Closures, simple4) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_4__closure_ce, SL("__invoke")); return; @@ -71,6 +75,7 @@ PHP_METHOD(Stub_Closures, simple5) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_5__closure_ce, SL("__invoke")); return; @@ -81,6 +86,7 @@ PHP_METHOD(Stub_Closures, arrow1) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_6__closure_ce, SL("__invoke")); return; @@ -91,6 +97,7 @@ PHP_METHOD(Stub_Closures, arrow2) { zval *this_ptr = getThis(); + zephir_create_closure_ex(return_value, NULL, stub_7__closure_ce, SL("__invoke")); return; @@ -105,6 +112,7 @@ PHP_METHOD(Stub_Closures, testUseCommand) { ZVAL_UNDEF(&_0); + abc = 1; zephir_create_closure_ex(return_value, NULL, stub_8__closure_ce, SL("__invoke")); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -122,6 +130,14 @@ PHP_METHOD(Stub_Closures, issue1860) { zval *this_ptr = getThis(); ZVAL_UNDEF(&abc); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(abc) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &abc_param); diff --git a/ext/stub/closures.zep.h b/ext/stub/closures.zep.h index d5263ded54..e9e69f81a4 100644 --- a/ext/stub/closures.zep.h +++ b/ext/stub/closures.zep.h @@ -13,19 +13,75 @@ PHP_METHOD(Stub_Closures, arrow2); PHP_METHOD(Stub_Closures, testUseCommand); PHP_METHOD(Stub_Closures, issue1860); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_simple1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_simple2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_simple3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_simple4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_simple5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_arrow1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_arrow2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_testusecommand, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_closures_issue1860, 0, 0, 1) ZEND_ARG_ARRAY_INFO(0, abc, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_closures_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, simple1, arginfo_stub_closures_simple1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, simple1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, simple2, arginfo_stub_closures_simple2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, simple2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, simple3, arginfo_stub_closures_simple3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, simple3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, simple4, arginfo_stub_closures_simple4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, simple4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, simple5, arginfo_stub_closures_simple5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, simple5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, arrow1, arginfo_stub_closures_arrow1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, arrow1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, arrow2, arginfo_stub_closures_arrow2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, arrow2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Closures, testUseCommand, arginfo_stub_closures_testusecommand, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Closures, testUseCommand, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Closures, issue1860, arginfo_stub_closures_issue1860, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/compare.zep.c b/ext/stub/compare.zep.c index 27c8d98fd6..dbbe03c00e 100644 --- a/ext/stub/compare.zep.c +++ b/ext/stub/compare.zep.c @@ -35,6 +35,15 @@ PHP_METHOD(Stub_Compare, isLessInt) { zend_long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -52,6 +61,15 @@ PHP_METHOD(Stub_Compare, isGreaterEqual) { zend_long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -69,6 +87,15 @@ PHP_METHOD(Stub_Compare, isLessDouble) { double a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -86,6 +113,14 @@ PHP_METHOD(Stub_Compare, isLessThenPi) { double a; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -102,6 +137,14 @@ PHP_METHOD(Stub_Compare, isMoreThenPi) { double a; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -113,7 +156,7 @@ PHP_METHOD(Stub_Compare, isMoreThenPi) { } /** - * @link https://github.com/phalcon/zephir/issues/411 + * @link https://github.com/zephir-lang/zephir/issues/411 */ PHP_METHOD(Stub_Compare, testVarWithStringEquals) { @@ -123,6 +166,14 @@ PHP_METHOD(Stub_Compare, testVarWithStringEquals) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); @@ -166,6 +217,14 @@ PHP_METHOD(Stub_Compare, testVarEqualsNull) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -184,6 +243,14 @@ PHP_METHOD(Stub_Compare, testNullEqualsVar) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -203,6 +270,7 @@ PHP_METHOD(Stub_Compare, testNotIdenticalZeroVar) { + a = 5; RETURN_BOOL(0 != a); @@ -215,6 +283,7 @@ PHP_METHOD(Stub_Compare, testNotIdenticalZeroInt) { + a = 5; RETURN_BOOL(0 != a); @@ -227,6 +296,7 @@ PHP_METHOD(Stub_Compare, testNotIdenticalZeroLong) { + a = 5; RETURN_BOOL(0 != a); diff --git a/ext/stub/compare.zep.h b/ext/stub/compare.zep.h index 4405ef582e..71df3fed42 100644 --- a/ext/stub/compare.zep.h +++ b/ext/stub/compare.zep.h @@ -16,66 +16,30 @@ PHP_METHOD(Stub_Compare, testNotIdenticalZeroInt); PHP_METHOD(Stub_Compare, testNotIdenticalZeroLong); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_islessint, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_isgreaterequal, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_islessdouble, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_islessthenpi, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_ismorethenpi, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_testvarwithstringequals, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_testvarequalsnull, 0, 0, 1) @@ -86,6 +50,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_testnullequalsvar, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_testnotidenticalzerovar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_testnotidenticalzeroint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_compare_testnotidenticalzerolong, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_compare_method_entry) { PHP_ME(Stub_Compare, isLessInt, arginfo_stub_compare_islessint, ZEND_ACC_PUBLIC) PHP_ME(Stub_Compare, isGreaterEqual, arginfo_stub_compare_isgreaterequal, ZEND_ACC_PUBLIC) @@ -95,8 +68,20 @@ ZEPHIR_INIT_FUNCS(stub_compare_method_entry) { PHP_ME(Stub_Compare, testVarWithStringEquals, arginfo_stub_compare_testvarwithstringequals, ZEND_ACC_PUBLIC) PHP_ME(Stub_Compare, testVarEqualsNull, arginfo_stub_compare_testvarequalsnull, ZEND_ACC_PUBLIC) PHP_ME(Stub_Compare, testNullEqualsVar, arginfo_stub_compare_testnullequalsvar, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Compare, testNotIdenticalZeroVar, arginfo_stub_compare_testnotidenticalzerovar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Compare, testNotIdenticalZeroVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Compare, testNotIdenticalZeroInt, arginfo_stub_compare_testnotidenticalzeroint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Compare, testNotIdenticalZeroInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Compare, testNotIdenticalZeroLong, arginfo_stub_compare_testnotidenticalzerolong, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Compare, testNotIdenticalZeroLong, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/concat.zep.c b/ext/stub/concat.zep.c index 837245a91c..42e6767114 100644 --- a/ext/stub/concat.zep.c +++ b/ext/stub/concat.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Concat, getTestProperty) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_concat_ce, SL("testProperty"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -50,6 +51,14 @@ PHP_METHOD(Stub_Concat, testConcatBySelfProperty) { ZVAL_UNDEF(&title); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(title) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &title_param); @@ -75,6 +84,7 @@ PHP_METHOD(Stub_Concat, testConcat1) { ZVAL_UNDEF(&url); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); @@ -97,6 +107,7 @@ PHP_METHOD(Stub_Concat, testConcat2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); @@ -115,7 +126,7 @@ PHP_METHOD(Stub_Concat, testConcat2) { } /** - * @link https://github.com/phalcon/zephir/issues/1573 + * @link https://github.com/zephir-lang/zephir/issues/1573 */ PHP_METHOD(Stub_Concat, testConcat3) { @@ -126,6 +137,7 @@ PHP_METHOD(Stub_Concat, testConcat3) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -138,7 +150,7 @@ PHP_METHOD(Stub_Concat, testConcat3) { } /** - * @link https://github.com/phalcon/zephir/issues/1893 + * @link https://github.com/zephir-lang/zephir/issues/1893 */ PHP_METHOD(Stub_Concat, testConcat4) { @@ -154,6 +166,14 @@ PHP_METHOD(Stub_Concat, testConcat4) { ZVAL_UNDEF(&query); ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value); @@ -179,7 +199,7 @@ PHP_METHOD(Stub_Concat, testConcat4) { } /** - * @link https://github.com/phalcon/zephir/issues/1893 + * @link https://github.com/zephir-lang/zephir/issues/1893 */ PHP_METHOD(Stub_Concat, testConcat5) { @@ -192,6 +212,14 @@ PHP_METHOD(Stub_Concat, testConcat5) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&retval); ZVAL_UNDEF(&left); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(number) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &number_param); diff --git a/ext/stub/concat.zep.h b/ext/stub/concat.zep.h index fb937cbf11..751d2c51b5 100644 --- a/ext/stub/concat.zep.h +++ b/ext/stub/concat.zep.h @@ -11,70 +11,29 @@ PHP_METHOD(Stub_Concat, testConcat3); PHP_METHOD(Stub_Concat, testConcat4); PHP_METHOD(Stub_Concat, testConcat5); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_gettestproperty, 0, 0, IS_STRING, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_gettestproperty, 0, 0, IS_STRING, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcatbyselfproperty, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcatbyselfproperty, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_concat_testconcatbyselfproperty, 0, 0, 1) -#define arginfo_stub_concat_testconcatbyselfproperty NULL -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, title, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, title) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat1, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat1, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat2, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat2, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat3, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat3, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat4, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat4, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat5, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_concat_testconcat5, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, number, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, number) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_concat_method_entry) { diff --git a/ext/stub/constants.zep.c b/ext/stub/constants.zep.c index ed6e4d89e0..35a306b174 100644 --- a/ext/stub/constants.zep.c +++ b/ext/stub/constants.zep.c @@ -86,6 +86,7 @@ PHP_METHOD(Stub_Constants, getPropWsVarsGet) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propWsVarsGet"); } @@ -95,6 +96,7 @@ PHP_METHOD(Stub_Constants, getPropertyC1) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC1"); } @@ -104,6 +106,7 @@ PHP_METHOD(Stub_Constants, getPropertyC2) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC2"); } @@ -113,6 +116,7 @@ PHP_METHOD(Stub_Constants, getPropertyC3) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC3"); } @@ -122,6 +126,7 @@ PHP_METHOD(Stub_Constants, getPropertyC4) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC4"); } @@ -131,6 +136,7 @@ PHP_METHOD(Stub_Constants, getPropertyC5) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC5"); } @@ -140,6 +146,7 @@ PHP_METHOD(Stub_Constants, getPropertyC6) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC6"); } @@ -149,6 +156,7 @@ PHP_METHOD(Stub_Constants, getPropertyC7) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC7"); } @@ -158,6 +166,7 @@ PHP_METHOD(Stub_Constants, getPropertyC8) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC8"); } @@ -169,6 +178,7 @@ PHP_METHOD(Stub_Constants, getPropertyC9) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propertyC9"); } @@ -178,6 +188,7 @@ PHP_METHOD(Stub_Constants, testReadConstant) { zval *this_ptr = getThis(); + RETURN_LONG(3); } @@ -187,6 +198,7 @@ PHP_METHOD(Stub_Constants, testReadClassConstant1) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -196,6 +208,7 @@ PHP_METHOD(Stub_Constants, testReadClassConstant2) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -205,6 +218,7 @@ PHP_METHOD(Stub_Constants, testReadClassConstant3) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -214,6 +228,7 @@ PHP_METHOD(Stub_Constants, testPHPVersionEnvConstant) { zval *this_ptr = getThis(); + ZEPHIR_GET_CONSTANT(return_value, "PHP_VERSION"); return; @@ -224,6 +239,7 @@ PHP_METHOD(Stub_Constants, testClassMagicConstant) { zval *this_ptr = getThis(); + RETURN_STRING("Stub\\Constants"); } @@ -233,6 +249,7 @@ PHP_METHOD(Stub_Constants, testMethodMagicConstant) { zval *this_ptr = getThis(); + RETURN_STRING("Constants:testMethodMagicConstant"); } @@ -242,6 +259,7 @@ PHP_METHOD(Stub_Constants, testFunctionMagicConstant) { zval *this_ptr = getThis(); + RETURN_STRING("testFunctionMagicConstant"); } @@ -251,6 +269,7 @@ PHP_METHOD(Stub_Constants, testNamespaceMagicConstant) { zval *this_ptr = getThis(); + RETURN_STRING("Stub"); } @@ -260,6 +279,7 @@ PHP_METHOD(Stub_Constants, testDirConstant) { zval *this_ptr = getThis(); + RETURN_NULL(); } @@ -272,6 +292,7 @@ PHP_METHOD(Stub_Constants, testPHPVersionEnvConstantInExpValue) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -283,7 +304,7 @@ PHP_METHOD(Stub_Constants, testPHPVersionEnvConstantInExpValue) { /** * Test Delimiters as String Constants * - * @link https://github.com/phalcon/zephir/issues/1571 + * @link https://github.com/zephir-lang/zephir/issues/1571 */ PHP_METHOD(Stub_Constants, testStringDelimiterConstantDoubleQuoted) { @@ -293,6 +314,7 @@ PHP_METHOD(Stub_Constants, testStringDelimiterConstantDoubleQuoted) { ZVAL_UNDEF(&delimiter); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&delimiter); @@ -309,6 +331,7 @@ PHP_METHOD(Stub_Constants, testStringConstantWithVars) { ZVAL_UNDEF(&property); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&property); @@ -322,6 +345,7 @@ PHP_METHOD(Stub_Constants, testStringPropertyWithVarsAssigned) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propWsVarsAssigned"); } @@ -331,6 +355,7 @@ PHP_METHOD(Stub_Constants, testStringPropertyWithVarsGet) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propWsVarsGet"); } diff --git a/ext/stub/constants.zep.h b/ext/stub/constants.zep.h index e13f8080bb..1c7f8c870d 100644 --- a/ext/stub/constants.zep.h +++ b/ext/stub/constants.zep.h @@ -29,31 +29,206 @@ PHP_METHOD(Stub_Constants, testStringConstantWithVars); PHP_METHOD(Stub_Constants, testStringPropertyWithVarsAssigned); PHP_METHOD(Stub_Constants, testStringPropertyWithVarsGet); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropwsvarsget, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_getpropertyc9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testreadconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testreadclassconstant1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testreadclassconstant2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testreadclassconstant3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testphpversionenvconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testclassmagicconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testmethodmagicconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testfunctionmagicconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testnamespacemagicconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testdirconstant, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_testphpversionenvconstantinexpvalue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_teststringdelimiterconstantdoublequoted, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_teststringconstantwithvars, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_teststringpropertywithvarsassigned, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constants_teststringpropertywithvarsget, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_constants_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropWsVarsGet, arginfo_stub_constants_getpropwsvarsget, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropWsVarsGet, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC1, arginfo_stub_constants_getpropertyc1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC2, arginfo_stub_constants_getpropertyc2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC3, arginfo_stub_constants_getpropertyc3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC4, arginfo_stub_constants_getpropertyc4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC5, arginfo_stub_constants_getpropertyc5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC6, arginfo_stub_constants_getpropertyc6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC7, arginfo_stub_constants_getpropertyc7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC8, arginfo_stub_constants_getpropertyc8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, getPropertyC9, arginfo_stub_constants_getpropertyc9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, getPropertyC9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testReadConstant, arginfo_stub_constants_testreadconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testReadConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testReadClassConstant1, arginfo_stub_constants_testreadclassconstant1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testReadClassConstant1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testReadClassConstant2, arginfo_stub_constants_testreadclassconstant2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testReadClassConstant2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testReadClassConstant3, arginfo_stub_constants_testreadclassconstant3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testReadClassConstant3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testPHPVersionEnvConstant, arginfo_stub_constants_testphpversionenvconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testPHPVersionEnvConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testClassMagicConstant, arginfo_stub_constants_testclassmagicconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testClassMagicConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testMethodMagicConstant, arginfo_stub_constants_testmethodmagicconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testMethodMagicConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testFunctionMagicConstant, arginfo_stub_constants_testfunctionmagicconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testFunctionMagicConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testNamespaceMagicConstant, arginfo_stub_constants_testnamespacemagicconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testNamespaceMagicConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testDirConstant, arginfo_stub_constants_testdirconstant, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testDirConstant, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testPHPVersionEnvConstantInExpValue, arginfo_stub_constants_testphpversionenvconstantinexpvalue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testPHPVersionEnvConstantInExpValue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testStringDelimiterConstantDoubleQuoted, arginfo_stub_constants_teststringdelimiterconstantdoublequoted, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testStringDelimiterConstantDoubleQuoted, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testStringConstantWithVars, arginfo_stub_constants_teststringconstantwithvars, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testStringConstantWithVars, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testStringPropertyWithVarsAssigned, arginfo_stub_constants_teststringpropertywithvarsassigned, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testStringPropertyWithVarsAssigned, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Constants, testStringPropertyWithVarsGet, arginfo_stub_constants_teststringpropertywithvarsget, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Constants, testStringPropertyWithVarsGet, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/constantsinterface.zep.c b/ext/stub/constantsinterface.zep.c index d456ff8260..ef314d3e22 100644 --- a/ext/stub/constantsinterface.zep.c +++ b/ext/stub/constantsinterface.zep.c @@ -29,6 +29,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInterfaceConstant1) { zval *this_ptr = getThis(); + RETURN_NULL(); } @@ -38,6 +39,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInterfaceConstant2) { zval *this_ptr = getThis(); + RETURN_BOOL(0); } @@ -47,6 +49,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInterfaceConstant3) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -56,6 +59,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInterfaceConstant4) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -65,6 +69,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInterfaceConstant5) { zval *this_ptr = getThis(); + RETURN_DOUBLE(10.25); } @@ -74,6 +79,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInterfaceConstant6) { zval *this_ptr = getThis(); + RETURN_STRING("test"); } @@ -83,6 +89,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant1) { zval *this_ptr = getThis(); + RETURN_NULL(); } @@ -92,6 +99,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant2) { zval *this_ptr = getThis(); + RETURN_BOOL(0); } @@ -101,6 +109,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant3) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -110,6 +119,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant4) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -119,6 +129,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant5) { zval *this_ptr = getThis(); + RETURN_DOUBLE(10.25); } @@ -128,6 +139,7 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant6) { zval *this_ptr = getThis(); + RETURN_STRING("test"); } diff --git a/ext/stub/constantsinterface.zep.h b/ext/stub/constantsinterface.zep.h index 9c257fe973..e9a940d24a 100644 --- a/ext/stub/constantsinterface.zep.h +++ b/ext/stub/constantsinterface.zep.h @@ -16,18 +16,102 @@ PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant4); PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant5); PHP_METHOD(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant6); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinterfaceconstant1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinterfaceconstant2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinterfaceconstant3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinterfaceconstant4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinterfaceconstant5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinterfaceconstant6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant6, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_constantsinterface_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant1, arginfo_stub_constantsinterface_testreadinterfaceconstant1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant2, arginfo_stub_constantsinterface_testreadinterfaceconstant2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant3, arginfo_stub_constantsinterface_testreadinterfaceconstant3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant4, arginfo_stub_constantsinterface_testreadinterfaceconstant4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant5, arginfo_stub_constantsinterface_testreadinterfaceconstant5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant6, arginfo_stub_constantsinterface_testreadinterfaceconstant6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInterfaceConstant6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant1, arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant2, arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant3, arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant4, arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant5, arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant6, arginfo_stub_constantsinterface_testreadinheritancefrominterfaceconstant6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterface, testReadInheritanceFromInterfaceConstant6, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/constantsinterfacea.zep.c b/ext/stub/constantsinterfacea.zep.c index 556d231c81..3cdeb1dc8d 100644 --- a/ext/stub/constantsinterfacea.zep.c +++ b/ext/stub/constantsinterfacea.zep.c @@ -29,6 +29,7 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant1) { zval *this_ptr = getThis(); + RETURN_NULL(); } @@ -38,6 +39,7 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant2) { zval *this_ptr = getThis(); + RETURN_BOOL(0); } @@ -47,6 +49,7 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant3) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -56,6 +59,7 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant4) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -65,6 +69,7 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant5) { zval *this_ptr = getThis(); + RETURN_DOUBLE(10.25); } @@ -74,6 +79,7 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant6) { zval *this_ptr = getThis(); + RETURN_STRING("test"); } diff --git a/ext/stub/constantsinterfacea.zep.h b/ext/stub/constantsinterfacea.zep.h index 19125e8024..b332767b6a 100644 --- a/ext/stub/constantsinterfacea.zep.h +++ b/ext/stub/constantsinterfacea.zep.h @@ -10,12 +10,54 @@ PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant4); PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant5); PHP_METHOD(Stub_ConstantsInterfaceA, testReadInterfaceConstant6); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfacea_testreadinterfaceconstant1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfacea_testreadinterfaceconstant2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfacea_testreadinterfaceconstant3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfacea_testreadinterfaceconstant4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfacea_testreadinterfaceconstant5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfacea_testreadinterfaceconstant6, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_constantsinterfacea_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant1, arginfo_stub_constantsinterfacea_testreadinterfaceconstant1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant2, arginfo_stub_constantsinterfacea_testreadinterfaceconstant2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant3, arginfo_stub_constantsinterfacea_testreadinterfaceconstant3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant4, arginfo_stub_constantsinterfacea_testreadinterfaceconstant4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant5, arginfo_stub_constantsinterfacea_testreadinterfaceconstant5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant6, arginfo_stub_constantsinterfacea_testreadinterfaceconstant6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceA, testReadInterfaceConstant6, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/constantsinterfaceb.zep.c b/ext/stub/constantsinterfaceb.zep.c index d0b797eafa..627adf4562 100644 --- a/ext/stub/constantsinterfaceb.zep.c +++ b/ext/stub/constantsinterfaceb.zep.c @@ -29,6 +29,7 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant1) { zval *this_ptr = getThis(); + RETURN_NULL(); } @@ -38,6 +39,7 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant2) { zval *this_ptr = getThis(); + RETURN_BOOL(0); } @@ -47,6 +49,7 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant3) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -56,6 +59,7 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant4) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -65,6 +69,7 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant5) { zval *this_ptr = getThis(); + RETURN_DOUBLE(10.25); } @@ -74,6 +79,7 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant6) { zval *this_ptr = getThis(); + RETURN_STRING("test"); } diff --git a/ext/stub/constantsinterfaceb.zep.h b/ext/stub/constantsinterfaceb.zep.h index e7a57fc414..a643c4dc33 100644 --- a/ext/stub/constantsinterfaceb.zep.h +++ b/ext/stub/constantsinterfaceb.zep.h @@ -10,12 +10,54 @@ PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant4); PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant5); PHP_METHOD(Stub_ConstantsInterfaceB, testReadInterfaceConstant6); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfaceb_testreadinterfaceconstant1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfaceb_testreadinterfaceconstant2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfaceb_testreadinterfaceconstant3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfaceb_testreadinterfaceconstant4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfaceb_testreadinterfaceconstant5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_constantsinterfaceb_testreadinterfaceconstant6, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_constantsinterfaceb_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant1, arginfo_stub_constantsinterfaceb_testreadinterfaceconstant1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant2, arginfo_stub_constantsinterfaceb_testreadinterfaceconstant2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant3, arginfo_stub_constantsinterfaceb_testreadinterfaceconstant3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant4, arginfo_stub_constantsinterfaceb_testreadinterfaceconstant4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant5, arginfo_stub_constantsinterfaceb_testreadinterfaceconstant5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant6, arginfo_stub_constantsinterfaceb_testreadinterfaceconstant6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ConstantsInterfaceB, testReadInterfaceConstant6, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/declaretest.zep.c b/ext/stub/declaretest.zep.c index 5979363a54..a252963fc7 100644 --- a/ext/stub/declaretest.zep.c +++ b/ext/stub/declaretest.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_DeclareTest, testStringDeclare1) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -52,6 +53,7 @@ PHP_METHOD(Stub_DeclareTest, testStringDeclare2) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -67,6 +69,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare1) { + a = 1; RETURN_LONG(a); @@ -79,6 +82,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare2) { + a = 1; RETURN_LONG(a); @@ -91,6 +95,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare3) { + a = 1.0; RETURN_DOUBLE(a); @@ -103,6 +108,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare4) { + a = 1.0; RETURN_DOUBLE(a); @@ -115,6 +121,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare5) { + a = 'A'; RETURN_LONG(a); @@ -127,6 +134,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare6) { + a = 'A'; RETURN_LONG(a); @@ -139,6 +147,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare7) { + a = 1; RETURN_LONG(a); @@ -151,6 +160,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare8) { + a = 1; RETURN_BOOL(a); @@ -163,6 +173,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare9) { + a = 0; RETURN_BOOL(a); @@ -175,6 +186,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare10) { + a = 10; RETURN_LONG(a); @@ -187,6 +199,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare11) { + a = 10.5; RETURN_DOUBLE(a); @@ -199,6 +212,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare12) { + a = 0; RETURN_BOOL(a); @@ -211,6 +225,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare13) { + a = 1; RETURN_BOOL(a); @@ -224,6 +239,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare14) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -240,6 +256,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclare15) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -257,6 +274,7 @@ PHP_METHOD(Stub_DeclareTest, testDeclareMcallExpression) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_METHOD(&a, this_ptr, "testdeclare14", NULL, 0); diff --git a/ext/stub/declaretest.zep.h b/ext/stub/declaretest.zep.h index 4cba089ffc..bd341be029 100644 --- a/ext/stub/declaretest.zep.h +++ b/ext/stub/declaretest.zep.h @@ -22,24 +22,150 @@ PHP_METHOD(Stub_DeclareTest, testDeclare14); PHP_METHOD(Stub_DeclareTest, testDeclare15); PHP_METHOD(Stub_DeclareTest, testDeclareMcallExpression); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_teststringdeclare1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_teststringdeclare2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare11, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare12, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare14, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclare15, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_declaretest_testdeclaremcallexpression, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_declaretest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testStringDeclare1, arginfo_stub_declaretest_teststringdeclare1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testStringDeclare1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testStringDeclare2, arginfo_stub_declaretest_teststringdeclare2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testStringDeclare2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare1, arginfo_stub_declaretest_testdeclare1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare2, arginfo_stub_declaretest_testdeclare2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare3, arginfo_stub_declaretest_testdeclare3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare4, arginfo_stub_declaretest_testdeclare4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare5, arginfo_stub_declaretest_testdeclare5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare6, arginfo_stub_declaretest_testdeclare6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare7, arginfo_stub_declaretest_testdeclare7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare8, arginfo_stub_declaretest_testdeclare8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare9, arginfo_stub_declaretest_testdeclare9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare10, arginfo_stub_declaretest_testdeclare10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare11, arginfo_stub_declaretest_testdeclare11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare11, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare12, arginfo_stub_declaretest_testdeclare12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare12, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare13, arginfo_stub_declaretest_testdeclare13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare14, arginfo_stub_declaretest_testdeclare14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare14, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclare15, arginfo_stub_declaretest_testdeclare15, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclare15, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_DeclareTest, testDeclareMcallExpression, arginfo_stub_declaretest_testdeclaremcallexpression, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_DeclareTest, testDeclareMcallExpression, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/diinterface.zep.c b/ext/stub/diinterface.zep.c index f82932b46e..847a1e9e9e 100644 --- a/ext/stub/diinterface.zep.c +++ b/ext/stub/diinterface.zep.c @@ -21,4 +21,3 @@ ZEPHIR_INIT_CLASS(Stub_DiInterface) { } ZEPHIR_DOC_METHOD(Stub_DiInterface, getShared); - diff --git a/ext/stub/echoes.zep.c b/ext/stub/echoes.zep.c index ff752dad7c..058cd9be8c 100644 --- a/ext/stub/echoes.zep.c +++ b/ext/stub/echoes.zep.c @@ -31,6 +31,7 @@ PHP_METHOD(Stub_Echoes, testEcho1) { zval *this_ptr = getThis(); + php_printf("%d", 1); } @@ -40,6 +41,7 @@ PHP_METHOD(Stub_Echoes, testEcho2) { zval *this_ptr = getThis(); + php_printf("%f", 1.0); } @@ -49,6 +51,7 @@ PHP_METHOD(Stub_Echoes, testEcho3) { zval *this_ptr = getThis(); + php_printf("%s", 1 ? "1": ""); } @@ -58,6 +61,7 @@ PHP_METHOD(Stub_Echoes, testEcho4) { zval *this_ptr = getThis(); + php_printf("%s", 0 ? "1": ""); } @@ -67,6 +71,7 @@ PHP_METHOD(Stub_Echoes, testEcho5) { zval *this_ptr = getThis(); + php_printf("%s", "hello"); } diff --git a/ext/stub/echoes.zep.h b/ext/stub/echoes.zep.h index e3d7790d41..01b93baf47 100644 --- a/ext/stub/echoes.zep.h +++ b/ext/stub/echoes.zep.h @@ -9,11 +9,46 @@ PHP_METHOD(Stub_Echoes, testEcho3); PHP_METHOD(Stub_Echoes, testEcho4); PHP_METHOD(Stub_Echoes, testEcho5); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_echoes_testecho1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_echoes_testecho2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_echoes_testecho3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_echoes_testecho4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_echoes_testecho5, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_echoes_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Echoes, testEcho1, arginfo_stub_echoes_testecho1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Echoes, testEcho1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Echoes, testEcho2, arginfo_stub_echoes_testecho2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Echoes, testEcho2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Echoes, testEcho3, arginfo_stub_echoes_testecho3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Echoes, testEcho3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Echoes, testEcho4, arginfo_stub_echoes_testecho4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Echoes, testEcho4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Echoes, testEcho5, arginfo_stub_echoes_testecho5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Echoes, testEcho5, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/emptytest.zep.c b/ext/stub/emptytest.zep.c index 1d7ad671df..6488ed865a 100644 --- a/ext/stub/emptytest.zep.c +++ b/ext/stub/emptytest.zep.c @@ -40,6 +40,7 @@ PHP_METHOD(Stub_EmptyTest, testDynamicVarArrayEmpty) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -57,6 +58,7 @@ PHP_METHOD(Stub_EmptyTest, testDynamicVarArrayNotEmpty) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -85,6 +87,7 @@ PHP_METHOD(Stub_EmptyTest, testEmptyString) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -101,6 +104,7 @@ PHP_METHOD(Stub_EmptyTest, testNotEmptyString) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -117,6 +121,14 @@ PHP_METHOD(Stub_EmptyTest, testString) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); diff --git a/ext/stub/emptytest.zep.h b/ext/stub/emptytest.zep.h index dd2f0f2718..4a39df105a 100644 --- a/ext/stub/emptytest.zep.h +++ b/ext/stub/emptytest.zep.h @@ -9,19 +9,43 @@ PHP_METHOD(Stub_EmptyTest, testEmptyString); PHP_METHOD(Stub_EmptyTest, testNotEmptyString); PHP_METHOD(Stub_EmptyTest, testString); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_emptytest_testdynamicvararrayempty, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_emptytest_testdynamicvararraynotempty, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_emptytest_testemptystring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_emptytest_testnotemptystring, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_emptytest_teststring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_emptytest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_EmptyTest, testDynamicVarArrayEmpty, arginfo_stub_emptytest_testdynamicvararrayempty, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_EmptyTest, testDynamicVarArrayEmpty, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_EmptyTest, testDynamicVarArrayNotEmpty, arginfo_stub_emptytest_testdynamicvararraynotempty, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_EmptyTest, testDynamicVarArrayNotEmpty, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_EmptyTest, testEmptyString, arginfo_stub_emptytest_testemptystring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_EmptyTest, testEmptyString, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_EmptyTest, testNotEmptyString, arginfo_stub_emptytest_testnotemptystring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_EmptyTest, testNotEmptyString, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_EmptyTest, testString, arginfo_stub_emptytest_teststring, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/evaltest.zep.c b/ext/stub/evaltest.zep.c index bf47141935..552b477702 100644 --- a/ext/stub/evaltest.zep.c +++ b/ext/stub/evaltest.zep.c @@ -34,6 +34,14 @@ PHP_METHOD(Stub_EvalTest, evalCode) { zval *this_ptr = getThis(); ZVAL_UNDEF(&code); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(code) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &code_param); diff --git a/ext/stub/evaltest.zep.h b/ext/stub/evaltest.zep.h index c8713ca237..e163cbd860 100644 --- a/ext/stub/evaltest.zep.h +++ b/ext/stub/evaltest.zep.h @@ -6,11 +6,7 @@ ZEPHIR_INIT_CLASS(Stub_EvalTest); PHP_METHOD(Stub_EvalTest, evalCode); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_evaltest_evalcode, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, code, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, code) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_evaltest_method_entry) { diff --git a/ext/stub/exception.zep.c b/ext/stub/exception.zep.c index 4a28f103c2..43f339c805 100644 --- a/ext/stub/exception.zep.c +++ b/ext/stub/exception.zep.c @@ -24,14 +24,14 @@ */ ZEPHIR_INIT_CLASS(Stub_Exception) { - ZEPHIR_REGISTER_CLASS_EX(Stub, Exception, stub, exception, zend_exception_get_default(TSRMLS_C), stub_exception_method_entry, 0); + ZEPHIR_REGISTER_CLASS_EX(Stub, Exception, stub, exception, zend_ce_exception, stub_exception_method_entry, 0); return SUCCESS; } /** - * @link https://github.com/phalcon/zephir/issues/915 + * @link https://github.com/zephir-lang/zephir/issues/915 */ PHP_METHOD(Stub_Exception, testRuntimePropertyFetch) { @@ -41,6 +41,14 @@ PHP_METHOD(Stub_Exception, testRuntimePropertyFetch) { zval *this_ptr = getThis(); ZVAL_UNDEF(&message); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(message) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &message_param); diff --git a/ext/stub/exception.zep.h b/ext/stub/exception.zep.h index 26bdfc9d17..4575b0da63 100644 --- a/ext/stub/exception.zep.h +++ b/ext/stub/exception.zep.h @@ -6,11 +6,7 @@ ZEPHIR_INIT_CLASS(Stub_Exception); PHP_METHOD(Stub_Exception, testRuntimePropertyFetch); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exception_testruntimepropertyfetch, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, message, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, message) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_exception_method_entry) { diff --git a/ext/stub/exceptions.zep.c b/ext/stub/exceptions.zep.c index 9a7ae8a678..7ec8ef19da 100644 --- a/ext/stub/exceptions.zep.c +++ b/ext/stub/exceptions.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_Exceptions, testException1) { zval *this_ptr = getThis(); + ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(stub_exception_ce, "hello1", "stub/exceptions.zep", 11); return; @@ -47,6 +48,7 @@ PHP_METHOD(Stub_Exceptions, testExceptionStringEscape) { zval *this_ptr = getThis(); + ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(stub_exception_ce, "hello \"simple code\" test", "stub/exceptions.zep", 16); return; @@ -62,6 +64,7 @@ PHP_METHOD(Stub_Exceptions, testException2) { ZVAL_UNDEF(&msg); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&msg); @@ -86,6 +89,7 @@ PHP_METHOD(Stub_Exceptions, testException3) { ZVAL_UNDEF(&ex); ZVAL_UNDEF(&msg); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&msg); @@ -109,6 +113,7 @@ PHP_METHOD(Stub_Exceptions, getException) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); object_init_ex(return_value, stub_exception_ce); @@ -129,6 +134,7 @@ PHP_METHOD(Stub_Exceptions, testException4) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_METHOD(&_0, this_ptr, "getexception", NULL, 0); @@ -149,6 +155,7 @@ PHP_METHOD(Stub_Exceptions, testException5) { ZVAL_UNDEF(&exception); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&exception); @@ -171,6 +178,14 @@ PHP_METHOD(Stub_Exceptions, testExceptionLiteral) { zval *this_ptr = getThis(); ZVAL_UNDEF(&type); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(type) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &type_param); @@ -180,19 +195,19 @@ PHP_METHOD(Stub_Exceptions, testExceptionLiteral) { do { if (ZEPHIR_IS_STRING(&type, "string")) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "Test", "stub/exceptions.zep", 56); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_ce_exception, "Test", "stub/exceptions.zep", 56); return; } if (ZEPHIR_IS_STRING(&type, "char")) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "t", "stub/exceptions.zep", 58); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_ce_exception, "t", "stub/exceptions.zep", 58); return; } if (ZEPHIR_IS_STRING(&type, "int")) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "123", "stub/exceptions.zep", 60); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_ce_exception, "123", "stub/exceptions.zep", 60); return; } if (ZEPHIR_IS_STRING(&type, "double")) { - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "123.123", "stub/exceptions.zep", 62); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_ce_exception, "123.123", "stub/exceptions.zep", 62); return; } } while(0); @@ -212,6 +227,14 @@ PHP_METHOD(Stub_Exceptions, testExceptionSprintf) { ZVAL_UNDEF(&name); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &name_param); @@ -239,6 +262,15 @@ PHP_METHOD(Stub_Exceptions, testExceptionConcat) { ZVAL_UNDEF(&framework); ZVAL_UNDEF(&language); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(framework) + Z_PARAM_STR(language) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &framework_param, &language_param); @@ -265,6 +297,7 @@ PHP_METHOD(Stub_Exceptions, testExceptionRethrow) { ZVAL_UNDEF(&e); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); @@ -279,8 +312,8 @@ PHP_METHOD(Stub_Exceptions, testExceptionRethrow) { ZEPHIR_INIT_VAR(&_0); ZVAL_OBJ(&_0, EG(exception)); Z_ADDREF_P(&_0); - if (zephir_instance_of_ev(&_0, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_0, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_0); zephir_throw_exception_debug(&e, "stub/exceptions.zep", 83); ZEPHIR_MM_RESTORE(); @@ -310,6 +343,15 @@ PHP_METHOD(Stub_Exceptions, testMultiException) { ZVAL_UNDEF(&_4$$7); ZVAL_UNDEF(&_6$$10); ZVAL_UNDEF(&_8$$13); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(returnValue) + Z_PARAM_ZVAL(exception) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &returnValue, &exception); @@ -334,7 +376,7 @@ PHP_METHOD(Stub_Exceptions, testMultiException) { ZVAL_OBJ(&_0, EG(exception)); Z_ADDREF_P(&_0); if (zephir_instance_of_ev(&_0, stub_exception_ce)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_0); _1$$4 = zephir_is_callable(&iexc); if (_1$$4) { @@ -349,8 +391,8 @@ PHP_METHOD(Stub_Exceptions, testMultiException) { return; } } else { - if (zephir_instance_of_ev(&_0, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_0, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_0); _3$$7 = zephir_is_callable(&exc); if (_3$$7) { @@ -366,7 +408,7 @@ PHP_METHOD(Stub_Exceptions, testMultiException) { } } else { if (zephir_is_instance_of(&_0, SL("RuntimeError"))) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&f, &_0); _5$$10 = zephir_is_callable(&exc); if (_5$$10) { @@ -382,7 +424,7 @@ PHP_METHOD(Stub_Exceptions, testMultiException) { } } else { if (zephir_is_instance_of(&_0, SL("LogicError"))) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&f, &_0); _7$$13 = zephir_is_callable(&exc); if (_7$$13) { @@ -417,6 +459,7 @@ PHP_METHOD(Stub_Exceptions, issue1325) { ZVAL_UNDEF(&status); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); @@ -431,8 +474,8 @@ PHP_METHOD(Stub_Exceptions, issue1325) { ZEPHIR_INIT_VAR(&_0); ZVAL_OBJ(&_0, EG(exception)); Z_ADDREF_P(&_0); - if (zephir_instance_of_ev(&_0, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_0, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_0); ZEPHIR_INIT_NVAR(&status); ZVAL_STRING(&status, "woop"); @@ -447,7 +490,8 @@ PHP_METHOD(Stub_Exceptions, doNoopException) { zval *this_ptr = getThis(); - ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(zend_exception_get_default(TSRMLS_C), "I am exception", "stub/exceptions.zep", 140); + + ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(zend_ce_exception, "I am exception", "stub/exceptions.zep", 140); return; } diff --git a/ext/stub/exceptions.zep.h b/ext/stub/exceptions.zep.h index b0bf2708f7..1a6edfd7ec 100644 --- a/ext/stub/exceptions.zep.h +++ b/ext/stub/exceptions.zep.h @@ -18,33 +18,41 @@ PHP_METHOD(Stub_Exceptions, testMultiException); PHP_METHOD(Stub_Exceptions, issue1325); PHP_METHOD(Stub_Exceptions, doNoopException); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexception1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexceptionstringescape, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexception2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexception3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_getexception, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexception4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexception5, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexceptionliteral, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, type) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexceptionsprintf, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexceptionconcat, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, framework, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, framework) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, language, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, language) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testexceptionrethrow, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testmultiexception, 0, 0, 2) @@ -52,20 +60,66 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_testmultiexception, 0, 0, 2) ZEND_ARG_INFO(0, exception) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_issue1325, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exceptions_donoopexception, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_exceptions_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testException1, arginfo_stub_exceptions_testexception1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testException1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testExceptionStringEscape, arginfo_stub_exceptions_testexceptionstringescape, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testExceptionStringEscape, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testException2, arginfo_stub_exceptions_testexception2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testException2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testException3, arginfo_stub_exceptions_testexception3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testException3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, getException, arginfo_stub_exceptions_getexception, ZEND_ACC_PROTECTED) +#else PHP_ME(Stub_Exceptions, getException, NULL, ZEND_ACC_PROTECTED) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testException4, arginfo_stub_exceptions_testexception4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testException4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testException5, arginfo_stub_exceptions_testexception5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testException5, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Exceptions, testExceptionLiteral, arginfo_stub_exceptions_testexceptionliteral, ZEND_ACC_PUBLIC) PHP_ME(Stub_Exceptions, testExceptionSprintf, arginfo_stub_exceptions_testexceptionsprintf, ZEND_ACC_PUBLIC) PHP_ME(Stub_Exceptions, testExceptionConcat, arginfo_stub_exceptions_testexceptionconcat, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, testExceptionRethrow, arginfo_stub_exceptions_testexceptionrethrow, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, testExceptionRethrow, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Exceptions, testMultiException, arginfo_stub_exceptions_testmultiexception, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, issue1325, arginfo_stub_exceptions_issue1325, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Exceptions, issue1325, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Exceptions, doNoopException, arginfo_stub_exceptions_donoopexception, ZEND_ACC_PRIVATE) +#else PHP_ME(Stub_Exceptions, doNoopException, NULL, ZEND_ACC_PRIVATE) +#endif PHP_FE_END }; diff --git a/ext/stub/exists.zep.c b/ext/stub/exists.zep.c index f9403037e3..a2c45e7ed5 100644 --- a/ext/stub/exists.zep.c +++ b/ext/stub/exists.zep.c @@ -34,6 +34,16 @@ PHP_METHOD(Stub_Exists, testClassExists) { ZVAL_UNDEF(&className_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(className) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(autoload) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 1, &className, &autoload_param); @@ -57,6 +67,16 @@ PHP_METHOD(Stub_Exists, testInterfaceExists) { ZVAL_UNDEF(&interfaceName_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(interfaceName) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(autoload) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 1, &interfaceName, &autoload_param); @@ -79,6 +99,15 @@ PHP_METHOD(Stub_Exists, testMethodExists) { ZVAL_UNDEF(&obj_sub); ZVAL_UNDEF(&methodName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(obj) + Z_PARAM_ZVAL(methodName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &obj, &methodName); @@ -94,6 +123,14 @@ PHP_METHOD(Stub_Exists, testFileExists) { zval *this_ptr = getThis(); ZVAL_UNDEF(&fileName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(fileName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &fileName); diff --git a/ext/stub/exists.zep.h b/ext/stub/exists.zep.h index e27d3fe1ee..4f60482f1f 100644 --- a/ext/stub/exists.zep.h +++ b/ext/stub/exists.zep.h @@ -8,46 +8,22 @@ PHP_METHOD(Stub_Exists, testInterfaceExists); PHP_METHOD(Stub_Exists, testMethodExists); PHP_METHOD(Stub_Exists, testFileExists); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testclassexists, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testclassexists, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, className) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, autoload, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, autoload) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testinterfaceexists, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testinterfaceexists, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, interfaceName) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, autoload, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, autoload) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testmethodexists, 0, 2, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testmethodexists, 0, 2, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, obj) ZEND_ARG_INFO(0, methodName) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testfileexists, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exists_testfileexists, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, fileName) ZEND_END_ARG_INFO() diff --git a/ext/stub/exitdie.zep.c b/ext/stub/exitdie.zep.c index e004e2dbb6..4d2bee24dd 100644 --- a/ext/stub/exitdie.zep.c +++ b/ext/stub/exitdie.zep.c @@ -33,6 +33,15 @@ PHP_METHOD(Stub_ExitDie, testExit) { ZVAL_UNDEF(¶m_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶m); @@ -56,6 +65,15 @@ PHP_METHOD(Stub_ExitDie, testDie) { ZVAL_UNDEF(¶m_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶m); diff --git a/ext/stub/exitdie.zep.h b/ext/stub/exitdie.zep.h index c93020afe3..b35f643626 100644 --- a/ext/stub/exitdie.zep.h +++ b/ext/stub/exitdie.zep.h @@ -6,30 +6,12 @@ ZEPHIR_INIT_CLASS(Stub_ExitDie); PHP_METHOD(Stub_ExitDie, testExit); PHP_METHOD(Stub_ExitDie, testDie); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exitdie_testexit, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exitdie_testexit, 0, 0, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exitdie_testexit, 0, 0, 0) -#define arginfo_stub_exitdie_testexit NULL -#endif ZEND_ARG_INFO(0, param) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exitdie_testdie, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_exitdie_testdie, 0, 0, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_exitdie_testdie, 0, 0, 0) -#define arginfo_stub_exitdie_testdie NULL -#endif ZEND_ARG_INFO(0, param) ZEND_END_ARG_INFO() diff --git a/ext/stub/extendedinterface.zep.c b/ext/stub/extendedinterface.zep.c index e0715a6fc0..e07aa1fa47 100644 --- a/ext/stub/extendedinterface.zep.c +++ b/ext/stub/extendedinterface.zep.c @@ -16,8 +16,8 @@ ZEPHIR_INIT_CLASS(Stub_ExtendedInterface) { ZEPHIR_REGISTER_INTERFACE(Stub, ExtendedInterface, stub, extendedinterface, NULL); - zend_class_implements(stub_extendedinterface_ce, 1, zend_ce_aggregate); - zend_class_implements(stub_extendedinterface_ce, 1, spl_ce_Countable); + zend_class_implements(stub_extendedinterface_ce, 1, zephir_get_internal_ce(SL("iteratoraggregate"))); + zend_class_implements(stub_extendedinterface_ce, 1, zend_ce_countable); return SUCCESS; } diff --git a/ext/stub/factorial.zep.c b/ext/stub/factorial.zep.c index f9376d77de..8562edc8b6 100644 --- a/ext/stub/factorial.zep.c +++ b/ext/stub/factorial.zep.c @@ -34,6 +34,14 @@ PHP_METHOD(Stub_Factorial, intIterativeFactorial) { zend_long n, _1, _2; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &n_param); @@ -73,6 +81,14 @@ PHP_METHOD(Stub_Factorial, intRecursiveFactorial) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &num_param); diff --git a/ext/stub/factorial.zep.h b/ext/stub/factorial.zep.h index 778f9fbcd2..536d90e4cd 100644 --- a/ext/stub/factorial.zep.h +++ b/ext/stub/factorial.zep.h @@ -6,28 +6,12 @@ ZEPHIR_INIT_CLASS(Stub_Factorial); PHP_METHOD(Stub_Factorial, intIterativeFactorial); PHP_METHOD(Stub_Factorial, intRecursiveFactorial); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_factorial_intiterativefactorial, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_factorial_intiterativefactorial, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_factorial_intrecursivefactorial, 0, 1, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_factorial_intrecursivefactorial, 0, 1, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_factorial_method_entry) { diff --git a/ext/stub/fannkuch.zep.c b/ext/stub/fannkuch.zep.c index fa0cc87e02..457d3e9d11 100644 --- a/ext/stub/fannkuch.zep.c +++ b/ext/stub/fannkuch.zep.c @@ -57,6 +57,14 @@ PHP_METHOD(Stub_Fannkuch, process) { ZVAL_UNDEF(&_17$$13); ZVAL_UNDEF(&_18$$13); ZVAL_UNDEF(&_19$$13); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); diff --git a/ext/stub/fannkuch.zep.h b/ext/stub/fannkuch.zep.h index 71d28597ce..7995ec363a 100644 --- a/ext/stub/fannkuch.zep.h +++ b/ext/stub/fannkuch.zep.h @@ -6,11 +6,7 @@ ZEPHIR_INIT_CLASS(Stub_Fannkuch); PHP_METHOD(Stub_Fannkuch, process); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fannkuch_process, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_fannkuch_method_entry) { diff --git a/ext/stub/fasta.zep.c b/ext/stub/fasta.zep.c index 4c0d21aa10..2062395905 100644 --- a/ext/stub/fasta.zep.c +++ b/ext/stub/fasta.zep.c @@ -64,6 +64,15 @@ PHP_METHOD(Stub_Fasta, fastaRepeat) { ZVAL_UNDEF(&seq); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(n) + Z_PARAM_STR(seq) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &n, &seq_param); @@ -150,6 +159,7 @@ PHP_METHOD(Stub_Fasta, fastRandom) { + } PHP_METHOD(Stub_Fasta, main) { @@ -166,6 +176,14 @@ PHP_METHOD(Stub_Fasta, main) { ZVAL_UNDEF(&homoSap); ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); diff --git a/ext/stub/fasta.zep.h b/ext/stub/fasta.zep.h index 2e414b004e..acc0cf9d48 100644 --- a/ext/stub/fasta.zep.h +++ b/ext/stub/fasta.zep.h @@ -9,11 +9,10 @@ PHP_METHOD(Stub_Fasta, main); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fasta_fastarepeat, 0, 0, 2) ZEND_ARG_INFO(0, n) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, seq, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, seq) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fasta_fastrandom, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fasta_main, 0, 0, 1) @@ -22,7 +21,11 @@ ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_fasta_method_entry) { PHP_ME(Stub_Fasta, fastaRepeat, arginfo_stub_fasta_fastarepeat, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fasta, fastRandom, arginfo_stub_fasta_fastrandom, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fasta, fastRandom, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Fasta, main, arginfo_stub_fasta_main, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/fcall.zep.c b/ext/stub/fcall.zep.c index 5a4110cce5..598c07be6a 100644 --- a/ext/stub/fcall.zep.c +++ b/ext/stub/fcall.zep.c @@ -48,6 +48,7 @@ PHP_METHOD(Stub_Fcall, testCall1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -68,6 +69,7 @@ PHP_METHOD(Stub_Fcall, testCall2) { ZVAL_UNDEF(&_1$$3); + while (1) { ZVAL_LONG(&_0$$3, 0); ZVAL_LONG(&_1$$3, 100); @@ -91,6 +93,7 @@ PHP_METHOD(Stub_Fcall, testCall3) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_3$$4); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -137,6 +140,7 @@ PHP_METHOD(Stub_Fcall, testCall4) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_3$$4); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -177,6 +181,15 @@ PHP_METHOD(Stub_Fcall, testCall5) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -196,6 +209,7 @@ PHP_METHOD(Stub_Fcall, testCall6) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_FUNCTION("rand", NULL, 33); @@ -211,6 +225,7 @@ PHP_METHOD(Stub_Fcall, testCall7) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_FUNCTION(NULL, "memory_get_usage", NULL, 34); @@ -229,6 +244,16 @@ PHP_METHOD(Stub_Fcall, zvalFcallWith1Parameter) { ZVAL_UNDEF(&callback_sub); ZVAL_UNDEF(¶m1_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(callback) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(param1) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &callback, ¶m1); @@ -255,6 +280,15 @@ PHP_METHOD(Stub_Fcall, testCall8) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&x); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -278,6 +312,7 @@ PHP_METHOD(Stub_Fcall, testCall1FromVar) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&funcName); @@ -297,6 +332,7 @@ PHP_METHOD(Stub_Fcall, testStrtokFalse) { zval *this_ptr = getThis(); + RETURN_BOOL(0); } @@ -310,6 +346,14 @@ PHP_METHOD(Stub_Fcall, testStrtokVarBySlash) { ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value); @@ -331,6 +375,15 @@ PHP_METHOD(Stub_Fcall, testFunctionGetArgs) { ZVAL_UNDEF(¶m1_sub); ZVAL_UNDEF(¶m2_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(param1) + Z_PARAM_ZVAL(param2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, ¶m1, ¶m2); @@ -346,6 +399,7 @@ PHP_METHOD(Stub_Fcall, testFunctionGetArgsAllExtra) { zval *this_ptr = getThis(); + zephir_get_args(return_value); return; @@ -356,6 +410,7 @@ PHP_METHOD(Stub_Fcall, testStaticFunctionGetArgsAllExtra) { zval *this_ptr = getThis(); + zephir_get_args(return_value); return; @@ -372,6 +427,15 @@ PHP_METHOD(Stub_Fcall, testFunctionGetArg) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(param1) + Z_PARAM_ZVAL(param2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, ¶m1, ¶m2); @@ -401,6 +465,7 @@ PHP_METHOD(Stub_Fcall, testFunctionGetArgAllExtra) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); zephir_create_array(return_value, 2, 0); @@ -426,6 +491,7 @@ PHP_METHOD(Stub_Fcall, testStaticFunctionGetArgAllExtra) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); zephir_create_array(return_value, 2, 0); @@ -455,6 +521,7 @@ PHP_METHOD(Stub_Fcall, testArrayFill) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); @@ -482,6 +549,14 @@ PHP_FUNCTION(g_stub_zephir_global_method_test) { zval *str, str_sub, _0; ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str); @@ -503,6 +578,14 @@ PHP_FUNCTION(g_stub_zephir_global_method_test) { PHP_FUNCTION(g_stub_zephir_global_method_with_type_casting) { zval *variable, variable_sub; ZVAL_UNDEF(&variable_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(variable) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &variable); @@ -520,6 +603,14 @@ PHP_FUNCTION(f_Stub_zephir_namespaced_method_test) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str); @@ -542,6 +633,14 @@ PHP_FUNCTION(f_Stub_zephir_namespaced_method_test) { PHP_FUNCTION(f_Stub_test_call_relative_object_hint) { zval *a, a_sub; ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -554,6 +653,14 @@ PHP_FUNCTION(f_Stub_test_call_relative_object_hint) { PHP_FUNCTION(f_Stub_zephir_namespaced_method_with_type_casting) { zval *variable, variable_sub; ZVAL_UNDEF(&variable_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(variable) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &variable); @@ -567,6 +674,14 @@ PHP_FUNCTION(f_Stub_zephir_namespaced_method_with_type_casting) { PHP_FUNCTION(f_Stub_test_call_object_hint) { zval *a, a_sub; ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/fcall.zep.h b/ext/stub/fcall.zep.h index 63efa2298e..47e875729a 100644 --- a/ext/stub/fcall.zep.h +++ b/ext/stub/fcall.zep.h @@ -23,18 +23,16 @@ PHP_METHOD(Stub_Fcall, testFunctionGetArgAllExtra); PHP_METHOD(Stub_Fcall, testStaticFunctionGetArgAllExtra); PHP_METHOD(Stub_Fcall, testArrayFill); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testcall1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testcall1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testcall2, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testcall2, 0, 0, IS_LONG, NULL, 0) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall4, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall5, 0, 0, 2) @@ -42,6 +40,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall5, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall7, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_zvalfcallwith1parameter, 0, 0, 1) ZEND_ARG_INFO(0, callback) ZEND_ARG_INFO(0, param1) @@ -52,89 +56,65 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fcall_testcall8, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testcall1fromvar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testcall1fromvar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststrtokfalse, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststrtokfalse, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststrtokvarbyslash, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststrtokvarbyslash, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetargs, 0, 2, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetargs, 0, 2, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_INFO(0, param1) ZEND_ARG_INFO(0, param2) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetargsallextra, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetargsallextra, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststaticfunctiongetargsallextra, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststaticfunctiongetargsallextra, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetarg, 0, 2, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetarg, 0, 2, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_INFO(0, param1) ZEND_ARG_INFO(0, param2) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetargallextra, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testfunctiongetargallextra, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststaticfunctiongetargallextra, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_teststaticfunctiongetargallextra, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testarrayfill, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fcall_testarrayfill, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_fcall_method_entry) { PHP_ME(Stub_Fcall, testCall1, arginfo_stub_fcall_testcall1, ZEND_ACC_PUBLIC) PHP_ME(Stub_Fcall, testCall2, arginfo_stub_fcall_testcall2, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fcall, testCall3, arginfo_stub_fcall_testcall3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fcall, testCall3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fcall, testCall4, arginfo_stub_fcall_testcall4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fcall, testCall4, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Fcall, testCall5, arginfo_stub_fcall_testcall5, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fcall, testCall6, arginfo_stub_fcall_testcall6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fcall, testCall6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fcall, testCall7, arginfo_stub_fcall_testcall7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fcall, testCall7, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Fcall, zvalFcallWith1Parameter, arginfo_stub_fcall_zvalfcallwith1parameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Fcall, testCall8, arginfo_stub_fcall_testcall8, ZEND_ACC_PUBLIC) PHP_ME(Stub_Fcall, testCall1FromVar, arginfo_stub_fcall_testcall1fromvar, ZEND_ACC_PUBLIC) diff --git a/ext/stub/fetchtest.zep.c b/ext/stub/fetchtest.zep.c index 947d635ab0..8762896cf3 100644 --- a/ext/stub/fetchtest.zep.c +++ b/ext/stub/fetchtest.zep.c @@ -37,6 +37,14 @@ PHP_METHOD(Stub_FetchTest, setValues) { zval *this_ptr = getThis(); ZVAL_UNDEF(&values_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(values) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &values); @@ -52,6 +60,7 @@ PHP_METHOD(Stub_FetchTest, getValues) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "values"); } @@ -64,6 +73,15 @@ PHP_METHOD(Stub_FetchTest, testFetchArray1) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&c); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -81,6 +99,15 @@ PHP_METHOD(Stub_FetchTest, testFetchArray2) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -101,6 +128,15 @@ PHP_METHOD(Stub_FetchTest, testFetchArray3) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&c); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b_param); @@ -119,6 +155,15 @@ PHP_METHOD(Stub_FetchTest, testFetchArray4) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b_param); @@ -142,6 +187,15 @@ PHP_METHOD(Stub_FetchTest, testFetchArray5) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&c); ZVAL_UNDEF(&b); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_STR(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b_param); @@ -162,6 +216,15 @@ PHP_METHOD(Stub_FetchTest, testFetchArray6) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_STR(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b_param); @@ -184,6 +247,15 @@ PHP_METHOD(Stub_FetchTest, testFetchObject1) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&c); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -203,6 +275,15 @@ PHP_METHOD(Stub_FetchTest, testFetchObject2) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -223,6 +304,14 @@ PHP_METHOD(Stub_FetchTest, testFetchPost) { ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&_POST); ZVAL_UNDEF(&c); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_get_global(&_POST, SL("_POST")); zephir_fetch_params_without_memory_grow(1, 0, &b); @@ -246,6 +335,14 @@ PHP_METHOD(Stub_FetchTest, hasValue) { ZVAL_UNDEF(&name); ZVAL_UNDEF(&_POST); ZVAL_UNDEF(&_0$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_POST, SL("_POST")); @@ -277,6 +374,14 @@ PHP_METHOD(Stub_FetchTest, getValue) { ZVAL_UNDEF(&_POST); ZVAL_UNDEF(&value); ZVAL_UNDEF(&_0$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_POST, SL("_POST")); diff --git a/ext/stub/fetchtest.zep.h b/ext/stub/fetchtest.zep.h index 5cc043a744..0787fec806 100644 --- a/ext/stub/fetchtest.zep.h +++ b/ext/stub/fetchtest.zep.h @@ -21,6 +21,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_setvalues, 0, 0, 1) ZEND_ARG_INFO(0, values) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_getvalues, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetcharray1, 0, 0, 2) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) @@ -33,38 +36,22 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetcharray3, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetcharray4, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetcharray5, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetcharray6, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetchobject1, 0, 0, 2) @@ -81,29 +68,21 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_testfetchpost, 0, 0, 1) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fetchtest_hasvalue, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fetchtest_hasvalue, 0, 1, _IS_BOOL, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fetchtest_getvalue, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_fetchtest_method_entry) { PHP_ME(Stub_FetchTest, setValues, arginfo_stub_fetchtest_setvalues, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_FetchTest, getValues, arginfo_stub_fetchtest_getvalues, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_FetchTest, getValues, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_FetchTest, testFetchArray1, arginfo_stub_fetchtest_testfetcharray1, ZEND_ACC_PUBLIC) PHP_ME(Stub_FetchTest, testFetchArray2, arginfo_stub_fetchtest_testfetcharray2, ZEND_ACC_PUBLIC) PHP_ME(Stub_FetchTest, testFetchArray3, arginfo_stub_fetchtest_testfetcharray3, ZEND_ACC_PUBLIC) diff --git a/ext/stub/fibonnaci.zep.c b/ext/stub/fibonnaci.zep.c index ed978b017d..149f427b38 100644 --- a/ext/stub/fibonnaci.zep.c +++ b/ext/stub/fibonnaci.zep.c @@ -34,6 +34,7 @@ PHP_METHOD(Stub_Fibonnaci, fibInt) { + z = 0; x = 1; y = 2; @@ -57,6 +58,7 @@ PHP_METHOD(Stub_Fibonnaci, fibDouble) { + z = 0.0; x = 1.0; y = 2.0; @@ -86,6 +88,7 @@ PHP_METHOD(Stub_Fibonnaci, fibArray) { ZVAL_UNDEF(&c); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&fib); @@ -128,6 +131,7 @@ PHP_METHOD(Stub_Fibonnaci, fibArray2) { ZVAL_UNDEF(&_2$$3); ZVAL_UNDEF(&_3$$3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&fib); @@ -166,6 +170,14 @@ PHP_METHOD(Stub_Fibonnaci, fibonacciRecursive) { ZVAL_UNDEF(&_0$$6); ZVAL_UNDEF(&_1$$6); ZVAL_UNDEF(&_3$$6); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); @@ -203,6 +215,14 @@ PHP_METHOD(Stub_Fibonnaci, fibonacciFinalRecursive) { ZVAL_UNDEF(&_0$$6); ZVAL_UNDEF(&_1$$6); ZVAL_UNDEF(&_3$$6); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); diff --git a/ext/stub/fibonnaci.zep.h b/ext/stub/fibonnaci.zep.h index 4040d3d054..b9a1847d7f 100644 --- a/ext/stub/fibonnaci.zep.h +++ b/ext/stub/fibonnaci.zep.h @@ -10,27 +10,47 @@ PHP_METHOD(Stub_Fibonnaci, fibArray2); PHP_METHOD(Stub_Fibonnaci, fibonacciRecursive); PHP_METHOD(Stub_Fibonnaci, fibonacciFinalRecursive); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fibonnaci_fibint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fibonnaci_fibdouble, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fibonnaci_fibarray, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fibonnaci_fibarray2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fibonnaci_fibonaccirecursive, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_fibonnaci_fibonaccifinalrecursive, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_fibonnaci_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fibonnaci, fibInt, arginfo_stub_fibonnaci_fibint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fibonnaci, fibInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fibonnaci, fibDouble, arginfo_stub_fibonnaci_fibdouble, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fibonnaci, fibDouble, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fibonnaci, fibArray, arginfo_stub_fibonnaci_fibarray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fibonnaci, fibArray, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Fibonnaci, fibArray2, arginfo_stub_fibonnaci_fibarray2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Fibonnaci, fibArray2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Fibonnaci, fibonacciRecursive, arginfo_stub_fibonnaci_fibonaccirecursive, ZEND_ACC_PRIVATE) PHP_ME(Stub_Fibonnaci, fibonacciFinalRecursive, arginfo_stub_fibonnaci_fibonaccifinalrecursive, ZEND_ACC_PRIVATE|ZEND_ACC_FINAL) PHP_FE_END diff --git a/ext/stub/flow.zep.c b/ext/stub/flow.zep.c index 955a8ad4c9..95c3d56108 100644 --- a/ext/stub/flow.zep.c +++ b/ext/stub/flow.zep.c @@ -40,6 +40,7 @@ PHP_METHOD(Stub_Flow, testIf1) { + a = 1; if (a) { RETURN_LONG(1); @@ -55,6 +56,7 @@ PHP_METHOD(Stub_Flow, testIf2) { + a = 0; if (a) { RETURN_LONG(1); @@ -70,6 +72,7 @@ PHP_METHOD(Stub_Flow, testIf3) { + a = (double) (1); if (a) { RETURN_LONG(1); @@ -85,6 +88,7 @@ PHP_METHOD(Stub_Flow, testIf4) { + a = (double) (0); if (a) { RETURN_LONG(1); @@ -100,6 +104,7 @@ PHP_METHOD(Stub_Flow, testIf5) { + a = ((1) ? 1 : 0); if (a) { RETURN_LONG(1); @@ -115,6 +120,7 @@ PHP_METHOD(Stub_Flow, testIf6) { + a = ((0) ? 1 : 0); if (a) { RETURN_LONG(1); @@ -130,6 +136,7 @@ PHP_METHOD(Stub_Flow, testIf7) { + a = 1; if (a) { RETURN_LONG(1); @@ -146,6 +153,7 @@ PHP_METHOD(Stub_Flow, testIf8) { + a = 0; if (a) { RETURN_LONG(1); @@ -164,6 +172,7 @@ PHP_METHOD(Stub_Flow, testIf9) { + a = 1; if (a) { b = (double) (1); @@ -187,6 +196,7 @@ PHP_METHOD(Stub_Flow, testIf10) { + a = 1; if (a) { b = (double) (1); @@ -215,6 +225,7 @@ PHP_METHOD(Stub_Flow, testIf12) { + a = 1; if (a) { b = (double) (1); @@ -241,6 +252,7 @@ PHP_METHOD(Stub_Flow, testIf13) { + a = 1; b = 2; if ((a + b)) { @@ -257,6 +269,7 @@ PHP_METHOD(Stub_Flow, testIf14) { + a = 1; b = 2; if ((a + b)) { @@ -273,6 +286,7 @@ PHP_METHOD(Stub_Flow, testIf15) { + a = 1; b = 2; c = 3; @@ -289,6 +303,14 @@ PHP_METHOD(Stub_Flow, testIf16) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -307,6 +329,14 @@ PHP_METHOD(Stub_Flow, testIf17) { zval *this_ptr = getThis(); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &b); @@ -326,6 +356,7 @@ PHP_METHOD(Stub_Flow, testLoop1) { + a = 1; while (1) { if (a) { @@ -343,6 +374,7 @@ PHP_METHOD(Stub_Flow, testLoop2) { + a = 1; while (1) { a = (a + 1); @@ -361,6 +393,7 @@ PHP_METHOD(Stub_Flow, testLoop3) { + a = 1; while (1) { a = (a + 1); @@ -383,6 +416,7 @@ PHP_METHOD(Stub_Flow, testLoop4) { + a = 1; while (1) { a = (a + 1); @@ -405,6 +439,7 @@ PHP_METHOD(Stub_Flow, testWhile1) { + a = 5; while (1) { if (!(a)) { @@ -423,6 +458,7 @@ PHP_METHOD(Stub_Flow, testWhile2) { + a = 5; while (1) { if (!(a)) { @@ -442,6 +478,7 @@ PHP_METHOD(Stub_Flow, testWhile3) { + a = 5; b = 0; while (1) { @@ -470,6 +507,7 @@ PHP_METHOD(Stub_Flow, testWhile4) { + a = 5; b = 0; while (1) { @@ -497,6 +535,7 @@ PHP_METHOD(Stub_Flow, testWhile5) { + a = 5; while (1) { if (!(a)) { @@ -515,6 +554,7 @@ PHP_METHOD(Stub_Flow, testWhile6) { + a = 5; while (1) { if (!(a)) { @@ -533,6 +573,7 @@ PHP_METHOD(Stub_Flow, testWhile7) { + a = (double) (5); while (1) { if (!(a)) { @@ -551,6 +592,7 @@ PHP_METHOD(Stub_Flow, testWhile8) { + a = (double) (5); while (1) { if (!(a)) { @@ -570,6 +612,7 @@ PHP_METHOD(Stub_Flow, testWhile9) { + a = 5; b = 0; while (1) { @@ -599,6 +642,14 @@ PHP_METHOD(Stub_Flow, testWhile10) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); @@ -636,6 +687,15 @@ PHP_METHOD(Stub_Flow, testWhile11) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&d_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(d) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &d); @@ -673,6 +733,7 @@ PHP_METHOD(Stub_Flow, testWhile12) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -700,6 +761,7 @@ PHP_METHOD(Stub_Flow, testWhile13) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 5; @@ -722,6 +784,7 @@ PHP_METHOD(Stub_Flow, testDoWhile1) { zval *this_ptr = getThis(); + do { } while (1); @@ -739,6 +802,14 @@ PHP_METHOD(Stub_Flow, testWhileNextTest) { ZVAL_UNDEF(&returnValue); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(variable) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &variable); @@ -775,6 +846,14 @@ PHP_METHOD(Stub_Flow, testWhileDoNextTest) { ZVAL_UNDEF(&returnValue); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_0$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(variable) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &variable); @@ -808,6 +887,7 @@ PHP_METHOD(Stub_Flow, testFor1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); c = 0; @@ -870,6 +950,7 @@ PHP_METHOD(Stub_Flow, testFor2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); c = (double) (0); @@ -938,6 +1019,7 @@ PHP_METHOD(Stub_Flow, testFor3) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -996,6 +1078,7 @@ PHP_METHOD(Stub_Flow, testFor4) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1030,6 +1113,7 @@ PHP_METHOD(Stub_Flow, testFor5) { + b = 0; _2 = 10; _1 = 1; @@ -1063,6 +1147,7 @@ PHP_METHOD(Stub_Flow, testFor6) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1097,6 +1182,7 @@ PHP_METHOD(Stub_Flow, testFor7) { + b = 0; _2 = 10; _1 = _2; @@ -1127,6 +1213,7 @@ PHP_METHOD(Stub_Flow, testFor8) { + b = 0; c = 1; d = 10; @@ -1159,6 +1246,7 @@ PHP_METHOD(Stub_Flow, testFor9) { + b = 0; c = 1; d = 10; @@ -1194,6 +1282,7 @@ PHP_METHOD(Stub_Flow, testFor10) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1232,6 +1321,7 @@ PHP_METHOD(Stub_Flow, testFor11) { ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1267,6 +1357,7 @@ PHP_METHOD(Stub_Flow, testFor12) { ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1302,6 +1393,7 @@ PHP_METHOD(Stub_Flow, testFor13) { ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1337,6 +1429,7 @@ PHP_METHOD(Stub_Flow, testFor14) { ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1369,6 +1462,15 @@ PHP_METHOD(Stub_Flow, testFor15) { zend_long c, d, a = 0, b = 0, _1, _2; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(c) + Z_PARAM_LONG(d) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &c_param, &d_param); @@ -1411,6 +1513,7 @@ PHP_METHOD(Stub_Flow, testFor16) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -1454,6 +1557,7 @@ PHP_METHOD(Stub_Flow, testFor17) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -1496,6 +1600,7 @@ PHP_METHOD(Stub_Flow, testFor18) { ZVAL_UNDEF(&c); ZVAL_UNDEF(&_4$$3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&c); @@ -1537,6 +1642,7 @@ PHP_METHOD(Stub_Flow, testFor19) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1574,6 +1680,7 @@ PHP_METHOD(Stub_Flow, testFor20) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1611,6 +1718,7 @@ PHP_METHOD(Stub_Flow, testFor21) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1648,6 +1756,7 @@ PHP_METHOD(Stub_Flow, testFor22) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1686,6 +1795,7 @@ PHP_METHOD(Stub_Flow, testFor23) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1728,6 +1838,7 @@ PHP_METHOD(Stub_Flow, testFor24) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1788,6 +1899,7 @@ PHP_METHOD(Stub_Flow, testFor30) { ZVAL_UNDEF(&_1$$3); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1817,6 +1929,7 @@ PHP_METHOD(Stub_Flow, testFor31) { ZVAL_UNDEF(&_1$$3); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1845,6 +1958,14 @@ PHP_METHOD(Stub_Flow, testFor32) { ZVAL_UNDEF(&e_sub); ZVAL_UNDEF(&v); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(e) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &e); @@ -1891,6 +2012,14 @@ PHP_METHOD(Stub_Flow, testFor33) { ZVAL_UNDEF(&e_sub); ZVAL_UNDEF(&v); ZVAL_UNDEF(&result); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(e, zend_ce_iterator) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &e); @@ -1923,6 +2052,15 @@ PHP_METHOD(Stub_Flow, testFor34) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&v); ZVAL_UNDEF(&result); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_OBJECT_OF_CLASS_OR_NULL(e, zend_ce_iterator) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &e); @@ -1957,6 +2095,14 @@ PHP_METHOD(Stub_Flow, testFor35Aux) { zval *this_ptr = getThis(); ZVAL_UNDEF(&hello_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(hello) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &hello); @@ -1978,6 +2124,7 @@ PHP_METHOD(Stub_Flow, testFor35) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&_3$$3); + ZEPHIR_MM_GROW(); _2 = 100; @@ -2011,6 +2158,14 @@ PHP_METHOD(Stub_Flow, testFor36Aux) { zval *this_ptr = getThis(); ZVAL_UNDEF(&hello_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(hello) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &hello); @@ -2034,6 +2189,7 @@ PHP_METHOD(Stub_Flow, testFor36) { ZVAL_UNDEF(&i); ZVAL_UNDEF(&_3$$3); + ZEPHIR_MM_GROW(); _2 = 100; @@ -2069,6 +2225,7 @@ PHP_METHOD(Stub_Flow, testFor37) { + i = 0; _2 = 10; _1 = 1; @@ -2102,6 +2259,7 @@ PHP_METHOD(Stub_Flow, testFor38) { ZVAL_UNDEF(&v); + ZEPHIR_MM_GROW(); i = 0; @@ -2141,6 +2299,7 @@ PHP_METHOD(Stub_Flow, testFor39) { ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); i = 0; @@ -2166,6 +2325,7 @@ PHP_METHOD(Stub_Flow, testFor40) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_3$$3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -2206,6 +2366,7 @@ PHP_METHOD(Stub_Flow, testUnrechable1) { ZVAL_UNDEF(&d); + ZEPHIR_MM_GROW(); a = 0; @@ -2245,6 +2406,7 @@ PHP_METHOD(Stub_Flow, testUnrechable2) { ZVAL_UNDEF(&d); + ZEPHIR_MM_GROW(); a = 1; @@ -2289,6 +2451,7 @@ PHP_METHOD(Stub_Flow, testUnrechable3) { + if (3 < 1) { if (1 > 2) { a = 0; diff --git a/ext/stub/flow.zep.h b/ext/stub/flow.zep.h index f32b19de5b..a999bf1759 100644 --- a/ext/stub/flow.zep.h +++ b/ext/stub/flow.zep.h @@ -80,6 +80,48 @@ PHP_METHOD(Stub_Flow, testUnrechable1); PHP_METHOD(Stub_Flow, testUnrechable2); PHP_METHOD(Stub_Flow, testUnrechable3); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif12, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif14, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif15, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif16, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() @@ -88,6 +130,45 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testif17, 0, 0, 1) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testloop1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testloop2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testloop3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testloop4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile9, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile10, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() @@ -97,6 +178,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile11, 0, 0, 2) ZEND_ARG_INFO(0, d) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile12, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhile13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testdowhile1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhilenexttest, 0, 0, 1) ZEND_ARG_INFO(0, variable) ZEND_END_ARG_INFO() @@ -105,17 +195,84 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testwhiledonexttest, 0, 0, 1) ZEND_ARG_INFO(0, variable) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor11, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor12, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor14, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor15, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, c, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, c) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, d, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, d) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor16, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor17, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor18, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor19, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor20, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor21, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor22, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor23, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor24, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor30, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor31, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor32, 0, 0, 1) @@ -134,86 +291,369 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor35aux, 0, 0, 1) ZEND_ARG_INFO(0, hello) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor35, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor36aux, 0, 0, 1) ZEND_ARG_INFO(0, hello) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor36, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor37, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor38, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor39, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testfor40, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testunrechable1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testunrechable2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_testunrechable3, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_flow_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf1, arginfo_stub_flow_testif1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf2, arginfo_stub_flow_testif2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf3, arginfo_stub_flow_testif3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf4, arginfo_stub_flow_testif4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf5, arginfo_stub_flow_testif5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf6, arginfo_stub_flow_testif6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf7, arginfo_stub_flow_testif7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf8, arginfo_stub_flow_testif8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf9, arginfo_stub_flow_testif9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf10, arginfo_stub_flow_testif10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf12, arginfo_stub_flow_testif12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf12, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf13, arginfo_stub_flow_testif13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf14, arginfo_stub_flow_testif14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf14, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testIf15, arginfo_stub_flow_testif15, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testIf15, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow, testIf16, arginfo_stub_flow_testif16, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow, testIf17, arginfo_stub_flow_testif17, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testLoop1, arginfo_stub_flow_testloop1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testLoop1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testLoop2, arginfo_stub_flow_testloop2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testLoop2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testLoop3, arginfo_stub_flow_testloop3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testLoop3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testLoop4, arginfo_stub_flow_testloop4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testLoop4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile1, arginfo_stub_flow_testwhile1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile2, arginfo_stub_flow_testwhile2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile3, arginfo_stub_flow_testwhile3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile4, arginfo_stub_flow_testwhile4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile5, arginfo_stub_flow_testwhile5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile6, arginfo_stub_flow_testwhile6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile7, arginfo_stub_flow_testwhile7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile8, arginfo_stub_flow_testwhile8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile9, arginfo_stub_flow_testwhile9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile9, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow, testWhile10, arginfo_stub_flow_testwhile10, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow, testWhile11, arginfo_stub_flow_testwhile11, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile12, arginfo_stub_flow_testwhile12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile12, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testWhile13, arginfo_stub_flow_testwhile13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testWhile13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testDoWhile1, arginfo_stub_flow_testdowhile1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testDoWhile1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow, testWhileNextTest, arginfo_stub_flow_testwhilenexttest, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow, testWhileDoNextTest, arginfo_stub_flow_testwhiledonexttest, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor1, arginfo_stub_flow_testfor1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor2, arginfo_stub_flow_testfor2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor3, arginfo_stub_flow_testfor3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor4, arginfo_stub_flow_testfor4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor5, arginfo_stub_flow_testfor5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor6, arginfo_stub_flow_testfor6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor7, arginfo_stub_flow_testfor7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor8, arginfo_stub_flow_testfor8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor9, arginfo_stub_flow_testfor9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor10, arginfo_stub_flow_testfor10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor11, arginfo_stub_flow_testfor11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor11, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor12, arginfo_stub_flow_testfor12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor12, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor13, arginfo_stub_flow_testfor13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor14, arginfo_stub_flow_testfor14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor14, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow, testFor15, arginfo_stub_flow_testfor15, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor16, arginfo_stub_flow_testfor16, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor16, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor17, arginfo_stub_flow_testfor17, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor17, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor18, arginfo_stub_flow_testfor18, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor18, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor19, arginfo_stub_flow_testfor19, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor19, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor20, arginfo_stub_flow_testfor20, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor20, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor21, arginfo_stub_flow_testfor21, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor21, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor22, arginfo_stub_flow_testfor22, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor22, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor23, arginfo_stub_flow_testfor23, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor23, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor24, arginfo_stub_flow_testfor24, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor24, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor30, arginfo_stub_flow_testfor30, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor30, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor31, arginfo_stub_flow_testfor31, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor31, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow, testFor32, arginfo_stub_flow_testfor32, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow, testFor33, arginfo_stub_flow_testfor33, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow, testFor34, arginfo_stub_flow_testfor34, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow, testFor35Aux, arginfo_stub_flow_testfor35aux, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor35, arginfo_stub_flow_testfor35, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor35, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow, testFor36Aux, arginfo_stub_flow_testfor36aux, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor36, arginfo_stub_flow_testfor36, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor36, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor37, arginfo_stub_flow_testfor37, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor37, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor38, arginfo_stub_flow_testfor38, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor38, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor39, arginfo_stub_flow_testfor39, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor39, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testFor40, arginfo_stub_flow_testfor40, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testFor40, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testUnrechable1, arginfo_stub_flow_testunrechable1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testUnrechable1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testUnrechable2, arginfo_stub_flow_testunrechable2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testUnrechable2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow, testUnrechable3, arginfo_stub_flow_testunrechable3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow, testUnrechable3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/flow/switchflow.zep.c b/ext/stub/flow/switchflow.zep.c index a8556f239a..ad96eaa67b 100644 --- a/ext/stub/flow/switchflow.zep.c +++ b/ext/stub/flow/switchflow.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch1) { + a = 10; RETURN_LONG(a); @@ -45,6 +46,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch2) { + a = 10; do { if (a == 10) { @@ -63,6 +65,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch3) { + a = 10; do { if (a == 5) { @@ -81,6 +84,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch4) { + a = 10; do { if (a == 5) { @@ -100,6 +104,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch5) { + a = 10; do { if (a == 10) { @@ -119,6 +124,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch6) { + a = 10; do { if (a == 10 || a == 4) { @@ -137,6 +143,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch7) { + a = 4; do { if (a == 10 || a == 4) { @@ -155,6 +162,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch8) { + a = 5; do { if (a == 10 || a == 4) { @@ -173,6 +181,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch9) { + a = 5; do { if (a == 3 || a == 4) { @@ -194,6 +203,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch10) { + a = 5; do { if (a == 3 || a == 4) { @@ -215,6 +225,7 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch11) { + a = 1; do { if (a == 2) { @@ -234,6 +245,15 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch12) { ZVAL_UNDEF(&var1_sub); ZVAL_UNDEF(&var2_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(var1) + Z_PARAM_ZVAL(var2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &var1, &var2); @@ -269,6 +289,14 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch13) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -291,12 +319,22 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch13) { PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch14) { zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; - zval *result_type = NULL, result_type_sub, ret, _0; + zval *result_type = NULL, result_type_sub, ret, _0, _1; zval *this_ptr = getThis(); ZVAL_UNDEF(&result_type_sub); ZVAL_UNDEF(&ret); ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(result_type) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &result_type); @@ -311,7 +349,9 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch14) { do { ZEPHIR_INIT_VAR(&_0); ZEPHIR_GET_CONSTANT(&_0, "MYSQL_ASSOC"); - if (ZEPHIR_IS_LONG(result_type, 1) || ZEPHIR_IS_EQUAL(result_type, &_0) || ZEPHIR_IS_LONG(result_type, 1)) { + ZEPHIR_INIT_VAR(&_1); + ZEPHIR_GET_CONSTANT(&_1, "MYSQLI_ASSOC"); + if (ZEPHIR_IS_LONG(result_type, 1) || ZEPHIR_IS_EQUAL(result_type, &_0) || ZEPHIR_IS_EQUAL(result_type, &_1)) { ZEPHIR_INIT_VAR(&ret); ZVAL_STRING(&ret, "aaa"); break; diff --git a/ext/stub/flow/switchflow.zep.h b/ext/stub/flow/switchflow.zep.h index a604269fd0..6ad791d370 100644 --- a/ext/stub/flow/switchflow.zep.h +++ b/ext/stub/flow/switchflow.zep.h @@ -18,74 +18,37 @@ PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch12); PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch13); PHP_METHOD(Stub_Flow_SwitchFlow, testSwitch14); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch2, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch2, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch3, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch3, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch4, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch4, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch5, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch5, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch6, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch6, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch7, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch7, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch8, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch8, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch9, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch9, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch10, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_flow_switchflow_testswitch10, 0, 0, IS_LONG, NULL, 0) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_switchflow_testswitch11, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_switchflow_testswitch12, 0, 0, 2) @@ -94,11 +57,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_switchflow_testswitch12, 0, 0, 2) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_switchflow_testswitch13, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_flow_switchflow_testswitch14, 0, 0, 0) @@ -116,7 +75,11 @@ ZEPHIR_INIT_FUNCS(stub_flow_switchflow_method_entry) { PHP_ME(Stub_Flow_SwitchFlow, testSwitch8, arginfo_stub_flow_switchflow_testswitch8, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow_SwitchFlow, testSwitch9, arginfo_stub_flow_switchflow_testswitch9, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow_SwitchFlow, testSwitch10, arginfo_stub_flow_switchflow_testswitch10, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Flow_SwitchFlow, testSwitch11, arginfo_stub_flow_switchflow_testswitch11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Flow_SwitchFlow, testSwitch11, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Flow_SwitchFlow, testSwitch12, arginfo_stub_flow_switchflow_testswitch12, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow_SwitchFlow, testSwitch13, arginfo_stub_flow_switchflow_testswitch13, ZEND_ACC_PUBLIC) PHP_ME(Stub_Flow_SwitchFlow, testSwitch14, arginfo_stub_flow_switchflow_testswitch14, ZEND_ACC_PUBLIC) diff --git a/ext/stub/fortytwo.zep.c b/ext/stub/fortytwo.zep.c index 236216eaca..83827a74de 100644 --- a/ext/stub/fortytwo.zep.c +++ b/ext/stub/fortytwo.zep.c @@ -48,6 +48,7 @@ PHP_METHOD(Stub_FortyTwo, proof) { ZVAL_UNDEF(&_11$$7); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&box); diff --git a/ext/stub/fortytwo.zep.h b/ext/stub/fortytwo.zep.h index ce3bb51f8f..9d044add87 100644 --- a/ext/stub/fortytwo.zep.h +++ b/ext/stub/fortytwo.zep.h @@ -5,16 +5,8 @@ ZEPHIR_INIT_CLASS(Stub_FortyTwo); PHP_METHOD(Stub_FortyTwo, proof); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fortytwo_proof, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_fortytwo_proof, 0, 0, IS_VOID, NULL, 0) -#endif ZEND_END_ARG_INFO() -#else -#define arginfo_stub_fortytwo_proof NULL -#endif ZEPHIR_INIT_FUNCS(stub_fortytwo_method_entry) { PHP_ME(Stub_FortyTwo, proof, arginfo_stub_fortytwo_proof, ZEND_ACC_PUBLIC) diff --git a/ext/stub/functional.zep.c b/ext/stub/functional.zep.c index 38cc8ee92d..e9e43425cd 100644 --- a/ext/stub/functional.zep.c +++ b/ext/stub/functional.zep.c @@ -37,6 +37,14 @@ PHP_METHOD(Stub_Functional, map1) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -64,6 +72,15 @@ PHP_METHOD(Stub_Functional, map2) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ARRAY(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a_param, &b); diff --git a/ext/stub/functionexists.zep.c b/ext/stub/functionexists.zep.c index 9a09bea43a..f3b061508e 100644 --- a/ext/stub/functionexists.zep.c +++ b/ext/stub/functionexists.zep.c @@ -35,6 +35,14 @@ PHP_METHOD(Stub_FunctionExists, testWithPassedName) { zval *this_ptr = getThis(); ZVAL_UNDEF(&func); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(func) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &func_param); @@ -42,7 +50,7 @@ PHP_METHOD(Stub_FunctionExists, testWithPassedName) { zephir_get_strval(&func, func_param); - RETURN_MM_BOOL((zephir_function_exists(&func) == SUCCESS)); + RETURN_MM_BOOL((zephir_function_exists(&func) == SUCCESS)); } @@ -62,6 +70,7 @@ PHP_METHOD(Stub_FunctionExists, testBuiltInFunctions) { ZVAL_UNDEF(&result); ZVAL_UNDEF(&functions); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&result); @@ -99,7 +108,7 @@ PHP_METHOD(Stub_FunctionExists, testBuiltInFunctions) { ZEPHIR_INIT_NVAR(&func); ZVAL_COPY(&func, _1); ZEPHIR_INIT_NVAR(&_3$$3); - ZVAL_BOOL(&_3$$3, (zephir_function_exists(&func) == SUCCESS)); + ZVAL_BOOL(&_3$$3, (zephir_function_exists(&func) == SUCCESS)); zephir_array_update_zval(&result, &func, &_3$$3, PH_COPY | PH_SEPARATE); } ZEND_HASH_FOREACH_END(); } else { @@ -114,7 +123,7 @@ PHP_METHOD(Stub_FunctionExists, testBuiltInFunctions) { ZEPHIR_CALL_METHOD(&func, &functions, "current", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_4$$4); - ZVAL_BOOL(&_4$$4, (zephir_function_exists(&func) == SUCCESS)); + ZVAL_BOOL(&_4$$4, (zephir_function_exists(&func) == SUCCESS)); zephir_array_update_zval(&result, &func, &_4$$4, PH_COPY | PH_SEPARATE); ZEPHIR_CALL_METHOD(NULL, &functions, "next", NULL, 0); zephir_check_call_status(); @@ -130,6 +139,7 @@ PHP_METHOD(Stub_FunctionExists, testWithString) { zval *this_ptr = getThis(); + RETURN_BOOL((zephir_function_exists_ex(ZEND_STRL("substr")) == SUCCESS)); } diff --git a/ext/stub/functionexists.zep.h b/ext/stub/functionexists.zep.h index 526842cb57..fad0a789e2 100644 --- a/ext/stub/functionexists.zep.h +++ b/ext/stub/functionexists.zep.h @@ -7,30 +7,14 @@ PHP_METHOD(Stub_FunctionExists, testWithPassedName); PHP_METHOD(Stub_FunctionExists, testBuiltInFunctions); PHP_METHOD(Stub_FunctionExists, testWithString); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functionexists_testwithpassedname, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functionexists_testwithpassedname, 0, 1, _IS_BOOL, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, func, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, func) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functionexists_testbuiltinfunctions, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functionexists_testbuiltinfunctions, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functionexists_testwithstring, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functionexists_testwithstring, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_functionexists_method_entry) { diff --git a/ext/stub/functions.zep.c b/ext/stub/functions.zep.c new file mode 100644 index 0000000000..9b29b99764 --- /dev/null +++ b/ext/stub/functions.zep.c @@ -0,0 +1,84 @@ + +#ifdef HAVE_CONFIG_H +#include "../ext_config.h" +#endif + +#include +#include "../php_ext.h" +#include "../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/memory.h" +#include "kernel/fcall.h" +#include "kernel/operators.h" +#include "kernel/object.h" + + +ZEPHIR_INIT_CLASS(Stub_Functions) { + + ZEPHIR_REGISTER_CLASS(Stub, Functions, stub, functions, stub_functions_method_entry, 0); + + return SUCCESS; + +} + +/** + * @issue https://github.com/zephir-lang/zephir/issues/658 + */ +PHP_METHOD(Stub_Functions, filterVar1) { + + zval ret, _0, _1, _2; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&ret); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_2); + + + ZEPHIR_MM_GROW(); + + ZEPHIR_INIT_VAR(&ret); + ZVAL_STRING(&ret, "0"); + ZVAL_LONG(&_0, 259); + ZVAL_LONG(&_1, 20480); + ZEPHIR_CALL_FUNCTION(&_2, "filter_var", NULL, 43, &ret, &_0, &_1); + zephir_check_call_status(); + RETURN_MM_BOOL(ZEPHIR_IS_FALSE_IDENTICAL(&_2)); + +} + +/** + * @issue https://github.com/zephir-lang/zephir/issues/658 + */ +PHP_METHOD(Stub_Functions, filterVar2) { + + zval ret, _0, _1, _2; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&ret); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_2); + + + ZEPHIR_MM_GROW(); + + ZEPHIR_INIT_VAR(&ret); + ZVAL_STRING(&ret, "0"); + ZVAL_LONG(&_0, 259); + ZVAL_LONG(&_1, 20480); + 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/functions.zep.h b/ext/stub/functions.zep.h new file mode 100644 index 0000000000..178624a43d --- /dev/null +++ b/ext/stub/functions.zep.h @@ -0,0 +1,19 @@ + +extern zend_class_entry *stub_functions_ce; + +ZEPHIR_INIT_CLASS(Stub_Functions); + +PHP_METHOD(Stub_Functions, filterVar1); +PHP_METHOD(Stub_Functions, filterVar2); + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functions_filtervar1, 0, 0, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_functions_filtervar2, 0, 0, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_functions_method_entry) { + PHP_ME(Stub_Functions, filterVar1, arginfo_stub_functions_filtervar1, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Functions, filterVar2, arginfo_stub_functions_filtervar2, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/geometry.zep.c b/ext/stub/geometry.zep.c index 198fb74c42..2f59fe1a10 100644 --- a/ext/stub/geometry.zep.c +++ b/ext/stub/geometry.zep.c @@ -46,6 +46,15 @@ PHP_METHOD(Stub_Geometry, run) { ZVAL_UNDEF(&_6$$3); ZVAL_UNDEF(&_7$$3); ZVAL_UNDEF(&_8$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ARRAY(list) + Z_PARAM_LONG(count) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &list_param, &count_param); @@ -90,6 +99,15 @@ PHP_METHOD(Stub_Geometry, runOptimize) { ZVAL_UNDEF(&_2$$3); ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ARRAY(list) + Z_PARAM_LONG(count) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &list_param, &count_param); @@ -124,6 +142,17 @@ PHP_METHOD(Stub_Geometry, distanceStatic) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_ZVAL(x1) + Z_PARAM_ZVAL(y1) + Z_PARAM_ZVAL(x2) + Z_PARAM_ZVAL(y2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(4, 0, &x1_param, &y1_param, &x2_param, &y2_param); diff --git a/ext/stub/geometry.zep.h b/ext/stub/geometry.zep.h index 19acd1f1c5..7abc803912 100644 --- a/ext/stub/geometry.zep.h +++ b/ext/stub/geometry.zep.h @@ -7,69 +7,23 @@ PHP_METHOD(Stub_Geometry, run); PHP_METHOD(Stub_Geometry, runOptimize); PHP_METHOD(Stub_Geometry, distanceStatic); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_geometry_run, 0, 2, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_geometry_run, 0, 2, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_geometry_run, 0, 0, 2) -#define arginfo_stub_geometry_run NULL -#endif ZEND_ARG_ARRAY_INFO(0, list, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, count) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_geometry_runoptimize, 0, 2, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_geometry_runoptimize, 0, 2, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_geometry_runoptimize, 0, 0, 2) -#define arginfo_stub_geometry_runoptimize NULL -#endif ZEND_ARG_ARRAY_INFO(0, list, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, count) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_geometry_distancestatic, 0, 4, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_geometry_distancestatic, 0, 4, IS_DOUBLE, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, x1, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, x1) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, y1, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, y1) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, x2, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, x2) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, y2, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, y2) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_geometry_method_entry) { diff --git a/ext/stub/globals.zep.c b/ext/stub/globals.zep.c index b31238e9e3..7d6df309ab 100644 --- a/ext/stub/globals.zep.c +++ b/ext/stub/globals.zep.c @@ -30,6 +30,14 @@ PHP_METHOD(Stub_Globals, setBoolValueUsingDotNotation) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &value); @@ -45,6 +53,14 @@ PHP_METHOD(Stub_Globals, setIntValueUsingDotNotation) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &value); @@ -60,6 +76,14 @@ PHP_METHOD(Stub_Globals, setCharValue) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &value); @@ -75,6 +99,14 @@ PHP_METHOD(Stub_Globals, setBoolValue) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &value); @@ -90,6 +122,14 @@ PHP_METHOD(Stub_Globals, setDefaultGlobalsOrmCacheLevel) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &value); @@ -107,6 +147,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals1) { zval *this_ptr = getThis(); + RETURN_BOOL(ZEPHIR_GLOBAL(db).my_setting_1); } @@ -119,6 +160,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals2) { zval *this_ptr = getThis(); + RETURN_LONG(ZEPHIR_GLOBAL(db).my_setting_2); } @@ -131,6 +173,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals3) { zval *this_ptr = getThis(); + RETURN_DOUBLE(ZEPHIR_GLOBAL(db).my_setting_3); } @@ -143,6 +186,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals4) { zval *this_ptr = getThis(); + RETURN_BOOL(ZEPHIR_GLOBAL(my_setting_1)); } @@ -155,6 +199,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals5) { zval *this_ptr = getThis(); + RETURN_LONG(ZEPHIR_GLOBAL(my_setting_2)); } @@ -167,6 +212,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals6) { zval *this_ptr = getThis(); + RETURN_DOUBLE(ZEPHIR_GLOBAL(my_setting_3)); } @@ -179,6 +225,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals7) { zval *this_ptr = getThis(); + RETURN_LONG(ZEPHIR_GLOBAL(my_setting_4)); } @@ -191,6 +238,7 @@ PHP_METHOD(Stub_Globals, getDefaultGlobalsOrmCacheLevel) { zval *this_ptr = getThis(); + RETURN_LONG(ZEPHIR_GLOBAL(orm).cache_level); } diff --git a/ext/stub/globals.zep.h b/ext/stub/globals.zep.h index a112acb736..25887d0210 100644 --- a/ext/stub/globals.zep.h +++ b/ext/stub/globals.zep.h @@ -17,89 +17,100 @@ PHP_METHOD(Stub_Globals, getDefaultGlobals6); PHP_METHOD(Stub_Globals, getDefaultGlobals7); PHP_METHOD(Stub_Globals, getDefaultGlobalsOrmCacheLevel); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setboolvalueusingdotnotation, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setboolvalueusingdotnotation, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_setboolvalueusingdotnotation, 0, 0, 1) -#define arginfo_stub_globals_setboolvalueusingdotnotation NULL -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setintvalueusingdotnotation, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setintvalueusingdotnotation, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_setintvalueusingdotnotation, 0, 0, 1) -#define arginfo_stub_globals_setintvalueusingdotnotation NULL -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setcharvalue, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setcharvalue, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_setcharvalue, 0, 0, 1) -#define arginfo_stub_globals_setcharvalue NULL -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setboolvalue, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setboolvalue, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_setboolvalue, 0, 0, 1) -#define arginfo_stub_globals_setboolvalue NULL -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setdefaultglobalsormcachelevel, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_setdefaultglobalsormcachelevel, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_setdefaultglobalsormcachelevel, 0, 0, 1) -#define arginfo_stub_globals_setdefaultglobalsormcachelevel NULL -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobals7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_getdefaultglobalsormcachelevel, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_globals_method_entry) { PHP_ME(Stub_Globals, setBoolValueUsingDotNotation, arginfo_stub_globals_setboolvalueusingdotnotation, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals, setIntValueUsingDotNotation, arginfo_stub_globals_setintvalueusingdotnotation, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals, setCharValue, arginfo_stub_globals_setcharvalue, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals, setBoolValue, arginfo_stub_globals_setboolvalue, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals, setDefaultGlobalsOrmCacheLevel, arginfo_stub_globals_setdefaultglobalsormcachelevel, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals1, arginfo_stub_globals_getdefaultglobals1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals2, arginfo_stub_globals_getdefaultglobals2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals3, arginfo_stub_globals_getdefaultglobals3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals4, arginfo_stub_globals_getdefaultglobals4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals5, arginfo_stub_globals_getdefaultglobals5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals6, arginfo_stub_globals_getdefaultglobals6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobals7, arginfo_stub_globals_getdefaultglobals7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobals7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals, getDefaultGlobalsOrmCacheLevel, arginfo_stub_globals_getdefaultglobalsormcachelevel, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals, getDefaultGlobalsOrmCacheLevel, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/globals/env.zep.c b/ext/stub/globals/env.zep.c index 6702953965..bec3da2c8e 100644 --- a/ext/stub/globals/env.zep.c +++ b/ext/stub/globals/env.zep.c @@ -12,9 +12,9 @@ #include #include "kernel/main.h" +#include "kernel/memory.h" #include "kernel/array.h" #include "kernel/operators.h" -#include "kernel/memory.h" #include "kernel/object.h" @@ -36,6 +36,14 @@ PHP_METHOD(Stub_Globals_Env, read) { ZVAL_UNDEF(&name); ZVAL_UNDEF(&_ENV); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_ENV, SL("_ENV")); @@ -44,8 +52,13 @@ PHP_METHOD(Stub_Globals_Env, read) { zephir_get_strval(&name, name_param); - zephir_array_fetch(&_0, &_ENV, &name, PH_NOISY | PH_READONLY, "stub/globals/env.zep", 8); - RETURN_CTOR(&_0); + ZEPHIR_INIT_VAR(&_0); + if (zephir_array_isset(&_ENV, &name)) { + zephir_array_fetch(&_0, &_ENV, &name, PH_NOISY, "stub/globals/env.zep", 8); + } else { + ZVAL_BOOL(&_0, 0); + } + RETURN_CCTOR(&_0); } diff --git a/ext/stub/globals/env.zep.h b/ext/stub/globals/env.zep.h index bc332428fb..0252aa82fe 100644 --- a/ext/stub/globals/env.zep.h +++ b/ext/stub/globals/env.zep.h @@ -6,11 +6,7 @@ ZEPHIR_INIT_CLASS(Stub_Globals_Env); PHP_METHOD(Stub_Globals_Env, read); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_env_read, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_globals_env_method_entry) { diff --git a/ext/stub/globals/post.zep.c b/ext/stub/globals/post.zep.c index 9e2ad3c1c6..32a4552d06 100644 --- a/ext/stub/globals/post.zep.c +++ b/ext/stub/globals/post.zep.c @@ -29,7 +29,7 @@ ZEPHIR_INIT_CLASS(Stub_Globals_Post) { /** * Tests "Invalid superglobal for _POST" * - * @issue https://github.com/phalcon/zephir/issues/1623 + * @issue https://github.com/zephir-lang/zephir/issues/1623 */ PHP_METHOD(Stub_Globals_Post, hasValue) { @@ -40,6 +40,14 @@ PHP_METHOD(Stub_Globals_Post, hasValue) { ZVAL_UNDEF(&name); ZVAL_UNDEF(&_POST); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_POST, SL("_POST")); diff --git a/ext/stub/globals/post.zep.h b/ext/stub/globals/post.zep.h index 89b3fa5842..3f30d9ee31 100644 --- a/ext/stub/globals/post.zep.h +++ b/ext/stub/globals/post.zep.h @@ -5,16 +5,8 @@ ZEPHIR_INIT_CLASS(Stub_Globals_Post); PHP_METHOD(Stub_Globals_Post, hasValue); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_post_hasvalue, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_post_hasvalue, 0, 1, _IS_BOOL, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_globals_post_method_entry) { diff --git a/ext/stub/globals/server.zep.c b/ext/stub/globals/server.zep.c index 0107420078..11a53edec3 100644 --- a/ext/stub/globals/server.zep.c +++ b/ext/stub/globals/server.zep.c @@ -27,7 +27,7 @@ ZEPHIR_INIT_CLASS(Stub_Globals_Server) { } /** - * @see https://github.com/phalcon/zephir/issues/1961 + * @see https://github.com/zephir-lang/zephir/issues/1961 */ PHP_METHOD(Stub_Globals_Server, f1) { @@ -40,6 +40,7 @@ PHP_METHOD(Stub_Globals_Server, f1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); zephir_get_global(&_SERVER, SL("_SERVER")); @@ -61,6 +62,7 @@ PHP_METHOD(Stub_Globals_Server, f2) { ZVAL_UNDEF(&_SERVER); ZVAL_UNDEF(&_0); + zephir_get_global(&_SERVER, SL("_SERVER")); zephir_array_fetch_string(&_0, &_SERVER, SL("SCRIPT_NAME"), PH_NOISY | PH_READONLY, "stub/globals/server.zep", 17); @@ -69,7 +71,7 @@ PHP_METHOD(Stub_Globals_Server, f2) { } /** - * @see https://github.com/phalcon/zephir/issues/1970 + * @see https://github.com/zephir-lang/zephir/issues/1970 */ PHP_METHOD(Stub_Globals_Server, check) { @@ -79,6 +81,7 @@ PHP_METHOD(Stub_Globals_Server, check) { ZVAL_UNDEF(&_SERVER); ZVAL_UNDEF(&_0); + zephir_get_global(&_SERVER, SL("_SERVER")); zephir_array_fetch_string(&_0, &_SERVER, SL("HTTP_USER_AGENT"), PH_NOISY | PH_READONLY, "stub/globals/server.zep", 25); diff --git a/ext/stub/globals/server.zep.h b/ext/stub/globals/server.zep.h index 696e368011..d2e0a123ad 100644 --- a/ext/stub/globals/server.zep.h +++ b/ext/stub/globals/server.zep.h @@ -7,31 +7,22 @@ PHP_METHOD(Stub_Globals_Server, f1); PHP_METHOD(Stub_Globals_Server, f2); PHP_METHOD(Stub_Globals_Server, check); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_server_f1, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_server_f1, 0, 0, IS_VOID, NULL, 0) -#endif ZEND_END_ARG_INFO() -#else -#define arginfo_stub_globals_server_f1 NULL -#endif -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_server_f2, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_server_f2, 0, 0, IS_VOID, NULL, 0) -#endif ZEND_END_ARG_INFO() -#else -#define arginfo_stub_globals_server_f2 NULL -#endif + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_server_check, 0, 0, 0) +ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_globals_server_method_entry) { PHP_ME(Stub_Globals_Server, f1, arginfo_stub_globals_server_f1, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals_Server, f2, arginfo_stub_globals_server_f2, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals_Server, check, arginfo_stub_globals_server_check, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals_Server, check, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/globals/serverrequestfactory.zep.c b/ext/stub/globals/serverrequestfactory.zep.c index 859e9698e9..2e18d0f26b 100644 --- a/ext/stub/globals/serverrequestfactory.zep.c +++ b/ext/stub/globals/serverrequestfactory.zep.c @@ -28,7 +28,7 @@ ZEPHIR_INIT_CLASS(Stub_Globals_ServerRequestFactory) { } /** - * @link https://github.com/phalcon/zephir/issues/1934 + * @link https://github.com/zephir-lang/zephir/issues/1934 */ PHP_METHOD(Stub_Globals_ServerRequestFactory, load) { @@ -59,6 +59,19 @@ PHP_METHOD(Stub_Globals_ServerRequestFactory, load) { ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); ZVAL_UNDEF(&_5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 5) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY_OR_NULL(server) + Z_PARAM_ARRAY_OR_NULL(get) + Z_PARAM_ARRAY_OR_NULL(post) + Z_PARAM_ARRAY_OR_NULL(cookies) + Z_PARAM_ARRAY_OR_NULL(files) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_SERVER, SL("_SERVER")); @@ -125,19 +138,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); @@ -163,6 +176,15 @@ PHP_METHOD(Stub_Globals_ServerRequestFactory, checkNullArray) { ZVAL_UNDEF(&source_sub); ZVAL_UNDEF(&super); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(source) + Z_PARAM_ARRAY(super) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &source, &super_param); diff --git a/ext/stub/globals/serverrequestfactory.zep.h b/ext/stub/globals/serverrequestfactory.zep.h index 6e193eda79..7f2ea8985d 100644 --- a/ext/stub/globals/serverrequestfactory.zep.h +++ b/ext/stub/globals/serverrequestfactory.zep.h @@ -6,11 +6,7 @@ ZEPHIR_INIT_CLASS(Stub_Globals_ServerRequestFactory); PHP_METHOD(Stub_Globals_ServerRequestFactory, load); PHP_METHOD(Stub_Globals_ServerRequestFactory, checkNullArray); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_serverrequestfactory_load, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_serverrequestfactory_load, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_ARRAY_INFO(0, server, 1) ZEND_ARG_ARRAY_INFO(0, get, 1) ZEND_ARG_ARRAY_INFO(0, post, 1) @@ -18,11 +14,7 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_serverrequestfactor ZEND_ARG_ARRAY_INFO(0, files, 1) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_serverrequestfactory_checknullarray, 0, 2, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_globals_serverrequestfactory_checknullarray, 0, 2, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_INFO(0, source) ZEND_ARG_ARRAY_INFO(0, super, 0) ZEND_END_ARG_INFO() diff --git a/ext/stub/globals/session/base.zep.c b/ext/stub/globals/session/base.zep.c index 68cc0a81ed..0fb712b76a 100644 --- a/ext/stub/globals/session/base.zep.c +++ b/ext/stub/globals/session/base.zep.c @@ -37,6 +37,15 @@ PHP_METHOD(Stub_Globals_Session_Base, set) { ZVAL_UNDEF(&index); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_SESSION); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(index) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_SESSION, SL("_SESSION")); @@ -60,6 +69,14 @@ PHP_METHOD(Stub_Globals_Session_Base, remove) { ZVAL_UNDEF(&index); ZVAL_UNDEF(&_SESSION); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_get_global(&_SESSION, SL("_SESSION")); @@ -83,6 +100,15 @@ PHP_METHOD(Stub_Globals_Session_Base, __set) { ZVAL_UNDEF(&index); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(index) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &index_param, &value); @@ -105,6 +131,14 @@ PHP_METHOD(Stub_Globals_Session_Base, __unset) { zval *this_ptr = getThis(); ZVAL_UNDEF(&index); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &index_param); @@ -132,6 +166,7 @@ PHP_METHOD(Stub_Globals_Session_Base, removeSessionData) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); zephir_get_global(&_SESSION, SL("_SESSION")); diff --git a/ext/stub/globals/session/base.zep.h b/ext/stub/globals/session/base.zep.h index 71d076410f..d1bad5eb87 100644 --- a/ext/stub/globals/session/base.zep.h +++ b/ext/stub/globals/session/base.zep.h @@ -10,37 +10,24 @@ PHP_METHOD(Stub_Globals_Session_Base, __unset); PHP_METHOD(Stub_Globals_Session_Base, removeSessionData); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_session_base_set, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, index) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_session_base_remove, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, index) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_session_base___set, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, index) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_session_base___unset, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, index, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, index) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_session_base_removesessiondata, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_globals_session_base_method_entry) { @@ -48,6 +35,10 @@ ZEPHIR_INIT_FUNCS(stub_globals_session_base_method_entry) { PHP_ME(Stub_Globals_Session_Base, remove, arginfo_stub_globals_session_base_remove, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals_Session_Base, __set, arginfo_stub_globals_session_base___set, ZEND_ACC_PUBLIC) PHP_ME(Stub_Globals_Session_Base, __unset, arginfo_stub_globals_session_base___unset, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals_Session_Base, removeSessionData, arginfo_stub_globals_session_base_removesessiondata, ZEND_ACC_PROTECTED) +#else PHP_ME(Stub_Globals_Session_Base, removeSessionData, NULL, ZEND_ACC_PROTECTED) +#endif PHP_FE_END }; diff --git a/ext/stub/globals/session/child.zep.c b/ext/stub/globals/session/child.zep.c index 56d58570e8..1ca82031ad 100644 --- a/ext/stub/globals/session/child.zep.c +++ b/ext/stub/globals/session/child.zep.c @@ -32,6 +32,7 @@ PHP_METHOD(Stub_Globals_Session_Child, destroy) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "removesessiondata", NULL, 0); diff --git a/ext/stub/globals/session/child.zep.h b/ext/stub/globals/session/child.zep.h index 57777ceaed..d490cd0a8e 100644 --- a/ext/stub/globals/session/child.zep.h +++ b/ext/stub/globals/session/child.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_Globals_Session_Child); PHP_METHOD(Stub_Globals_Session_Child, destroy); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_globals_session_child_destroy, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_globals_session_child_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Globals_Session_Child, destroy, arginfo_stub_globals_session_child_destroy, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Globals_Session_Child, destroy, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/instance.zep.c b/ext/stub/instance.zep.c index a153bbeb2f..7bbc90c50a 100644 --- a/ext/stub/instance.zep.c +++ b/ext/stub/instance.zep.c @@ -14,6 +14,7 @@ #include "kernel/main.h" #include "kernel/memory.h" #include "kernel/object.h" +#include "ext/spl/spl_array.h" #include "kernel/array.h" #include "kernel/fcall.h" #include "kernel/operators.h" @@ -46,6 +47,24 @@ PHP_METHOD(Stub_Instance, __construct) { ZVAL_UNDEF(&a9_sub); ZVAL_UNDEF(&a10_sub); ZVAL_UNDEF(&a11_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(11, 11) + Z_PARAM_OBJECT_OF_CLASS(a1, stub_arithmetic_ce) + Z_PARAM_OBJECT_OF_CLASS(a2, spl_ce_ArrayObject) + Z_PARAM_OBJECT_OF_CLASS(a3, stub_assign_ce) + Z_PARAM_OBJECT_OF_CLASS(a4, stub_bitwise_ce) + Z_PARAM_OBJECT_OF_CLASS(a5, stub_branchprediction_ce) + Z_PARAM_OBJECT_OF_CLASS(a6, stub_cast_ce) + Z_PARAM_OBJECT_OF_CLASS(a7, stub_cblock_ce) + Z_PARAM_OBJECT_OF_CLASS(a8, stub_chars_ce) + Z_PARAM_OBJECT_OF_CLASS(a9, stub_closures_ce) + Z_PARAM_OBJECT_OF_CLASS(a10, stub_compare_ce) + Z_PARAM_OBJECT_OF_CLASS(a11, stub_concat_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(11, 0, &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10, &a11); @@ -64,6 +83,7 @@ PHP_METHOD(Stub_Instance, testIssue1339) { ZVAL_UNDEF(¶meters); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(¶meters); @@ -77,7 +97,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); @@ -160,6 +180,14 @@ PHP_METHOD(Stub_Instance, testInstanceCreate) { zval *this_ptr = getThis(); ZVAL_UNDEF(&className); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(className) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &className_param); diff --git a/ext/stub/instance.zep.h b/ext/stub/instance.zep.h index 0eecff8187..462b76736b 100644 --- a/ext/stub/instance.zep.h +++ b/ext/stub/instance.zep.h @@ -21,23 +21,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_instance___construct, 0, 0, 11) ZEND_ARG_OBJ_INFO(0, a11, Stub\\Concat, 0) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_instance_testissue1339, 0, 0, Stub\\Instance, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instance_testissue1339, 0, 0, IS_OBJECT, "Stub\\Instance", 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_instance_testinstancecreate, 0, 1, Stub\\Instance, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instance_testinstancecreate, 0, 1, IS_OBJECT, "Stub\\Instance", 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, className, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, className) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_instance_method_entry) { diff --git a/ext/stub/instanceoff.zep.c b/ext/stub/instanceoff.zep.c index c635de740d..9188e07248 100644 --- a/ext/stub/instanceoff.zep.c +++ b/ext/stub/instanceoff.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf1) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -54,6 +55,7 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf2) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -74,6 +76,7 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf3) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -88,6 +91,14 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf4) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -106,6 +117,14 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf5) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -127,6 +146,7 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf6) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -145,6 +165,14 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf7) { zval *this_ptr = getThis(); ZVAL_UNDEF(&test_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT(test) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &test); @@ -164,6 +192,14 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf8) { ZVAL_UNDEF(&test); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(test) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &test_param); @@ -190,6 +226,15 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf9) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&test); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_OBJECT(a) + Z_PARAM_STR(test) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &test_param); diff --git a/ext/stub/instanceoff.zep.h b/ext/stub/instanceoff.zep.h index 56f7f4ff7f..ea1c94f79f 100644 --- a/ext/stub/instanceoff.zep.h +++ b/ext/stub/instanceoff.zep.h @@ -13,81 +13,37 @@ PHP_METHOD(Stub_Instanceoff, testInstanceOf7); PHP_METHOD(Stub_Instanceoff, testInstanceOf8); PHP_METHOD(Stub_Instanceoff, testInstanceOf9); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof1, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof1, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof2, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof2, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof3, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof3, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof4, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof4, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof5, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof5, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof6, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof6, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof7, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof7, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, test) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof8, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof8, 0, 1, _IS_BOOL, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, test, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, test) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof9, 0, 2, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_instanceoff_testinstanceof9, 0, 2, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, test, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, test) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_instanceoff_method_entry) { diff --git a/ext/stub/interfaces/implementint.zep.c b/ext/stub/interfaces/implementint.zep.c new file mode 100644 index 0000000000..d37f248435 --- /dev/null +++ b/ext/stub/interfaces/implementint.zep.c @@ -0,0 +1,67 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/object.h" +#include "kernel/memory.h" +#include "kernel/operators.h" + + +ZEPHIR_INIT_CLASS(Stub_Interfaces_ImplementInt) { + + ZEPHIR_REGISTER_CLASS(Stub\\Interfaces, ImplementInt, stub, interfaces_implementint, stub_interfaces_implementint_method_entry, 0); + + zend_declare_property_null(stub_interfaces_implementint_ce, SL("val"), ZEND_ACC_PROTECTED); + + zend_class_implements(stub_interfaces_implementint_ce, 1, stub_interfaces_interfaceint_ce); + return SUCCESS; + +} + +PHP_METHOD(Stub_Interfaces_ImplementInt, set) { + + zval *val_param = NULL, _0; + zend_long val; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(val) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + zephir_fetch_params_without_memory_grow(1, 0, &val_param); + + val = zephir_get_intval(val_param); + + + ZEPHIR_INIT_ZVAL_NREF(_0); + ZVAL_LONG(&_0, val); + zephir_update_property_zval(this_ptr, ZEND_STRL("val"), &_0); + +} + +PHP_METHOD(Stub_Interfaces_ImplementInt, get) { + + zval *this_ptr = getThis(); + + + + RETURN_MEMBER(getThis(), "val"); + +} + diff --git a/ext/stub/interfaces/implementint.zep.h b/ext/stub/interfaces/implementint.zep.h new file mode 100644 index 0000000000..aa8ff04d39 --- /dev/null +++ b/ext/stub/interfaces/implementint.zep.h @@ -0,0 +1,21 @@ + +extern zend_class_entry *stub_interfaces_implementint_ce; + +ZEPHIR_INIT_CLASS(Stub_Interfaces_ImplementInt); + +PHP_METHOD(Stub_Interfaces_ImplementInt, set); +PHP_METHOD(Stub_Interfaces_ImplementInt, get); + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_implementint_set, 0, 1, IS_VOID, 0) + + ZEND_ARG_TYPE_INFO(0, val, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_implementint_get, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_interfaces_implementint_method_entry) { + PHP_ME(Stub_Interfaces_ImplementInt, set, arginfo_stub_interfaces_implementint_set, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Interfaces_ImplementInt, get, arginfo_stub_interfaces_implementint_get, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/interfaces/implementinterface.zep.c b/ext/stub/interfaces/implementinterface.zep.c new file mode 100644 index 0000000000..061aa76cf5 --- /dev/null +++ b/ext/stub/interfaces/implementinterface.zep.c @@ -0,0 +1,91 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/fcall.h" +#include "kernel/memory.h" +#include "kernel/object.h" + + +ZEPHIR_INIT_CLASS(Stub_Interfaces_ImplementInterface) { + + ZEPHIR_REGISTER_CLASS(Stub\\Interfaces, ImplementInterface, stub, interfaces_implementinterface, stub_interfaces_implementinterface_method_entry, 0); + + zend_declare_property_null(stub_interfaces_implementinterface_ce, SL("obj"), ZEND_ACC_PROTECTED); + + zend_class_implements(stub_interfaces_implementinterface_ce, 1, stub_interfaces_interfaceintsignature_ce); + return SUCCESS; + +} + +PHP_METHOD(Stub_Interfaces_ImplementInterface, get) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *obj, obj_sub; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&obj_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(obj, stub_interfaces_interfaceint_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &obj); + + + + ZEPHIR_RETURN_CALL_METHOD(obj, "get", NULL, 0); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Interfaces_ImplementInterface, getVoid) { + + zval *obj, obj_sub; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&obj_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(obj, stub_interfaces_interfaceint_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + zephir_fetch_params_without_memory_grow(1, 0, &obj); + + + + zephir_update_property_zval(this_ptr, ZEND_STRL("obj"), obj); + +} + +PHP_METHOD(Stub_Interfaces_ImplementInterface, getObj) { + + zval *this_ptr = getThis(); + + + + RETURN_MEMBER(getThis(), "obj"); + +} + diff --git a/ext/stub/interfaces/implementinterface.zep.h b/ext/stub/interfaces/implementinterface.zep.h new file mode 100644 index 0000000000..ce42ba4b7b --- /dev/null +++ b/ext/stub/interfaces/implementinterface.zep.h @@ -0,0 +1,27 @@ + +extern zend_class_entry *stub_interfaces_implementinterface_ce; + +ZEPHIR_INIT_CLASS(Stub_Interfaces_ImplementInterface); + +PHP_METHOD(Stub_Interfaces_ImplementInterface, get); +PHP_METHOD(Stub_Interfaces_ImplementInterface, getVoid); +PHP_METHOD(Stub_Interfaces_ImplementInterface, getObj); + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_implementinterface_get, 0, 1, IS_LONG, 0) + ZEND_ARG_OBJ_INFO(0, obj, Stub\\Interfaces\\InterfaceInt, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_implementinterface_getvoid, 0, 1, IS_VOID, 0) + + ZEND_ARG_OBJ_INFO(0, obj, Stub\\Interfaces\\InterfaceInt, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_interfaces_implementinterface_getobj, 0, 0, Stub\\Interfaces\\InterfaceInt, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_interfaces_implementinterface_method_entry) { + PHP_ME(Stub_Interfaces_ImplementInterface, get, arginfo_stub_interfaces_implementinterface_get, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Interfaces_ImplementInterface, getVoid, arginfo_stub_interfaces_implementinterface_getvoid, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Interfaces_ImplementInterface, getObj, arginfo_stub_interfaces_implementinterface_getobj, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/interfaces/interfaceint.zep.c b/ext/stub/interfaces/interfaceint.zep.c new file mode 100644 index 0000000000..a1ba4790fc --- /dev/null +++ b/ext/stub/interfaces/interfaceint.zep.c @@ -0,0 +1,24 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include + +#include "kernel/main.h" + + +ZEPHIR_INIT_CLASS(Stub_Interfaces_InterfaceInt) { + + ZEPHIR_REGISTER_INTERFACE(Stub\\Interfaces, InterfaceInt, stub, interfaces_interfaceint, stub_interfaces_interfaceint_method_entry); + + return SUCCESS; + +} + +ZEPHIR_DOC_METHOD(Stub_Interfaces_InterfaceInt, set); +ZEPHIR_DOC_METHOD(Stub_Interfaces_InterfaceInt, get); diff --git a/ext/stub/interfaces/interfaceint.zep.h b/ext/stub/interfaces/interfaceint.zep.h new file mode 100644 index 0000000000..b70e2858e9 --- /dev/null +++ b/ext/stub/interfaces/interfaceint.zep.h @@ -0,0 +1,18 @@ + +extern zend_class_entry *stub_interfaces_interfaceint_ce; + +ZEPHIR_INIT_CLASS(Stub_Interfaces_InterfaceInt); + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_interfaceint_set, 0, 1, IS_VOID, 0) + + ZEND_ARG_TYPE_INFO(0, val, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_interfaceint_get, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_interfaces_interfaceint_method_entry) { + PHP_ABSTRACT_ME(Stub_Interfaces_InterfaceInt, set, arginfo_stub_interfaces_interfaceint_set) + PHP_ABSTRACT_ME(Stub_Interfaces_InterfaceInt, get, arginfo_stub_interfaces_interfaceint_get) + PHP_FE_END +}; diff --git a/ext/stub/interfaces/interfaceintsignature.zep.c b/ext/stub/interfaces/interfaceintsignature.zep.c new file mode 100644 index 0000000000..1f63b3d656 --- /dev/null +++ b/ext/stub/interfaces/interfaceintsignature.zep.c @@ -0,0 +1,23 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include + +#include "kernel/main.h" + + +ZEPHIR_INIT_CLASS(Stub_Interfaces_InterfaceIntSignature) { + + ZEPHIR_REGISTER_INTERFACE(Stub\\Interfaces, InterfaceIntSignature, stub, interfaces_interfaceintsignature, stub_interfaces_interfaceintsignature_method_entry); + + return SUCCESS; + +} + +ZEPHIR_DOC_METHOD(Stub_Interfaces_InterfaceIntSignature, get); diff --git a/ext/stub/interfaces/interfaceintsignature.zep.h b/ext/stub/interfaces/interfaceintsignature.zep.h new file mode 100644 index 0000000000..560592badf --- /dev/null +++ b/ext/stub/interfaces/interfaceintsignature.zep.h @@ -0,0 +1,13 @@ + +extern zend_class_entry *stub_interfaces_interfaceintsignature_ce; + +ZEPHIR_INIT_CLASS(Stub_Interfaces_InterfaceIntSignature); + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_interfaces_interfaceintsignature_get, 0, 1, IS_LONG, 0) + ZEND_ARG_OBJ_INFO(0, obj, Stub\\Interfaces\\InterfaceInt, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_interfaces_interfaceintsignature_method_entry) { + PHP_ABSTRACT_ME(Stub_Interfaces_InterfaceIntSignature, get, arginfo_stub_interfaces_interfaceintsignature_get) + PHP_FE_END +}; diff --git a/ext/stub/internalclasses.zep.c b/ext/stub/internalclasses.zep.c index 4c0a6ffabe..7f4b0f2d8e 100644 --- a/ext/stub/internalclasses.zep.c +++ b/ext/stub/internalclasses.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_InternalClasses, testStaticCall) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); _0 = zephir_fetch_class_str_ex(SL("Phalcon\\Di"), ZEND_FETCH_CLASS_AUTO); @@ -47,6 +48,7 @@ PHP_METHOD(Stub_InternalClasses, testStaticPropertyFetch) { zval *this_ptr = getThis(); + RETURN_LONG(303); } diff --git a/ext/stub/internalclasses.zep.h b/ext/stub/internalclasses.zep.h index 7829348999..1148679325 100644 --- a/ext/stub/internalclasses.zep.h +++ b/ext/stub/internalclasses.zep.h @@ -6,8 +6,22 @@ ZEPHIR_INIT_CLASS(Stub_InternalClasses); PHP_METHOD(Stub_InternalClasses, testStaticCall); PHP_METHOD(Stub_InternalClasses, testStaticPropertyFetch); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_internalclasses_teststaticcall, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_internalclasses_teststaticpropertyfetch, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_internalclasses_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_InternalClasses, testStaticCall, arginfo_stub_internalclasses_teststaticcall, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_InternalClasses, testStaticCall, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_InternalClasses, testStaticPropertyFetch, arginfo_stub_internalclasses_teststaticpropertyfetch, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_InternalClasses, testStaticPropertyFetch, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/internalinterfaces.zep.c b/ext/stub/internalinterfaces.zep.c index 8379e5e31e..fc030f42d2 100644 --- a/ext/stub/internalinterfaces.zep.c +++ b/ext/stub/internalinterfaces.zep.c @@ -12,7 +12,6 @@ #include #include "kernel/main.h" -#include "ext/spl/spl_iterators.h" #include "kernel/object.h" @@ -20,7 +19,7 @@ ZEPHIR_INIT_CLASS(Stub_InternalInterfaces) { ZEPHIR_REGISTER_CLASS(Stub, InternalInterfaces, stub, internalinterfaces, stub_internalinterfaces_method_entry, 0); - zend_class_implements(stub_internalinterfaces_ce, 1, spl_ce_Countable); + zend_class_implements(stub_internalinterfaces_ce, 1, zend_ce_countable); return SUCCESS; } @@ -31,5 +30,6 @@ PHP_METHOD(Stub_InternalInterfaces, count) { + } diff --git a/ext/stub/internalinterfaces.zep.h b/ext/stub/internalinterfaces.zep.h index d265bf3f4f..3083366114 100644 --- a/ext/stub/internalinterfaces.zep.h +++ b/ext/stub/internalinterfaces.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_InternalInterfaces); PHP_METHOD(Stub_InternalInterfaces, count); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_internalinterfaces_count, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_internalinterfaces_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_InternalInterfaces, count, arginfo_stub_internalinterfaces_count, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_InternalInterfaces, count, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/invoke.zep.c b/ext/stub/invoke.zep.c index 7aa2f69d60..05637b212e 100644 --- a/ext/stub/invoke.zep.c +++ b/ext/stub/invoke.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Invoke, __construct) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -53,6 +54,7 @@ PHP_METHOD(Stub_Invoke, __invoke) { ZVAL_UNDEF(&_0); + zephir_read_property(&_0, this_ptr, ZEND_STRL("a"), PH_NOISY_CC | PH_READONLY); zephir_gettype(return_value, &_0); return; @@ -68,11 +70,12 @@ PHP_METHOD(Stub_Invoke, test) { ZVAL_UNDEF(&func); + ZEPHIR_MM_GROW(); 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/invoke.zep.h b/ext/stub/invoke.zep.h index 1047e2ba6a..523313d408 100644 --- a/ext/stub/invoke.zep.h +++ b/ext/stub/invoke.zep.h @@ -7,22 +7,21 @@ PHP_METHOD(Stub_Invoke, __construct); PHP_METHOD(Stub_Invoke, __invoke); PHP_METHOD(Stub_Invoke, test); -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invoke___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invoke___invoke, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invoke___invoke, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invoke_test, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invoke_test, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_invoke_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Invoke, __construct, arginfo_stub_invoke___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_Invoke, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_ME(Stub_Invoke, __invoke, arginfo_stub_invoke___invoke, ZEND_ACC_PUBLIC) PHP_ME(Stub_Invoke, test, arginfo_stub_invoke_test, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_FE_END diff --git a/ext/stub/invokes/abstractinvoker.zep.c b/ext/stub/invokes/abstractinvoker.zep.c new file mode 100644 index 0000000000..ba6d5d3825 --- /dev/null +++ b/ext/stub/invokes/abstractinvoker.zep.c @@ -0,0 +1,56 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/fcall.h" +#include "kernel/object.h" +#include "kernel/memory.h" + + +ZEPHIR_INIT_CLASS(Stub_Invokes_AbstractInvoker) { + + ZEPHIR_REGISTER_CLASS_EX(Stub\\Invokes, AbstractInvoker, stub, invokes_abstractinvoker, stub_invokes_abstractprotected_ce, stub_invokes_abstractinvoker_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + + return SUCCESS; + +} + +PHP_METHOD(Stub_Invokes_AbstractInvoker, __toString) { + + zval _0; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&_0); + + + ZEPHIR_MM_GROW(); + + zephir_read_property(&_0, this_ptr, ZEND_STRL("text"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "renderarrayelements", NULL, 0, &_0); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Invokes_AbstractInvoker, __invoke) { + + zval *this_ptr = getThis(); + + + + RETURN_THISW(); + +} + diff --git a/ext/stub/invokes/abstractinvoker.zep.h b/ext/stub/invokes/abstractinvoker.zep.h new file mode 100644 index 0000000000..4c0eb0c35a --- /dev/null +++ b/ext/stub/invokes/abstractinvoker.zep.h @@ -0,0 +1,27 @@ + +extern zend_class_entry *stub_invokes_abstractinvoker_ce; + +ZEPHIR_INIT_CLASS(Stub_Invokes_AbstractInvoker); + +PHP_METHOD(Stub_Invokes_AbstractInvoker, __toString); +PHP_METHOD(Stub_Invokes_AbstractInvoker, __invoke); + +#if PHP_VERSION_ID >= 80000 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invokes_abstractinvoker___tostring, 0, 0, IS_STRING, 0) +#else +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invokes_abstractinvoker___tostring, 0, 0, 0) +#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_invokes_abstractinvoker___invoke, 0, 0, Stub\\Invokes\\AbstractInvoker, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_invokes_abstractinvoker_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Invokes_AbstractInvoker, __toString, arginfo_stub_invokes_abstractinvoker___tostring, ZEND_ACC_PUBLIC) +#else + PHP_ME(Stub_Invokes_AbstractInvoker, __toString, NULL, ZEND_ACC_PUBLIC) +#endif + PHP_ME(Stub_Invokes_AbstractInvoker, __invoke, arginfo_stub_invokes_abstractinvoker___invoke, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/invokes/abstractinvokercomplex.zep.c b/ext/stub/invokes/abstractinvokercomplex.zep.c new file mode 100644 index 0000000000..24cd2fa62e --- /dev/null +++ b/ext/stub/invokes/abstractinvokercomplex.zep.c @@ -0,0 +1,56 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/fcall.h" +#include "kernel/object.h" +#include "kernel/memory.h" + + +ZEPHIR_INIT_CLASS(Stub_Invokes_AbstractInvokerComplex) { + + ZEPHIR_REGISTER_CLASS_EX(Stub\\Invokes, AbstractInvokerComplex, stub, invokes_abstractinvokercomplex, stub_invokes_abstractprotected_ce, stub_invokes_abstractinvokercomplex_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + + return SUCCESS; + +} + +PHP_METHOD(Stub_Invokes_AbstractInvokerComplex, __toString) { + + zval _0; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&_0); + + + ZEPHIR_MM_GROW(); + + zephir_read_property(&_0, this_ptr, ZEND_STRL("text"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "renderarrayelementscomplex", NULL, 0, &_0); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Invokes_AbstractInvokerComplex, __invoke) { + + zval *this_ptr = getThis(); + + + + RETURN_THISW(); + +} + diff --git a/ext/stub/invokes/abstractinvokercomplex.zep.h b/ext/stub/invokes/abstractinvokercomplex.zep.h new file mode 100644 index 0000000000..f32ec8339b --- /dev/null +++ b/ext/stub/invokes/abstractinvokercomplex.zep.h @@ -0,0 +1,27 @@ + +extern zend_class_entry *stub_invokes_abstractinvokercomplex_ce; + +ZEPHIR_INIT_CLASS(Stub_Invokes_AbstractInvokerComplex); + +PHP_METHOD(Stub_Invokes_AbstractInvokerComplex, __toString); +PHP_METHOD(Stub_Invokes_AbstractInvokerComplex, __invoke); + +#if PHP_VERSION_ID >= 80000 +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invokes_abstractinvokercomplex___tostring, 0, 0, IS_STRING, 0) +#else +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invokes_abstractinvokercomplex___tostring, 0, 0, 0) +#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_invokes_abstractinvokercomplex___invoke, 0, 0, Stub\\Invokes\\AbstractInvoker, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_invokes_abstractinvokercomplex_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Invokes_AbstractInvokerComplex, __toString, arginfo_stub_invokes_abstractinvokercomplex___tostring, ZEND_ACC_PUBLIC) +#else + PHP_ME(Stub_Invokes_AbstractInvokerComplex, __toString, NULL, ZEND_ACC_PUBLIC) +#endif + PHP_ME(Stub_Invokes_AbstractInvokerComplex, __invoke, arginfo_stub_invokes_abstractinvokercomplex___invoke, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/invokes/abstractprotected.zep.c b/ext/stub/invokes/abstractprotected.zep.c new file mode 100644 index 0000000000..60dec1c489 --- /dev/null +++ b/ext/stub/invokes/abstractprotected.zep.c @@ -0,0 +1,252 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/concat.h" +#include "kernel/memory.h" +#include "kernel/operators.h" +#include "kernel/object.h" +#include "kernel/array.h" +#include "kernel/fcall.h" + + +ZEPHIR_INIT_CLASS(Stub_Invokes_AbstractProtected) { + + ZEPHIR_REGISTER_CLASS(Stub\\Invokes, AbstractProtected, stub, invokes_abstractprotected, stub_invokes_abstractprotected_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + + zend_declare_property_null(stub_invokes_abstractprotected_ce, SL("text"), ZEND_ACC_PROTECTED); + + return SUCCESS; + +} + +PHP_METHOD(Stub_Invokes_AbstractProtected, protectedMethod1) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zval *text_param = NULL, ret; + zval text, _0; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&text); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&ret); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(text) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &text_param); + + zephir_get_strval(&text, text_param); + + + ZEPHIR_INIT_VAR(&_0); + ZEPHIR_CONCAT_VS(&_0, &text, "1"); + ZEPHIR_CPY_WRT(&ret, &_0); + RETURN_CCTOR(&ret); + +} + +PHP_METHOD(Stub_Invokes_AbstractProtected, protectedMethod2) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zval *text_param = NULL, ret; + zval text, _0; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&text); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&ret); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(text) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &text_param); + + zephir_get_strval(&text, text_param); + + + ZEPHIR_INIT_VAR(&_0); + ZEPHIR_CONCAT_VS(&_0, &text, "2"); + ZEPHIR_CPY_WRT(&ret, &_0); + RETURN_CCTOR(&ret); + +} + +PHP_METHOD(Stub_Invokes_AbstractProtected, renderArrayElements) { + + zval _0, _2; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *text_param = NULL, _1; + zval text; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&text); + ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(text) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &text_param); + + zephir_get_strval(&text, text_param); + + + ZEPHIR_INIT_VAR(&_0); + zephir_create_array(&_0, 2, 0); + zephir_array_fast_append(&_0, this_ptr); + ZEPHIR_INIT_VAR(&_1); + ZVAL_STRING(&_1, "protectedMethod2"); + zephir_array_fast_append(&_0, &_1); + ZEPHIR_INIT_VAR(&_2); + zephir_create_array(&_2, 1, 0); + zephir_array_fast_append(&_2, &text); + ZEPHIR_CALL_USER_FUNC_ARRAY(return_value, &_0, &_2); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Invokes_AbstractProtected, renderArrayElementsComplex) { + + zval elements, _0, _2, _6$$3, _10$$4; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *text_param = NULL, item, _1, *_3, _4, _5$$3, _7$$3, _8$$3, _9$$4, _11$$4, _12$$4; + zval text, result; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&text); + ZVAL_UNDEF(&result); + ZVAL_UNDEF(&item); + ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_4); + ZVAL_UNDEF(&_5$$3); + ZVAL_UNDEF(&_7$$3); + ZVAL_UNDEF(&_8$$3); + ZVAL_UNDEF(&_9$$4); + ZVAL_UNDEF(&_11$$4); + ZVAL_UNDEF(&_12$$4); + ZVAL_UNDEF(&elements); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_2); + ZVAL_UNDEF(&_6$$3); + ZVAL_UNDEF(&_10$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(text) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &text_param); + + zephir_get_strval(&text, text_param); + + + ZEPHIR_INIT_VAR(&result); + ZVAL_STRING(&result, ""); + ZEPHIR_INIT_VAR(&elements); + zephir_create_array(&elements, 2, 0); + ZEPHIR_INIT_VAR(&_0); + zephir_create_array(&_0, 2, 0); + ZEPHIR_INIT_VAR(&_1); + ZVAL_STRING(&_1, "protectedMethod1"); + zephir_array_fast_append(&_0, &_1); + ZEPHIR_INIT_VAR(&_2); + zephir_create_array(&_2, 1, 0); + zephir_array_fast_append(&_2, &text); + zephir_array_fast_append(&_0, &_2); + zephir_array_fast_append(&elements, &_0); + ZEPHIR_INIT_NVAR(&_0); + zephir_create_array(&_0, 2, 0); + ZEPHIR_INIT_NVAR(&_1); + ZVAL_STRING(&_1, "protectedMethod2"); + zephir_array_fast_append(&_0, &_1); + ZEPHIR_INIT_NVAR(&_2); + zephir_create_array(&_2, 1, 0); + zephir_array_fast_append(&_2, &text); + zephir_array_fast_append(&_0, &_2); + zephir_array_fast_append(&elements, &_0); + zephir_is_iterable(&elements, 0, "stub/invokes/abstractprotected.zep", 49); + if (Z_TYPE_P(&elements) == IS_ARRAY) { + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&elements), _3) + { + ZEPHIR_INIT_NVAR(&item); + ZVAL_COPY(&item, _3); + ZEPHIR_INIT_NVAR(&_5$$3); + ZEPHIR_INIT_NVAR(&_6$$3); + zephir_create_array(&_6$$3, 2, 0); + zephir_array_fast_append(&_6$$3, this_ptr); + ZEPHIR_OBS_NVAR(&_7$$3); + zephir_array_fetch_long(&_7$$3, &item, 0, PH_NOISY, "stub/invokes/abstractprotected.zep", 46); + zephir_array_fast_append(&_6$$3, &_7$$3); + zephir_array_fetch_long(&_8$$3, &item, 1, PH_NOISY | PH_READONLY, "stub/invokes/abstractprotected.zep", 46); + ZEPHIR_CALL_USER_FUNC_ARRAY(&_5$$3, &_6$$3, &_8$$3); + zephir_check_call_status(); + zephir_concat_self(&result, &_5$$3); + } ZEND_HASH_FOREACH_END(); + } else { + ZEPHIR_CALL_METHOD(NULL, &elements, "rewind", NULL, 0); + zephir_check_call_status(); + while (1) { + ZEPHIR_CALL_METHOD(&_4, &elements, "valid", NULL, 0); + zephir_check_call_status(); + if (!zend_is_true(&_4)) { + break; + } + ZEPHIR_CALL_METHOD(&item, &elements, "current", NULL, 0); + zephir_check_call_status(); + ZEPHIR_INIT_NVAR(&_9$$4); + ZEPHIR_INIT_NVAR(&_10$$4); + zephir_create_array(&_10$$4, 2, 0); + zephir_array_fast_append(&_10$$4, this_ptr); + ZEPHIR_OBS_NVAR(&_11$$4); + zephir_array_fetch_long(&_11$$4, &item, 0, PH_NOISY, "stub/invokes/abstractprotected.zep", 46); + zephir_array_fast_append(&_10$$4, &_11$$4); + zephir_array_fetch_long(&_12$$4, &item, 1, PH_NOISY | PH_READONLY, "stub/invokes/abstractprotected.zep", 46); + ZEPHIR_CALL_USER_FUNC_ARRAY(&_9$$4, &_10$$4, &_12$$4); + zephir_check_call_status(); + zephir_concat_self(&result, &_9$$4); + ZEPHIR_CALL_METHOD(NULL, &elements, "next", NULL, 0); + zephir_check_call_status(); + } + } + ZEPHIR_INIT_NVAR(&item); + RETURN_CTOR(&result); + +} + diff --git a/ext/stub/invokes/abstractprotected.zep.h b/ext/stub/invokes/abstractprotected.zep.h new file mode 100644 index 0000000000..4e52f7b514 --- /dev/null +++ b/ext/stub/invokes/abstractprotected.zep.h @@ -0,0 +1,33 @@ + +extern zend_class_entry *stub_invokes_abstractprotected_ce; + +ZEPHIR_INIT_CLASS(Stub_Invokes_AbstractProtected); + +PHP_METHOD(Stub_Invokes_AbstractProtected, protectedMethod1); +PHP_METHOD(Stub_Invokes_AbstractProtected, protectedMethod2); +PHP_METHOD(Stub_Invokes_AbstractProtected, renderArrayElements); +PHP_METHOD(Stub_Invokes_AbstractProtected, renderArrayElementsComplex); + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invokes_abstractprotected_protectedmethod1, 0, 1, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_invokes_abstractprotected_protectedmethod2, 0, 1, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invokes_abstractprotected_renderarrayelements, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invokes_abstractprotected_renderarrayelementscomplex, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_invokes_abstractprotected_method_entry) { + PHP_ME(Stub_Invokes_AbstractProtected, protectedMethod1, arginfo_stub_invokes_abstractprotected_protectedmethod1, ZEND_ACC_PROTECTED) + PHP_ME(Stub_Invokes_AbstractProtected, protectedMethod2, arginfo_stub_invokes_abstractprotected_protectedmethod2, ZEND_ACC_PROTECTED) + PHP_ME(Stub_Invokes_AbstractProtected, renderArrayElements, arginfo_stub_invokes_abstractprotected_renderarrayelements, ZEND_ACC_PROTECTED) + PHP_ME(Stub_Invokes_AbstractProtected, renderArrayElementsComplex, arginfo_stub_invokes_abstractprotected_renderarrayelementscomplex, ZEND_ACC_PROTECTED) + PHP_FE_END +}; diff --git a/ext/stub/invokes/invokeprotected.zep.c b/ext/stub/invokes/invokeprotected.zep.c new file mode 100644 index 0000000000..aea25ceff7 --- /dev/null +++ b/ext/stub/invokes/invokeprotected.zep.c @@ -0,0 +1,55 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/object.h" +#include "kernel/operators.h" +#include "kernel/memory.h" + + +ZEPHIR_INIT_CLASS(Stub_Invokes_InvokeProtected) { + + ZEPHIR_REGISTER_CLASS_EX(Stub\\Invokes, InvokeProtected, stub, invokes_invokeprotected, stub_invokes_abstractinvoker_ce, stub_invokes_invokeprotected_method_entry, 0); + + return SUCCESS; + +} + +PHP_METHOD(Stub_Invokes_InvokeProtected, __construct) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zval *text_param = NULL; + zval text; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&text); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(text) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &text_param); + + zephir_get_strval(&text, text_param); + + + zephir_update_property_zval(this_ptr, ZEND_STRL("text"), &text); + ZEPHIR_MM_RESTORE(); + +} + diff --git a/ext/stub/invokes/invokeprotected.zep.h b/ext/stub/invokes/invokeprotected.zep.h new file mode 100644 index 0000000000..0963c97372 --- /dev/null +++ b/ext/stub/invokes/invokeprotected.zep.h @@ -0,0 +1,15 @@ + +extern zend_class_entry *stub_invokes_invokeprotected_ce; + +ZEPHIR_INIT_CLASS(Stub_Invokes_InvokeProtected); + +PHP_METHOD(Stub_Invokes_InvokeProtected, __construct); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invokes_invokeprotected___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_invokes_invokeprotected_method_entry) { + PHP_ME(Stub_Invokes_InvokeProtected, __construct, arginfo_stub_invokes_invokeprotected___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) + PHP_FE_END +}; diff --git a/ext/stub/invokes/invokeprotectedcomplex.zep.c b/ext/stub/invokes/invokeprotectedcomplex.zep.c new file mode 100644 index 0000000000..55cad9e8fb --- /dev/null +++ b/ext/stub/invokes/invokeprotectedcomplex.zep.c @@ -0,0 +1,55 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/object.h" +#include "kernel/operators.h" +#include "kernel/memory.h" + + +ZEPHIR_INIT_CLASS(Stub_Invokes_InvokeProtectedComplex) { + + ZEPHIR_REGISTER_CLASS_EX(Stub\\Invokes, InvokeProtectedComplex, stub, invokes_invokeprotectedcomplex, stub_invokes_abstractinvokercomplex_ce, stub_invokes_invokeprotectedcomplex_method_entry, 0); + + return SUCCESS; + +} + +PHP_METHOD(Stub_Invokes_InvokeProtectedComplex, __construct) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zval *text_param = NULL; + zval text; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&text); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(text) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &text_param); + + zephir_get_strval(&text, text_param); + + + zephir_update_property_zval(this_ptr, ZEND_STRL("text"), &text); + ZEPHIR_MM_RESTORE(); + +} + diff --git a/ext/stub/invokes/invokeprotectedcomplex.zep.h b/ext/stub/invokes/invokeprotectedcomplex.zep.h new file mode 100644 index 0000000000..4faaebaced --- /dev/null +++ b/ext/stub/invokes/invokeprotectedcomplex.zep.h @@ -0,0 +1,15 @@ + +extern zend_class_entry *stub_invokes_invokeprotectedcomplex_ce; + +ZEPHIR_INIT_CLASS(Stub_Invokes_InvokeProtectedComplex); + +PHP_METHOD(Stub_Invokes_InvokeProtectedComplex, __construct); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_invokes_invokeprotectedcomplex___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, text, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_invokes_invokeprotectedcomplex_method_entry) { + PHP_ME(Stub_Invokes_InvokeProtectedComplex, __construct, arginfo_stub_invokes_invokeprotectedcomplex___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) + PHP_FE_END +}; diff --git a/ext/stub/issettest.zep.c b/ext/stub/issettest.zep.c index 65695159c0..d330cdde1b 100644 --- a/ext/stub/issettest.zep.c +++ b/ext/stub/issettest.zep.c @@ -28,6 +28,7 @@ ZEPHIR_INIT_CLASS(Stub_IssetTest) { zend_declare_property_null(stub_issettest_ce, SL("s"), ZEND_ACC_PUBLIC); stub_issettest_ce->create_object = zephir_init_properties_Stub_IssetTest; + return SUCCESS; } @@ -39,6 +40,15 @@ PHP_METHOD(Stub_IssetTest, testIssetArray1) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -55,6 +65,15 @@ PHP_METHOD(Stub_IssetTest, testIssetArray2) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b_param); @@ -74,6 +93,15 @@ PHP_METHOD(Stub_IssetTest, testIssetArray3) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_STR(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b_param); @@ -91,6 +119,14 @@ PHP_METHOD(Stub_IssetTest, testIssetArray4) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -106,6 +142,14 @@ PHP_METHOD(Stub_IssetTest, testIssetArray5) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -121,6 +165,14 @@ PHP_METHOD(Stub_IssetTest, testIssetProperty1) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -137,6 +189,15 @@ PHP_METHOD(Stub_IssetTest, testIssetProperty2) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -152,6 +213,14 @@ PHP_METHOD(Stub_IssetTest, testIssetProperty3) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -169,6 +238,7 @@ PHP_METHOD(Stub_IssetTest, testIssetDynamicProperty1) { ZVAL_UNDEF(&g); + ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(&g); @@ -188,6 +258,14 @@ PHP_METHOD(Stub_IssetTest, testIssetDynamicProperty2) { ZVAL_UNDEF(&inp_sub); ZVAL_UNDEF(&g); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(inp) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &inp); @@ -203,13 +281,14 @@ PHP_METHOD(Stub_IssetTest, testIssetDynamicProperty2) { } -zend_object *zephir_init_properties_Stub_IssetTest(zend_class_entry *class_type TSRMLS_DC) { +zend_object *zephir_init_properties_Stub_IssetTest(zend_class_entry *class_type) { zval _1$$3; zval _0; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1$$3); + ZEPHIR_MM_GROW(); diff --git a/ext/stub/issettest.zep.h b/ext/stub/issettest.zep.h index 29ede6f321..dc9eca31d3 100644 --- a/ext/stub/issettest.zep.h +++ b/ext/stub/issettest.zep.h @@ -13,7 +13,7 @@ PHP_METHOD(Stub_IssetTest, testIssetProperty2); PHP_METHOD(Stub_IssetTest, testIssetProperty3); PHP_METHOD(Stub_IssetTest, testIssetDynamicProperty1); PHP_METHOD(Stub_IssetTest, testIssetDynamicProperty2); -zend_object *zephir_init_properties_Stub_IssetTest(zend_class_entry *class_type TSRMLS_DC); +zend_object *zephir_init_properties_Stub_IssetTest(zend_class_entry *class_type); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetarray1, 0, 0, 2) ZEND_ARG_INFO(0, a) @@ -22,20 +22,12 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetarray2, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetarray3, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetarray4, 0, 0, 1) @@ -59,10 +51,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetproperty3, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetdynamicproperty1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_testissetdynamicproperty2, 0, 0, 1) ZEND_ARG_INFO(0, inp) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issettest_zephir_init_properties_stub_issettest, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_issettest_method_entry) { PHP_ME(Stub_IssetTest, testIssetArray1, arginfo_stub_issettest_testissetarray1, ZEND_ACC_PUBLIC) PHP_ME(Stub_IssetTest, testIssetArray2, arginfo_stub_issettest_testissetarray2, ZEND_ACC_PUBLIC) @@ -72,7 +70,11 @@ ZEPHIR_INIT_FUNCS(stub_issettest_method_entry) { PHP_ME(Stub_IssetTest, testIssetProperty1, arginfo_stub_issettest_testissetproperty1, ZEND_ACC_PUBLIC) PHP_ME(Stub_IssetTest, testIssetProperty2, arginfo_stub_issettest_testissetproperty2, ZEND_ACC_PUBLIC) PHP_ME(Stub_IssetTest, testIssetProperty3, arginfo_stub_issettest_testissetproperty3, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_IssetTest, testIssetDynamicProperty1, arginfo_stub_issettest_testissetdynamicproperty1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_IssetTest, testIssetDynamicProperty1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_IssetTest, testIssetDynamicProperty2, arginfo_stub_issettest_testissetdynamicproperty2, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/issue1404.zep.c b/ext/stub/issue1404.zep.c index 782798a0cd..26c0d48c9f 100644 --- a/ext/stub/issue1404.zep.c +++ b/ext/stub/issue1404.zep.c @@ -28,6 +28,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsingInteger70000) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70000)); } @@ -37,6 +38,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsingDouble70100) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70100)); } @@ -46,6 +48,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsingLong70000) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(21474836470000)); } @@ -55,6 +58,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsingString70000) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70000)); } @@ -64,6 +68,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsingZero) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(0)); } @@ -73,6 +78,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing50000) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(50000)); } @@ -82,6 +88,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing50500) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(50500)); } @@ -91,6 +98,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing50600) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(50600)); } @@ -100,6 +108,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70101) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70101)); } @@ -109,6 +118,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70102) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70102)); } @@ -118,6 +128,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70103) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70103)); } @@ -127,6 +138,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70104) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70104)); } @@ -136,6 +148,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70105) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70105)); } @@ -145,6 +158,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70106) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70106)); } @@ -154,6 +168,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70107) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70107)); } @@ -163,6 +178,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70108) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70108)); } @@ -172,6 +188,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70109) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70109)); } @@ -181,6 +198,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70110) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70110)); } @@ -190,6 +208,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70111) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70111)); } @@ -199,6 +218,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70112) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70112)); } @@ -208,6 +228,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70113) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70113)); } @@ -217,6 +238,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70114) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70114)); } @@ -226,6 +248,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70115) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70115)); } @@ -235,6 +258,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70116) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70116)); } @@ -244,6 +268,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70117) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70117)); } @@ -253,6 +278,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70100) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70100)); } @@ -262,6 +288,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70200) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70200)); } @@ -271,6 +298,7 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70300) { zval *this_ptr = getThis(); + RETURN_BOOL(zephir_is_php_version(70300)); } diff --git a/ext/stub/issue1404.zep.h b/ext/stub/issue1404.zep.h index 30cc14d183..774717af88 100644 --- a/ext/stub/issue1404.zep.h +++ b/ext/stub/issue1404.zep.h @@ -32,200 +32,88 @@ PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70100); PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70200); PHP_METHOD(Stub_Issue1404, testIsPhpVersionUsing70300); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusinginteger70000, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusinginteger70000, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusingdouble70100, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusingdouble70100, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusinglong70000, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusinglong70000, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusingstring70000, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusingstring70000, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusingzero, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusingzero, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing50000, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing50000, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing50500, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing50500, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing50600, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing50600, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70101, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70101, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70102, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70102, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70103, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70103, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70104, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70104, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70105, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70105, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70106, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70106, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70107, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70107, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70108, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70108, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70109, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70109, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70110, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70110, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70111, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70111, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70112, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70112, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70113, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70113, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70114, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70114, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70115, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70115, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70116, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70116, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70117, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70117, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70100, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70100, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70200, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70200, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70300, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_issue1404_testisphpversionusing70300, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_issue1404_method_entry) { diff --git a/ext/stub/issue1521.zep.c b/ext/stub/issue1521.zep.c index ae8b179fa3..cd65d25f89 100644 --- a/ext/stub/issue1521.zep.c +++ b/ext/stub/issue1521.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Issue1521, test) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); diff --git a/ext/stub/issue1521.zep.h b/ext/stub/issue1521.zep.h index ce88a3366d..518615b996 100644 --- a/ext/stub/issue1521.zep.h +++ b/ext/stub/issue1521.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_Issue1521); PHP_METHOD(Stub_Issue1521, test); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issue1521_test, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_issue1521_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Issue1521, test, arginfo_stub_issue1521_test, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Issue1521, test, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/issue2165/issue.zep.c b/ext/stub/issue2165/issue.zep.c new file mode 100644 index 0000000000..97df509144 --- /dev/null +++ b/ext/stub/issue2165/issue.zep.c @@ -0,0 +1,599 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/fcall.h" +#include "kernel/memory.h" +#include "kernel/operators.h" +#include "kernel/object.h" +#include "kernel/exception.h" +#include "ext/spl/spl_exceptions.h" +#include "kernel/concat.h" +#include "kernel/array.h" + + +/** + * @issue https://github.com/zephir-lang/zephir/issues/2165 + */ +ZEPHIR_INIT_CLASS(Stub_Issue2165_Issue) { + + ZEPHIR_REGISTER_CLASS(Stub\\Issue2165, Issue, stub, issue2165_issue, stub_issue2165_issue_method_entry, 0); + + zend_declare_property_null(stub_issue2165_issue_ce, SL("m"), ZEND_ACC_PROTECTED); + + zend_declare_property_null(stub_issue2165_issue_ce, SL("n"), ZEND_ACC_PROTECTED); + + zend_class_implements(stub_issue2165_issue_ce, 1, stub_issue2165_issueinterface_ce); + return SUCCESS; + +} + +PHP_METHOD(Stub_Issue2165_Issue, build) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *a_param = NULL, _0; + zval a; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&a); + ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 0, 1, &a_param); + + if (!a_param) { + ZEPHIR_INIT_VAR(&a); + array_init(&a); + } else { + zephir_get_arrval(&a, a_param); + } + + + object_init_ex(return_value, stub_issue2165_issue_ce); + ZVAL_BOOL(&_0, 1); + ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 47, &a, &_0); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Issue2165_Issue, __construct) { + + zend_string *_6$$3; + zend_ulong _5$$3; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zephir_fcall_cache_entry *_2 = NULL, *_10 = NULL, *_13 = NULL, *_18 = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS, m, n; + zend_bool validate, _16$$6, _22$$8, _35$$12, _40$$14; + zval *a_param = NULL, *validate_param = NULL, i, rowA, valueA, _0, _46, _1$$3, *_3$$3, _4$$3, _7$$5, _8$$5, _9$$5, _11$$5, _12$$5, *_14$$4, _15$$4, _27$$4, _17$$6, _19$$7, _20$$7, _21$$7, _23$$8, _24$$9, _25$$9, _26$$9, _28$$11, _29$$11, _30$$11, _31$$11, _32$$11, *_33$$10, _34$$10, _45$$10, _36$$12, _37$$13, _38$$13, _39$$13, _41$$14, _42$$15, _43$$15, _44$$15; + zval a; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&a); + ZVAL_UNDEF(&i); + ZVAL_UNDEF(&rowA); + ZVAL_UNDEF(&valueA); + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_46); + ZVAL_UNDEF(&_1$$3); + ZVAL_UNDEF(&_4$$3); + ZVAL_UNDEF(&_7$$5); + ZVAL_UNDEF(&_8$$5); + ZVAL_UNDEF(&_9$$5); + ZVAL_UNDEF(&_11$$5); + ZVAL_UNDEF(&_12$$5); + ZVAL_UNDEF(&_15$$4); + ZVAL_UNDEF(&_27$$4); + ZVAL_UNDEF(&_17$$6); + ZVAL_UNDEF(&_19$$7); + ZVAL_UNDEF(&_20$$7); + ZVAL_UNDEF(&_21$$7); + ZVAL_UNDEF(&_23$$8); + ZVAL_UNDEF(&_24$$9); + ZVAL_UNDEF(&_25$$9); + ZVAL_UNDEF(&_26$$9); + ZVAL_UNDEF(&_28$$11); + ZVAL_UNDEF(&_29$$11); + ZVAL_UNDEF(&_30$$11); + ZVAL_UNDEF(&_31$$11); + ZVAL_UNDEF(&_32$$11); + ZVAL_UNDEF(&_34$$10); + ZVAL_UNDEF(&_45$$10); + ZVAL_UNDEF(&_36$$12); + ZVAL_UNDEF(&_37$$13); + ZVAL_UNDEF(&_38$$13); + ZVAL_UNDEF(&_39$$13); + ZVAL_UNDEF(&_41$$14); + ZVAL_UNDEF(&_42$$15); + ZVAL_UNDEF(&_43$$15); + ZVAL_UNDEF(&_44$$15); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ARRAY(a) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(validate) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 1, &a_param, &validate_param); + + zephir_get_arrval(&a, a_param); + if (!validate_param) { + validate = 1; + } else { + validate = zephir_get_boolval(validate_param); + } + + + m = zephir_fast_count_int(&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, 48, &a); + zephir_check_call_status(); + ZEPHIR_CPY_WRT(&a, &_1$$3); + zephir_is_iterable(&a, 0, "stub/issue2165/issue.zep", 46); + if (Z_TYPE_P(&a) == IS_ARRAY) { + ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(&a), _5$$3, _6$$3, _3$$3) + { + ZEPHIR_INIT_NVAR(&i); + if (_6$$3 != NULL) { + ZVAL_STR_COPY(&i, _6$$3); + } else { + ZVAL_LONG(&i, _5$$3); + } + ZEPHIR_INIT_NVAR(&rowA); + ZVAL_COPY(&rowA, _3$$3); + if (UNEXPECTED(zephir_fast_count_int(&rowA) != n)) { + 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, 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, 50, &_12$$5); + zephir_check_call_status(); + zephir_throw_exception_debug(&_7$$5, "stub/issue2165/issue.zep", 33); + ZEPHIR_MM_RESTORE(); + return; + } + zephir_is_iterable(&rowA, 0, "stub/issue2165/issue.zep", 44); + if (Z_TYPE_P(&rowA) == IS_ARRAY) { + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&rowA), _14$$4) + { + ZEPHIR_INIT_NVAR(&valueA); + ZVAL_COPY(&valueA, _14$$4); + _16$$6 = !(Z_TYPE_P(&valueA) == IS_LONG); + if (_16$$6) { + ZEPHIR_CALL_FUNCTION(&_17$$6, "is_float", &_18, 51, &valueA); + zephir_check_call_status(); + _16$$6 = !zephir_is_true(&_17$$6); + } + if (UNEXPECTED(_16$$6)) { + ZEPHIR_INIT_NVAR(&_19$$7); + object_init_ex(&_19$$7, spl_ce_InvalidArgumentException); + ZEPHIR_INIT_NVAR(&_20$$7); + 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, 50, &_21$$7); + zephir_check_call_status(); + zephir_throw_exception_debug(&_19$$7, "stub/issue2165/issue.zep", 40); + ZEPHIR_MM_RESTORE(); + return; + } + } ZEND_HASH_FOREACH_END(); + } else { + ZEPHIR_CALL_METHOD(NULL, &rowA, "rewind", NULL, 0); + zephir_check_call_status(); + while (1) { + ZEPHIR_CALL_METHOD(&_15$$4, &rowA, "valid", NULL, 0); + zephir_check_call_status(); + if (!zend_is_true(&_15$$4)) { + break; + } + ZEPHIR_CALL_METHOD(&valueA, &rowA, "current", NULL, 0); + zephir_check_call_status(); + _22$$8 = !(Z_TYPE_P(&valueA) == IS_LONG); + if (_22$$8) { + ZEPHIR_CALL_FUNCTION(&_23$$8, "is_float", &_18, 51, &valueA); + zephir_check_call_status(); + _22$$8 = !zephir_is_true(&_23$$8); + } + if (UNEXPECTED(_22$$8)) { + ZEPHIR_INIT_NVAR(&_24$$9); + object_init_ex(&_24$$9, spl_ce_InvalidArgumentException); + ZEPHIR_INIT_NVAR(&_25$$9); + 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, 50, &_26$$9); + zephir_check_call_status(); + zephir_throw_exception_debug(&_24$$9, "stub/issue2165/issue.zep", 40); + ZEPHIR_MM_RESTORE(); + return; + } + ZEPHIR_CALL_METHOD(NULL, &rowA, "next", NULL, 0); + zephir_check_call_status(); + } + } + ZEPHIR_INIT_NVAR(&valueA); + 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(); + } else { + ZEPHIR_CALL_METHOD(NULL, &a, "rewind", NULL, 0); + zephir_check_call_status(); + while (1) { + ZEPHIR_CALL_METHOD(&_4$$3, &a, "valid", NULL, 0); + zephir_check_call_status(); + if (!zend_is_true(&_4$$3)) { + break; + } + ZEPHIR_CALL_METHOD(&i, &a, "key", NULL, 0); + zephir_check_call_status(); + ZEPHIR_CALL_METHOD(&rowA, &a, "current", NULL, 0); + zephir_check_call_status(); + if (UNEXPECTED(zephir_fast_count_int(&rowA) != n)) { + 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, 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, 50, &_32$$11); + zephir_check_call_status(); + zephir_throw_exception_debug(&_28$$11, "stub/issue2165/issue.zep", 33); + ZEPHIR_MM_RESTORE(); + return; + } + zephir_is_iterable(&rowA, 0, "stub/issue2165/issue.zep", 44); + if (Z_TYPE_P(&rowA) == IS_ARRAY) { + ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&rowA), _33$$10) + { + ZEPHIR_INIT_NVAR(&valueA); + ZVAL_COPY(&valueA, _33$$10); + _35$$12 = !(Z_TYPE_P(&valueA) == IS_LONG); + if (_35$$12) { + ZEPHIR_CALL_FUNCTION(&_36$$12, "is_float", &_18, 51, &valueA); + zephir_check_call_status(); + _35$$12 = !zephir_is_true(&_36$$12); + } + if (UNEXPECTED(_35$$12)) { + ZEPHIR_INIT_NVAR(&_37$$13); + object_init_ex(&_37$$13, spl_ce_InvalidArgumentException); + ZEPHIR_INIT_NVAR(&_38$$13); + 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, 50, &_39$$13); + zephir_check_call_status(); + zephir_throw_exception_debug(&_37$$13, "stub/issue2165/issue.zep", 40); + ZEPHIR_MM_RESTORE(); + return; + } + } ZEND_HASH_FOREACH_END(); + } else { + ZEPHIR_CALL_METHOD(NULL, &rowA, "rewind", NULL, 0); + zephir_check_call_status(); + while (1) { + ZEPHIR_CALL_METHOD(&_34$$10, &rowA, "valid", NULL, 0); + zephir_check_call_status(); + if (!zend_is_true(&_34$$10)) { + break; + } + ZEPHIR_CALL_METHOD(&valueA, &rowA, "current", NULL, 0); + zephir_check_call_status(); + _40$$14 = !(Z_TYPE_P(&valueA) == IS_LONG); + if (_40$$14) { + ZEPHIR_CALL_FUNCTION(&_41$$14, "is_float", &_18, 51, &valueA); + zephir_check_call_status(); + _40$$14 = !zephir_is_true(&_41$$14); + } + if (UNEXPECTED(_40$$14)) { + ZEPHIR_INIT_NVAR(&_42$$15); + object_init_ex(&_42$$15, spl_ce_InvalidArgumentException); + ZEPHIR_INIT_NVAR(&_43$$15); + 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, 50, &_44$$15); + zephir_check_call_status(); + zephir_throw_exception_debug(&_42$$15, "stub/issue2165/issue.zep", 40); + ZEPHIR_MM_RESTORE(); + return; + } + ZEPHIR_CALL_METHOD(NULL, &rowA, "next", NULL, 0); + zephir_check_call_status(); + } + } + ZEPHIR_INIT_NVAR(&valueA); + 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); + zephir_check_call_status(); + } + } + ZEPHIR_INIT_NVAR(&rowA); + ZEPHIR_INIT_NVAR(&i); + } + zephir_update_property_zval(this_ptr, ZEND_STRL("a"), &a); + ZEPHIR_INIT_ZVAL_NREF(_46); + ZVAL_LONG(&_46, m); + zephir_update_property_zval(this_ptr, ZEND_STRL("m"), &_46); + ZEPHIR_INIT_ZVAL_NREF(_46); + ZVAL_LONG(&_46, n); + zephir_update_property_zval(this_ptr, ZEND_STRL("n"), &_46); + ZEPHIR_MM_RESTORE(); + +} + +PHP_METHOD(Stub_Issue2165_Issue, quick) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *a_param = NULL, _0; + zval a; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&a); + ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 0, 1, &a_param); + + if (!a_param) { + ZEPHIR_INIT_VAR(&a); + array_init(&a); + } else { + zephir_get_arrval(&a, a_param); + } + + + object_init_ex(return_value, stub_issue2165_issue_ce); + ZVAL_BOOL(&_0, 0); + ZEPHIR_CALL_METHOD(NULL, return_value, "__construct", NULL, 47, &a, &_0); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Issue2165_Issue, ones) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zval *m_param = NULL, *n_param = NULL, _0, _1, _2; + zend_long m, n, ZEPHIR_LAST_CALL_STATUS; + 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(2, 2) + Z_PARAM_LONG(m) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 2, 0, &m_param, &n_param); + + m = zephir_get_intval(m_param); + n = zephir_get_intval(n_param); + + + ZVAL_LONG(&_0, 1); + ZVAL_LONG(&_1, m); + ZVAL_LONG(&_2, n); + ZEPHIR_RETURN_CALL_SELF("fill", NULL, 0, &_0, &_1, &_2); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Issue2165_Issue, fill) { + + zend_bool _0; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zephir_fcall_cache_entry *_8 = NULL, *_17 = NULL; + zend_long m, n, ZEPHIR_LAST_CALL_STATUS; + zval *value, value_sub, *m_param = NULL, *n_param = NULL, _1, _14, _15, _16, _18, _2$$3, _3$$3, _4$$3, _5$$4, _6$$4, _7$$4, _9$$4, _10$$5, _11$$5, _12$$5, _13$$5; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&value_sub); + ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_14); + ZVAL_UNDEF(&_15); + ZVAL_UNDEF(&_16); + ZVAL_UNDEF(&_18); + ZVAL_UNDEF(&_2$$3); + ZVAL_UNDEF(&_3$$3); + ZVAL_UNDEF(&_4$$3); + ZVAL_UNDEF(&_5$$4); + ZVAL_UNDEF(&_6$$4); + ZVAL_UNDEF(&_7$$4); + ZVAL_UNDEF(&_9$$4); + ZVAL_UNDEF(&_10$$5); + ZVAL_UNDEF(&_11$$5); + ZVAL_UNDEF(&_12$$5); + ZVAL_UNDEF(&_13$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(value) + Z_PARAM_LONG(m) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 3, 0, &value, &m_param, &n_param); + + m = zephir_get_intval(m_param); + n = zephir_get_intval(n_param); + + + _0 = !(Z_TYPE_P(value) == IS_LONG); + if (_0) { + ZEPHIR_CALL_FUNCTION(&_1, "is_float", NULL, 51, value); + zephir_check_call_status(); + _0 = !zephir_is_true(&_1); + } + if (UNEXPECTED(_0)) { + ZEPHIR_INIT_VAR(&_2$$3); + object_init_ex(&_2$$3, spl_ce_InvalidArgumentException); + ZEPHIR_INIT_VAR(&_3$$3); + 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, 50, &_4$$3); + zephir_check_call_status(); + zephir_throw_exception_debug(&_2$$3, "stub/issue2165/issue.zep", 68); + ZEPHIR_MM_RESTORE(); + return; + } + if (UNEXPECTED(m < 1)) { + 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, 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, 50, &_9$$4); + zephir_check_call_status(); + zephir_throw_exception_debug(&_5$$4, "stub/issue2165/issue.zep", 73); + ZEPHIR_MM_RESTORE(); + return; + } + if (UNEXPECTED(n < 1)) { + 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, 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, 50, &_13$$5); + zephir_check_call_status(); + zephir_throw_exception_debug(&_10$$5, "stub/issue2165/issue.zep", 78); + ZEPHIR_MM_RESTORE(); + return; + } + ZVAL_LONG(&_14, 0); + ZVAL_LONG(&_15, n); + ZEPHIR_CALL_FUNCTION(&_16, "array_fill", &_17, 36, &_14, &_15, value); + zephir_check_call_status(); + ZVAL_LONG(&_14, 0); + ZVAL_LONG(&_15, m); + ZEPHIR_CALL_FUNCTION(&_18, "array_fill", &_17, 36, &_14, &_15, &_16); + zephir_check_call_status(); + ZEPHIR_RETURN_CALL_SELF("quick", NULL, 0, &_18); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Issue2165_Issue, reciprocal) { + + zval _0, _1, _2; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&_0); + ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_2); + + + ZEPHIR_MM_GROW(); + + zephir_read_property(&_1, this_ptr, ZEND_STRL("m"), PH_NOISY_CC | PH_READONLY); + zephir_read_property(&_2, this_ptr, ZEND_STRL("n"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_CALL_SELF(&_0, "ones", NULL, 0, &_1, &_2); + zephir_check_call_status(); + ZEPHIR_RETURN_CALL_METHOD(&_0, "dividematrix", NULL, 0, this_ptr); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Issue2165_Issue, divideMatrix) { + + zval c; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *b, b_sub; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&b_sub); + ZVAL_UNDEF(&c); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(b, stub_issue2165_issue_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 0, &b); + + + + ZEPHIR_INIT_VAR(&c); + array_init(&c); + ZEPHIR_RETURN_CALL_SELF("quick", NULL, 0, &c); + zephir_check_call_status(); + RETURN_MM(); + +} + diff --git a/ext/stub/issue2165/issue.zep.h b/ext/stub/issue2165/issue.zep.h new file mode 100644 index 0000000000..fda5752362 --- /dev/null +++ b/ext/stub/issue2165/issue.zep.h @@ -0,0 +1,54 @@ + +extern zend_class_entry *stub_issue2165_issue_ce; + +ZEPHIR_INIT_CLASS(Stub_Issue2165_Issue); + +PHP_METHOD(Stub_Issue2165_Issue, build); +PHP_METHOD(Stub_Issue2165_Issue, __construct); +PHP_METHOD(Stub_Issue2165_Issue, quick); +PHP_METHOD(Stub_Issue2165_Issue, ones); +PHP_METHOD(Stub_Issue2165_Issue, fill); +PHP_METHOD(Stub_Issue2165_Issue, reciprocal); +PHP_METHOD(Stub_Issue2165_Issue, divideMatrix); + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_issue2165_issue_build, 0, 0, Stub\\Issue2165\\Issue, 0) + ZEND_ARG_ARRAY_INFO(0, a, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issue2165_issue___construct, 0, 0, 1) + ZEND_ARG_ARRAY_INFO(0, a, 0) + ZEND_ARG_TYPE_INFO(0, validate, _IS_BOOL, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_issue2165_issue_quick, 0, 0, Stub\\Issue2165\\Issue, 0) + ZEND_ARG_ARRAY_INFO(0, a, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_issue2165_issue_ones, 0, 2, Stub\\Issue2165\\Issue, 0) + ZEND_ARG_TYPE_INFO(0, m, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_issue2165_issue_fill, 0, 3, Stub\\Issue2165\\Issue, 0) + ZEND_ARG_INFO(0, value) + ZEND_ARG_TYPE_INFO(0, m, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_issue2165_issue_reciprocal, 0, 0, Stub\\Issue2165\\Issue, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_issue2165_issue_dividematrix, 0, 1, Stub\\Issue2165\\Issue, 0) + ZEND_ARG_OBJ_INFO(0, b, Stub\\Issue2165\\Issue, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_issue2165_issue_method_entry) { + PHP_ME(Stub_Issue2165_Issue, build, arginfo_stub_issue2165_issue_build, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(Stub_Issue2165_Issue, __construct, arginfo_stub_issue2165_issue___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) + PHP_ME(Stub_Issue2165_Issue, quick, arginfo_stub_issue2165_issue_quick, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(Stub_Issue2165_Issue, ones, arginfo_stub_issue2165_issue_ones, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(Stub_Issue2165_Issue, fill, arginfo_stub_issue2165_issue_fill, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(Stub_Issue2165_Issue, reciprocal, arginfo_stub_issue2165_issue_reciprocal, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Issue2165_Issue, divideMatrix, arginfo_stub_issue2165_issue_dividematrix, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/issue2165/issueextendinterface.zep.c b/ext/stub/issue2165/issueextendinterface.zep.c new file mode 100644 index 0000000000..397161f4dd --- /dev/null +++ b/ext/stub/issue2165/issueextendinterface.zep.c @@ -0,0 +1,22 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include + +#include "kernel/main.h" + + +ZEPHIR_INIT_CLASS(Stub_Issue2165_IssueExtendInterface) { + + ZEPHIR_REGISTER_INTERFACE(Stub\\Issue2165, IssueExtendInterface, stub, issue2165_issueextendinterface, NULL); + + return SUCCESS; + +} + diff --git a/ext/stub/issue2165/issueextendinterface.zep.h b/ext/stub/issue2165/issueextendinterface.zep.h new file mode 100644 index 0000000000..0ac90fb854 --- /dev/null +++ b/ext/stub/issue2165/issueextendinterface.zep.h @@ -0,0 +1,5 @@ + +extern zend_class_entry *stub_issue2165_issueextendinterface_ce; + +ZEPHIR_INIT_CLASS(Stub_Issue2165_IssueExtendInterface); + diff --git a/ext/stub/issue2165/issueinterface.zep.c b/ext/stub/issue2165/issueinterface.zep.c new file mode 100644 index 0000000000..5a6c024d0a --- /dev/null +++ b/ext/stub/issue2165/issueinterface.zep.c @@ -0,0 +1,25 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include + +#include "kernel/main.h" + + +ZEPHIR_INIT_CLASS(Stub_Issue2165_IssueInterface) { + + ZEPHIR_REGISTER_INTERFACE(Stub\\Issue2165, IssueInterface, stub, issue2165_issueinterface, NULL); + + zephir_declare_class_constant_double(stub_issue2165_issueinterface_ce, SL("EPSILON"), 0.00000001); + + zend_class_implements(stub_issue2165_issueinterface_ce, 1, stub_issue2165_issueextendinterface_ce); + return SUCCESS; + +} + diff --git a/ext/stub/issue2165/issueinterface.zep.h b/ext/stub/issue2165/issueinterface.zep.h new file mode 100644 index 0000000000..fc14043f15 --- /dev/null +++ b/ext/stub/issue2165/issueinterface.zep.h @@ -0,0 +1,5 @@ + +extern zend_class_entry *stub_issue2165_issueinterface_ce; + +ZEPHIR_INIT_CLASS(Stub_Issue2165_IssueInterface); + diff --git a/ext/stub/issues.zep.c b/ext/stub/issues.zep.c index 74bbe6d1bb..a4197b8ece 100644 --- a/ext/stub/issues.zep.c +++ b/ext/stub/issues.zep.c @@ -33,6 +33,14 @@ PHP_METHOD(Stub_Issues, setAdapter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&adapter_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(adapter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &adapter); @@ -51,6 +59,14 @@ PHP_METHOD(Stub_Issues, someMethod) { ZVAL_UNDEF(&methodName_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(methodName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &methodName); @@ -69,6 +85,7 @@ PHP_METHOD(Stub_Issues, test) { zval *this_ptr = getThis(); + php_printf("%s", "test"); } diff --git a/ext/stub/issues.zep.h b/ext/stub/issues.zep.h index b02ee1a43e..d9cd5f2551 100644 --- a/ext/stub/issues.zep.h +++ b/ext/stub/issues.zep.h @@ -15,9 +15,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issues_somemethod, 0, 0, 1) ZEND_ARG_INFO(0, methodName) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_issues_test, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_issues_method_entry) { PHP_ME(Stub_Issues, setAdapter, arginfo_stub_issues_setadapter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Issues, someMethod, arginfo_stub_issues_somemethod, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Issues, test, arginfo_stub_issues_test, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Issues, test, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/json.zep.c b/ext/stub/json.zep.c index 9fefdd191c..dabe3f31d6 100644 --- a/ext/stub/json.zep.c +++ b/ext/stub/json.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Json, testEncodeObject) { ZVAL_UNDEF(&obj); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&obj); @@ -56,6 +57,7 @@ PHP_METHOD(Stub_Json, testEncodeArray) { ZVAL_UNDEF(&arr); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&arr); @@ -84,6 +86,7 @@ PHP_METHOD(Stub_Json, testEncodeOptions) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&arr); @@ -114,6 +117,7 @@ PHP_METHOD(Stub_Json, testDecodeObject) { ZVAL_UNDEF(&obj); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&obj); @@ -132,6 +136,7 @@ PHP_METHOD(Stub_Json, testDecodeObject2) { ZVAL_BOOL(&__$true, 1); ZVAL_UNDEF(&obj); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&obj); @@ -149,6 +154,7 @@ PHP_METHOD(Stub_Json, testDecodeArray) { ZVAL_UNDEF(&arr); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&arr); diff --git a/ext/stub/json.zep.h b/ext/stub/json.zep.h index dc268fe3ac..1b30db4d7e 100644 --- a/ext/stub/json.zep.h +++ b/ext/stub/json.zep.h @@ -10,12 +10,54 @@ PHP_METHOD(Stub_Json, testDecodeObject); PHP_METHOD(Stub_Json, testDecodeObject2); PHP_METHOD(Stub_Json, testDecodeArray); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_json_testencodeobject, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_json_testencodearray, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_json_testencodeoptions, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_json_testdecodeobject, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_json_testdecodeobject2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_json_testdecodearray, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_json_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Json, testEncodeObject, arginfo_stub_json_testencodeobject, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Json, testEncodeObject, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Json, testEncodeArray, arginfo_stub_json_testencodearray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Json, testEncodeArray, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Json, testEncodeOptions, arginfo_stub_json_testencodeoptions, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Json, testEncodeOptions, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Json, testDecodeObject, arginfo_stub_json_testdecodeobject, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Json, testDecodeObject, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Json, testDecodeObject2, arginfo_stub_json_testdecodeobject2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Json, testDecodeObject2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Json, testDecodeArray, arginfo_stub_json_testdecodearray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Json, testDecodeArray, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/logical.zep.c b/ext/stub/logical.zep.c index 876993b0ea..a7d0f58681 100644 --- a/ext/stub/logical.zep.c +++ b/ext/stub/logical.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_Logical, testAnd1) { + _0 = ((0) ? 1 : 0); if (_0) { _0 = ((0) ? 1 : 0); @@ -52,6 +53,7 @@ PHP_METHOD(Stub_Logical, testAnd2) { + _0 = ((0) ? 1 : 0); if (_0) { _0 = ((1.5 != 0.0) ? 1 : 0); @@ -67,6 +69,7 @@ PHP_METHOD(Stub_Logical, testAnd3) { + _0 = ((0) ? 1 : 0); if (_0) { _0 = ((1.5 != 0.0) ? 1 : 0); @@ -86,6 +89,7 @@ PHP_METHOD(Stub_Logical, testAnd4) { + _0 = ((1) ? 1 : 0); if (_0) { _0 = ((0) ? 1 : 0); @@ -107,6 +111,15 @@ PHP_METHOD(Stub_Logical, testAnd9) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&_1$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_LONG(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b_param); @@ -132,6 +145,7 @@ PHP_METHOD(Stub_Logical, testOr1) { + _0 = ((0) ? 1 : 0); if (!(_0)) { _0 = ((1) ? 1 : 0); @@ -147,6 +161,7 @@ PHP_METHOD(Stub_Logical, testOr2) { + _0 = ((0) ? 1 : 0); if (!(_0)) { _0 = 1; @@ -163,6 +178,7 @@ PHP_METHOD(Stub_Logical, testMixed1) { + first = 0; second = 1; _0 = ((first) ? 1 : 0); @@ -190,6 +206,15 @@ PHP_METHOD(Stub_Logical, testMixed2) { ZVAL_UNDEF(&match_sub); ZVAL_UNDEF(&minLength_sub); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(match) + Z_PARAM_ZVAL(minLength) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &match, &minLength); @@ -218,6 +243,7 @@ PHP_METHOD(Stub_Logical, testMixed3) { + _0 = ((0) ? 1 : 0); if (_0) { _0 = ((1) ? 1 : 0); @@ -246,6 +272,15 @@ PHP_METHOD(Stub_Logical, testMixed4) { zend_bool a, b, _0, _1, _2; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_BOOL(a) + Z_PARAM_BOOL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); diff --git a/ext/stub/logical.zep.h b/ext/stub/logical.zep.h index 5eae6e749f..94b84df967 100644 --- a/ext/stub/logical.zep.h +++ b/ext/stub/logical.zep.h @@ -15,13 +15,30 @@ PHP_METHOD(Stub_Logical, testMixed2); PHP_METHOD(Stub_Logical, testMixed3); PHP_METHOD(Stub_Logical, testMixed4); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testand1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testand2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testand3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testand4, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testand9, 0, 0, 2) ZEND_ARG_INFO(0, a) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testor1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testor2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testmixed1, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testmixed2, 0, 0, 2) @@ -29,30 +46,57 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testmixed2, 0, 0, 2) ZEND_ARG_INFO(0, minLength) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testmixed3, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_logical_testmixed4, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_logical_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testAnd1, arginfo_stub_logical_testand1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testAnd1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testAnd2, arginfo_stub_logical_testand2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testAnd2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testAnd3, arginfo_stub_logical_testand3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testAnd3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testAnd4, arginfo_stub_logical_testand4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testAnd4, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Logical, testAnd9, arginfo_stub_logical_testand9, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testOr1, arginfo_stub_logical_testor1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testOr1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testOr2, arginfo_stub_logical_testor2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testOr2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testMixed1, arginfo_stub_logical_testmixed1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testMixed1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Logical, testMixed2, arginfo_stub_logical_testmixed2, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Logical, testMixed3, arginfo_stub_logical_testmixed3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Logical, testMixed3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Logical, testMixed4, arginfo_stub_logical_testmixed4, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/mcall.zep.c b/ext/stub/mcall.zep.c index 2bcdd10f03..053fe3afca 100644 --- a/ext/stub/mcall.zep.c +++ b/ext/stub/mcall.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_Mcall, testMethod1) { zval *this_ptr = getThis(); + RETURN_STRING("hello public"); } @@ -46,6 +47,7 @@ PHP_METHOD(Stub_Mcall, testMethod2) { zval *this_ptr = getThis(); + RETURN_STRING("hello protected"); } @@ -55,6 +57,7 @@ PHP_METHOD(Stub_Mcall, testMethod3) { zval *this_ptr = getThis(); + RETURN_STRING("hello private"); } @@ -66,6 +69,15 @@ PHP_METHOD(Stub_Mcall, testMethod4) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -83,6 +95,15 @@ PHP_METHOD(Stub_Mcall, testMethod5) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -100,6 +121,15 @@ PHP_METHOD(Stub_Mcall, testMethod6) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -115,6 +145,7 @@ PHP_METHOD(Stub_Mcall, testMethod7) { zval *this_ptr = getThis(); + object_init(return_value); return; @@ -127,6 +158,7 @@ PHP_METHOD(Stub_Mcall, testCall1) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod1", NULL, 0); @@ -142,6 +174,7 @@ PHP_METHOD(Stub_Mcall, testCall2) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod2", NULL, 0); @@ -157,9 +190,10 @@ PHP_METHOD(Stub_Mcall, testCall3) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 46); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 52); zephir_check_call_status(); RETURN_MM(); @@ -174,6 +208,15 @@ PHP_METHOD(Stub_Mcall, testCall4) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -195,6 +238,15 @@ PHP_METHOD(Stub_Mcall, testCall5) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -216,13 +268,22 @@ PHP_METHOD(Stub_Mcall, testCall6) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 47, a, b); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 53, a, b); zephir_check_call_status(); RETURN_MM(); @@ -240,6 +301,15 @@ PHP_METHOD(Stub_Mcall, testCall7) { ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -267,6 +337,15 @@ PHP_METHOD(Stub_Mcall, testCall8) { ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -293,13 +372,22 @@ PHP_METHOD(Stub_Mcall, testCall9) { ZVAL_UNDEF(&b_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod6", NULL, 47, a, b); + ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod6", NULL, 53, a, b); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_1, this_ptr, "testmethod5", NULL, 0, a, b); zephir_check_call_status(); @@ -315,6 +403,7 @@ PHP_METHOD(Stub_Mcall, testCall10) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod1", NULL, 0); @@ -330,6 +419,7 @@ PHP_METHOD(Stub_Mcall, testCall11) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod2", NULL, 0); @@ -345,9 +435,10 @@ PHP_METHOD(Stub_Mcall, testCall12) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 46); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod3", NULL, 52); zephir_check_call_status(); RETURN_MM(); @@ -362,6 +453,15 @@ PHP_METHOD(Stub_Mcall, testCall13) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -383,6 +483,15 @@ PHP_METHOD(Stub_Mcall, testCall14) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -404,13 +513,22 @@ PHP_METHOD(Stub_Mcall, testCall15) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 47, a, b); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod6", NULL, 53, a, b); zephir_check_call_status(); RETURN_MM(); @@ -425,6 +543,15 @@ PHP_METHOD(Stub_Mcall, testCall16) { ZVAL_UNDEF(&c_sub); ZVAL_UNDEF(&d_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(c) + Z_PARAM_ZVAL(d) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &c, &d); @@ -446,6 +573,15 @@ PHP_METHOD(Stub_Mcall, testCall17) { ZVAL_UNDEF(&c_sub); ZVAL_UNDEF(&d_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(c) + Z_PARAM_ZVAL(d) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &c, &d); @@ -465,9 +601,10 @@ PHP_METHOD(Stub_Mcall, testCall18) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod7", NULL, 48); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "testmethod7", NULL, 54); zephir_check_call_status(); RETURN_MM(); @@ -479,6 +616,15 @@ PHP_METHOD(Stub_Mcall, testMethod19) { long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -502,6 +648,15 @@ PHP_METHOD(Stub_Mcall, testCall20) { ZVAL_UNDEF(&p_sub); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(k) + Z_PARAM_ZVAL(p) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &k_param, &p); @@ -539,6 +694,15 @@ PHP_METHOD(Stub_Mcall, testMethod21) { long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -562,6 +726,15 @@ PHP_METHOD(Stub_Mcall, testCall22) { ZVAL_UNDEF(&p_sub); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(k) + Z_PARAM_ZVAL(p) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &k_param, &p); @@ -584,7 +757,7 @@ PHP_METHOD(Stub_Mcall, testCall22) { _0 = 1; } i = _1; - ZEPHIR_CALL_METHOD(&_3$$3, this_ptr, "testmethod21", &_4, 49, p, p); + ZEPHIR_CALL_METHOD(&_3$$3, this_ptr, "testmethod21", &_4, 55, p, p); zephir_check_call_status(); j += zephir_get_numberval(&_3$$3); } @@ -601,6 +774,14 @@ PHP_METHOD(Stub_Mcall, optionalRequereString) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¶m_param); @@ -629,6 +810,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterString) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_STR(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, ¶m_param); @@ -653,6 +843,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterStringNull) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_STR_OR_NULL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, ¶m_param); @@ -675,6 +874,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterInt) { zend_long param; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶m_param); @@ -696,6 +904,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterVar) { ZVAL_UNDEF(¶m_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶m); @@ -716,6 +933,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterBoolTrue) { zend_bool param; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶m_param); @@ -736,6 +962,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterBoolFalse) { zend_bool param; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶m_param); @@ -756,6 +991,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterBoolean) { zend_bool start; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(start) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, &start_param); @@ -780,6 +1024,15 @@ PHP_METHOD(Stub_Mcall, optionalParameterBooleanNull) { zend_bool value; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL_OR_NULL(value, is_null_true) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, &value_param); @@ -799,9 +1052,9 @@ PHP_METHOD(Stub_Mcall, optionalParameterBooleanNull) { } /** - * @link https://github.com/phalcon/zephir/issues/142 + * @link https://github.com/zephir-lang/zephir/issues/142 */ -PHP_METHOD(Stub_Mcall, arrayParamWithDefaultEmptyArray) { +PHP_METHOD(Stub_Mcall, testArrayParamWithDefaultEmptyArray) { zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; zval *driverOptions_param = NULL; @@ -809,6 +1062,15 @@ PHP_METHOD(Stub_Mcall, arrayParamWithDefaultEmptyArray) { zval *this_ptr = getThis(); ZVAL_UNDEF(&driverOptions); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY(driverOptions) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &driverOptions_param); @@ -825,7 +1087,7 @@ PHP_METHOD(Stub_Mcall, arrayParamWithDefaultEmptyArray) { } -PHP_METHOD(Stub_Mcall, arrayParamWithDefaultNullValue) { +PHP_METHOD(Stub_Mcall, testArrayParamWithDefaultNullValue) { zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; zval *driverOptions_param = NULL; @@ -833,6 +1095,15 @@ PHP_METHOD(Stub_Mcall, arrayParamWithDefaultNullValue) { zval *this_ptr = getThis(); ZVAL_UNDEF(&driverOptions); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY_OR_NULL(driverOptions) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &driverOptions_param); @@ -849,7 +1120,7 @@ PHP_METHOD(Stub_Mcall, arrayParamWithDefaultNullValue) { } -PHP_METHOD(Stub_Mcall, arrayParam) { +PHP_METHOD(Stub_Mcall, testArrayParam) { zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; zval *driverOptions_param = NULL; @@ -857,6 +1128,14 @@ PHP_METHOD(Stub_Mcall, arrayParam) { zval *this_ptr = getThis(); ZVAL_UNDEF(&driverOptions); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(driverOptions) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &driverOptions_param); @@ -868,12 +1147,20 @@ PHP_METHOD(Stub_Mcall, arrayParam) { } -PHP_METHOD(Stub_Mcall, objectParamCastStdClass) { +PHP_METHOD(Stub_Mcall, testObjectParamCastStdClass) { zval *param, param_sub; zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(param, zend_standard_class_def) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -884,12 +1171,20 @@ PHP_METHOD(Stub_Mcall, objectParamCastStdClass) { } -PHP_METHOD(Stub_Mcall, objectParamCastOoParam) { +PHP_METHOD(Stub_Mcall, testObjectParamCastOoParam) { zval *param, param_sub; zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(param, stub_oo_param_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -905,6 +1200,7 @@ PHP_METHOD(Stub_Mcall, bb) { zval *this_ptr = getThis(); + RETURN_STRING("hello"); } @@ -919,6 +1215,7 @@ PHP_METHOD(Stub_Mcall, testCallablePass) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -930,7 +1227,7 @@ PHP_METHOD(Stub_Mcall, testCallablePass) { ZEPHIR_INIT_VAR(&_0); ZEPHIR_INIT_NVAR(&_0); zephir_create_closure_ex(&_0, NULL, stub_11__closure_ce, SL("__invoke")); - ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 50, &_0); + ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 56, &_0); zephir_check_call_status(); RETURN_MM(); @@ -948,6 +1245,7 @@ PHP_METHOD(Stub_Mcall, testCallableArrayThisMethodPass) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -962,7 +1260,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, 50, &_0); + ZEPHIR_RETURN_CALL_METHOD(&a, "setcallable", NULL, 56, &_0); zephir_check_call_status(); RETURN_MM(); @@ -977,6 +1275,7 @@ PHP_METHOD(Stub_Mcall, aa) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -985,7 +1284,7 @@ PHP_METHOD(Stub_Mcall, aa) { ZEPHIR_CALL_METHOD(NULL, &a, "__construct", NULL, 0); zephir_check_call_status(); } - ZEPHIR_RETURN_CALL_METHOD(&a, "bb", NULL, 51); + ZEPHIR_RETURN_CALL_METHOD(&a, "bb", NULL, 57); zephir_check_call_status(); RETURN_MM(); diff --git a/ext/stub/mcall.zep.h b/ext/stub/mcall.zep.h index 6c305b2b43..d37cc8abf5 100644 --- a/ext/stub/mcall.zep.h +++ b/ext/stub/mcall.zep.h @@ -41,16 +41,25 @@ PHP_METHOD(Stub_Mcall, optionalParameterBoolTrue); PHP_METHOD(Stub_Mcall, optionalParameterBoolFalse); PHP_METHOD(Stub_Mcall, optionalParameterBoolean); PHP_METHOD(Stub_Mcall, optionalParameterBooleanNull); -PHP_METHOD(Stub_Mcall, arrayParamWithDefaultEmptyArray); -PHP_METHOD(Stub_Mcall, arrayParamWithDefaultNullValue); -PHP_METHOD(Stub_Mcall, arrayParam); -PHP_METHOD(Stub_Mcall, objectParamCastStdClass); -PHP_METHOD(Stub_Mcall, objectParamCastOoParam); +PHP_METHOD(Stub_Mcall, testArrayParamWithDefaultEmptyArray); +PHP_METHOD(Stub_Mcall, testArrayParamWithDefaultNullValue); +PHP_METHOD(Stub_Mcall, testArrayParam); +PHP_METHOD(Stub_Mcall, testObjectParamCastStdClass); +PHP_METHOD(Stub_Mcall, testObjectParamCastOoParam); PHP_METHOD(Stub_Mcall, bb); PHP_METHOD(Stub_Mcall, testCallablePass); PHP_METHOD(Stub_Mcall, testCallableArrayThisMethodPass); PHP_METHOD(Stub_Mcall, aa); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod3, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod4, 0, 0, 2) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) @@ -66,11 +75,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod6, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_mcall_testmethod7, 0, 0, stdClass, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcall_testmethod7, 0, 0, IS_OBJECT, "stdClass", 0) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall3, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall4, 0, 0, 2) @@ -103,6 +117,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall9, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall11, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall12, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall13, 0, 0, 2) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) @@ -128,80 +151,43 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall17, 0, 0, 2) ZEND_ARG_INFO(0, d) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall18, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod19, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall20, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, k, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, k) -#endif ZEND_ARG_INFO(0, p) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testmethod21, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcall22, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, k, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, k) -#endif ZEND_ARG_INFO(0, p) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalrequerestring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, param) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterstring, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, param) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterstringnull, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param, IS_STRING, 1) -#else - ZEND_ARG_INFO(0, param) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterint, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, param) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparametervar, 0, 0, 0) @@ -209,83 +195,119 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparametervar, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterbooltrue, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, param) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterboolfalse, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, param) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterboolean, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, start, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, start) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_optionalparameterbooleannull, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, value, _IS_BOOL, 1) -#else - ZEND_ARG_INFO(0, value) -#endif ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_arrayparamwithdefaultemptyarray, 0, 0, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testarrayparamwithdefaultemptyarray, 0, 0, 0) ZEND_ARG_ARRAY_INFO(0, driverOptions, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_arrayparamwithdefaultnullvalue, 0, 0, 0) +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testarrayparamwithdefaultnullvalue, 0, 0, 0) ZEND_ARG_ARRAY_INFO(0, driverOptions, 1) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_arrayparam, 0, 0, 1) +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testarrayparam, 0, 0, 1) ZEND_ARG_ARRAY_INFO(0, driverOptions, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_objectparamcaststdclass, 0, 0, 1) +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testobjectparamcaststdclass, 0, 0, 1) ZEND_ARG_OBJ_INFO(0, param, StdClass, 0) ZEND_END_ARG_INFO() -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_objectparamcastooparam, 0, 0, 1) +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testobjectparamcastooparam, 0, 0, 1) ZEND_ARG_OBJ_INFO(0, param, Stub\\Oo\\Param, 0) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_bb, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcallablepass, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_testcallablearraythismethodpass, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_aa, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_mcall_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testMethod1, arginfo_stub_mcall_testmethod1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testMethod1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testMethod2, arginfo_stub_mcall_testmethod2, ZEND_ACC_PROTECTED) +#else PHP_ME(Stub_Mcall, testMethod2, NULL, ZEND_ACC_PROTECTED) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testMethod3, arginfo_stub_mcall_testmethod3, ZEND_ACC_PRIVATE) +#else PHP_ME(Stub_Mcall, testMethod3, NULL, ZEND_ACC_PRIVATE) +#endif PHP_ME(Stub_Mcall, testMethod4, arginfo_stub_mcall_testmethod4, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testMethod5, arginfo_stub_mcall_testmethod5, ZEND_ACC_PROTECTED) PHP_ME(Stub_Mcall, testMethod6, arginfo_stub_mcall_testmethod6, ZEND_ACC_PRIVATE) PHP_ME(Stub_Mcall, testMethod7, arginfo_stub_mcall_testmethod7, ZEND_ACC_PRIVATE) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall1, arginfo_stub_mcall_testcall1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall2, arginfo_stub_mcall_testcall2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall3, arginfo_stub_mcall_testcall3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Mcall, testCall4, arginfo_stub_mcall_testcall4, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall5, arginfo_stub_mcall_testcall5, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall6, arginfo_stub_mcall_testcall6, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall7, arginfo_stub_mcall_testcall7, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall8, arginfo_stub_mcall_testcall8, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall9, arginfo_stub_mcall_testcall9, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall10, arginfo_stub_mcall_testcall10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall11, arginfo_stub_mcall_testcall11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall11, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall12, arginfo_stub_mcall_testcall12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall12, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Mcall, testCall13, arginfo_stub_mcall_testcall13, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall14, arginfo_stub_mcall_testcall14, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall15, arginfo_stub_mcall_testcall15, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall16, arginfo_stub_mcall_testcall16, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall17, arginfo_stub_mcall_testcall17, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCall18, arginfo_stub_mcall_testcall18, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCall18, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Mcall, testMethod19, arginfo_stub_mcall_testmethod19, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testCall20, arginfo_stub_mcall_testcall20, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, testMethod21, arginfo_stub_mcall_testmethod21, ZEND_ACC_PRIVATE) @@ -299,14 +321,30 @@ ZEPHIR_INIT_FUNCS(stub_mcall_method_entry) { PHP_ME(Stub_Mcall, optionalParameterBoolFalse, arginfo_stub_mcall_optionalparameterboolfalse, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, optionalParameterBoolean, arginfo_stub_mcall_optionalparameterboolean, ZEND_ACC_PUBLIC) PHP_ME(Stub_Mcall, optionalParameterBooleanNull, arginfo_stub_mcall_optionalparameterbooleannull, ZEND_ACC_PUBLIC) - PHP_ME(Stub_Mcall, arrayParamWithDefaultEmptyArray, arginfo_stub_mcall_arrayparamwithdefaultemptyarray, ZEND_ACC_PUBLIC) - PHP_ME(Stub_Mcall, arrayParamWithDefaultNullValue, arginfo_stub_mcall_arrayparamwithdefaultnullvalue, ZEND_ACC_PUBLIC) - PHP_ME(Stub_Mcall, arrayParam, arginfo_stub_mcall_arrayparam, ZEND_ACC_PUBLIC) - PHP_ME(Stub_Mcall, objectParamCastStdClass, arginfo_stub_mcall_objectparamcaststdclass, ZEND_ACC_PUBLIC) - PHP_ME(Stub_Mcall, objectParamCastOoParam, arginfo_stub_mcall_objectparamcastooparam, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Mcall, testArrayParamWithDefaultEmptyArray, arginfo_stub_mcall_testarrayparamwithdefaultemptyarray, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Mcall, testArrayParamWithDefaultNullValue, arginfo_stub_mcall_testarrayparamwithdefaultnullvalue, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Mcall, testArrayParam, arginfo_stub_mcall_testarrayparam, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Mcall, testObjectParamCastStdClass, arginfo_stub_mcall_testobjectparamcaststdclass, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Mcall, testObjectParamCastOoParam, arginfo_stub_mcall_testobjectparamcastooparam, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, bb, arginfo_stub_mcall_bb, ZEND_ACC_PRIVATE) +#else PHP_ME(Stub_Mcall, bb, NULL, ZEND_ACC_PRIVATE) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCallablePass, arginfo_stub_mcall_testcallablepass, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCallablePass, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, testCallableArrayThisMethodPass, arginfo_stub_mcall_testcallablearraythismethodpass, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, testCallableArrayThisMethodPass, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Mcall, aa, arginfo_stub_mcall_aa, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Mcall, aa, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/mcall/caller.zep.c b/ext/stub/mcall/caller.zep.c index f7e6262244..100a8e322e 100644 --- a/ext/stub/mcall/caller.zep.c +++ b/ext/stub/mcall/caller.zep.c @@ -33,6 +33,14 @@ PHP_METHOD(Stub_Mcall_Caller, start) { zval *this_ptr = getThis(); ZVAL_UNDEF(&f_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(f) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &f); @@ -50,6 +58,7 @@ PHP_METHOD(Stub_Mcall_Caller, perform) { zval *this_ptr = getThis(); + RETURN_STRING("Caller:perform"); } diff --git a/ext/stub/mcall/caller.zep.h b/ext/stub/mcall/caller.zep.h index 3cb187c012..7f35a9e806 100644 --- a/ext/stub/mcall/caller.zep.h +++ b/ext/stub/mcall/caller.zep.h @@ -10,11 +10,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcall_caller_start, 0, 0, 1) ZEND_ARG_INFO(0, f) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcall_caller_perform, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcall_caller_perform, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_mcall_caller_method_entry) { diff --git a/ext/stub/mcallchained.zep.c b/ext/stub/mcallchained.zep.c index d0c6219b78..6d954d74f5 100644 --- a/ext/stub/mcallchained.zep.c +++ b/ext/stub/mcallchained.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_McallChained, testMethod1) { zval *this_ptr = getThis(); + RETURN_THISW(); } @@ -44,6 +45,7 @@ PHP_METHOD(Stub_McallChained, testMethod2) { zval *this_ptr = getThis(); + RETURN_THISW(); } @@ -53,6 +55,7 @@ PHP_METHOD(Stub_McallChained, testMethod3) { zval *this_ptr = getThis(); + RETURN_THISW(); } @@ -66,6 +69,7 @@ PHP_METHOD(Stub_McallChained, testChained1) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod1", NULL, 0); @@ -86,6 +90,7 @@ PHP_METHOD(Stub_McallChained, testChained2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod1", NULL, 0); @@ -108,9 +113,10 @@ PHP_METHOD(Stub_McallChained, testChained3) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); - ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod3", NULL, 52); + ZEPHIR_CALL_METHOD(&_0, this_ptr, "testmethod3", NULL, 58); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_1, &_0, "testmethod2", NULL, 0); zephir_check_call_status(); @@ -130,6 +136,7 @@ PHP_METHOD(Stub_McallChained, testChained4) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); zephir_update_property_zval(this_ptr, ZEND_STRL("temp"), this_ptr); diff --git a/ext/stub/mcallchained.zep.h b/ext/stub/mcallchained.zep.h index 773299631c..f090ac8d60 100644 --- a/ext/stub/mcallchained.zep.h +++ b/ext/stub/mcallchained.zep.h @@ -11,13 +11,62 @@ PHP_METHOD(Stub_McallChained, testChained2); PHP_METHOD(Stub_McallChained, testChained3); PHP_METHOD(Stub_McallChained, testChained4); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testmethod1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testmethod2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testmethod3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testchained1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testchained2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testchained3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallchained_testchained4, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_mcallchained_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testMethod1, arginfo_stub_mcallchained_testmethod1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallChained, testMethod1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testMethod2, arginfo_stub_mcallchained_testmethod2, ZEND_ACC_PROTECTED) +#else PHP_ME(Stub_McallChained, testMethod2, NULL, ZEND_ACC_PROTECTED) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testMethod3, arginfo_stub_mcallchained_testmethod3, ZEND_ACC_PRIVATE) +#else PHP_ME(Stub_McallChained, testMethod3, NULL, ZEND_ACC_PRIVATE) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testChained1, arginfo_stub_mcallchained_testchained1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallChained, testChained1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testChained2, arginfo_stub_mcallchained_testchained2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallChained, testChained2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testChained3, arginfo_stub_mcallchained_testchained3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallChained, testChained3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallChained, testChained4, arginfo_stub_mcallchained_testchained4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallChained, testChained4, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/mcalldynamic.zep.c b/ext/stub/mcalldynamic.zep.c index 901b9dbcf0..c78bc20d6d 100644 --- a/ext/stub/mcalldynamic.zep.c +++ b/ext/stub/mcalldynamic.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_McallDynamic, testMethod1) { zval *this_ptr = getThis(); + RETURN_LONG(1); } @@ -49,6 +50,7 @@ PHP_METHOD(Stub_McallDynamic, testMagicCall1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_METHOD(&_0, this_ptr, "method1", NULL, 0); @@ -70,6 +72,15 @@ PHP_METHOD(Stub_McallDynamic, __call) { ZVAL_UNDEF(&method_sub); ZVAL_UNDEF(&arguments_sub); ZVAL_UNDEF(&realMethod); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(method) + Z_PARAM_ZVAL(arguments) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &method, &arguments); @@ -85,7 +96,7 @@ PHP_METHOD(Stub_McallDynamic, __call) { } /** - * @link https://github.com/phalcon/zephir/issues/1751 + * @link https://github.com/zephir-lang/zephir/issues/1751 */ PHP_METHOD(Stub_McallDynamic, testCallAnonymousFunctionWithContext) { @@ -98,6 +109,7 @@ PHP_METHOD(Stub_McallDynamic, testCallAnonymousFunctionWithContext) { ZVAL_UNDEF(&result); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_1); diff --git a/ext/stub/mcalldynamic.zep.h b/ext/stub/mcalldynamic.zep.h index 6d86ab0bea..b0eecbaa09 100644 --- a/ext/stub/mcalldynamic.zep.h +++ b/ext/stub/mcalldynamic.zep.h @@ -8,15 +8,36 @@ PHP_METHOD(Stub_McallDynamic, testMagicCall1); PHP_METHOD(Stub_McallDynamic, __call); PHP_METHOD(Stub_McallDynamic, testCallAnonymousFunctionWithContext); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcalldynamic_testmethod1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcalldynamic_testmagiccall1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcalldynamic___call, 0, 0, 2) ZEND_ARG_INFO(0, method) ZEND_ARG_INFO(0, arguments) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcalldynamic_testcallanonymousfunctionwithcontext, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_mcalldynamic_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallDynamic, testMethod1, arginfo_stub_mcalldynamic_testmethod1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallDynamic, testMethod1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallDynamic, testMagicCall1, arginfo_stub_mcalldynamic_testmagiccall1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallDynamic, testMagicCall1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_McallDynamic, __call, arginfo_stub_mcalldynamic___call, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallDynamic, testCallAnonymousFunctionWithContext, arginfo_stub_mcalldynamic_testcallanonymousfunctionwithcontext, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallDynamic, testCallAnonymousFunctionWithContext, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/mcallinternal.zep.c b/ext/stub/mcallinternal.zep.c index 1fde57fa09..1afaa96b6c 100644 --- a/ext/stub/mcallinternal.zep.c +++ b/ext/stub/mcallinternal.zep.c @@ -36,6 +36,7 @@ void zep_Stub_McallInternal_a(int ht, zend_execute_data *execute_data, zval *ret zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -49,6 +50,15 @@ void zep_Stub_McallInternal_b(int ht, zend_execute_data *execute_data, zval *ret zval *a, a_sub, *b, b_sub; ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + a = a_ext; @@ -64,6 +74,15 @@ void zep_Stub_McallInternal_c(int ht, zend_execute_data *execute_data, zval *ret zval *a_param = NULL, *b_param = NULL; long a, b; +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + a_param = a_param_ext; @@ -86,6 +105,7 @@ PHP_METHOD(Stub_McallInternal, e) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -104,6 +124,7 @@ PHP_METHOD(Stub_McallInternal, d) { ZVAL_UNDEF(&_3$$3); + ZEPHIR_MM_GROW(); a = 0; @@ -141,6 +162,7 @@ PHP_METHOD(Stub_McallInternal, f) { ZVAL_UNDEF(&_3$$3); + ZEPHIR_MM_GROW(); a = 0; @@ -180,6 +202,7 @@ PHP_METHOD(Stub_McallInternal, g) { ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$3); + ZEPHIR_MM_GROW(); a = 0; @@ -212,6 +235,15 @@ void zep_Stub_McallInternal_other(int ht, zend_execute_data *execute_data, zval zval *a_param = NULL, *b_param = NULL; long a, b; +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + a_param = a_param_ext; @@ -240,6 +272,7 @@ PHP_METHOD(Stub_McallInternal, callFibonacci) { ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$3); + ZEPHIR_MM_GROW(); p = (double) (0); @@ -273,6 +306,7 @@ void zep_Stub_McallInternal_test1956(int ht, zend_execute_data *execute_data, zv + RETURN_THISW(); } @@ -284,6 +318,7 @@ PHP_METHOD(Stub_McallInternal, issue1956) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_INTERNAL_METHOD_P0(this_ptr, zep_Stub_McallInternal_test1956); diff --git a/ext/stub/mcallinternal.zep.h b/ext/stub/mcallinternal.zep.h index ce8f4bc740..55d3ad272b 100644 --- a/ext/stub/mcallinternal.zep.h +++ b/ext/stub/mcallinternal.zep.h @@ -15,67 +15,66 @@ PHP_METHOD(Stub_McallInternal, callFibonacci); void zep_Stub_McallInternal_test1956(int ht, zend_execute_data *execute_data, zval *return_value, zval *this_ptr, int return_value_used); PHP_METHOD(Stub_McallInternal, issue1956); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_a, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_b, 0, 0, 2) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_c, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_e, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_d, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_f, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_mcallinternal_g, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcallinternal_other, 0, 2, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcallinternal_other, 0, 2, IS_DOUBLE, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcallinternal_callfibonacci, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcallinternal_callfibonacci, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_mcallinternal_test1956, 0, 0, Stub\\McallInternal, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcallinternal_test1956, 0, 0, IS_OBJECT, "Stub\\McallInternal", 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_mcallinternal_issue1956, 0, 0, Stub\\McallInternal, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_mcallinternal_issue1956, 0, 0, IS_OBJECT, "Stub\\McallInternal", 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_mcallinternal_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallInternal, e, arginfo_stub_mcallinternal_e, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallInternal, e, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallInternal, d, arginfo_stub_mcallinternal_d, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallInternal, d, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallInternal, f, arginfo_stub_mcallinternal_f, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallInternal, f, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_McallInternal, g, arginfo_stub_mcallinternal_g, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_McallInternal, g, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_McallInternal, callFibonacci, arginfo_stub_mcallinternal_callfibonacci, ZEND_ACC_PUBLIC) PHP_ME(Stub_McallInternal, issue1956, arginfo_stub_mcallinternal_issue1956, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/methodabstract.zep.c b/ext/stub/methodabstract.zep.c index f429a300c8..8309c67513 100644 --- a/ext/stub/methodabstract.zep.c +++ b/ext/stub/methodabstract.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_MethodAbstract, testInterfaceMetho) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_METHOD(NULL, this_ptr, "testmethod", NULL, 0); diff --git a/ext/stub/methodabstract.zep.h b/ext/stub/methodabstract.zep.h index 9cb54f3405..7ce2010185 100644 --- a/ext/stub/methodabstract.zep.h +++ b/ext/stub/methodabstract.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_MethodAbstract); PHP_METHOD(Stub_MethodAbstract, testInterfaceMetho); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodabstract_testinterfacemetho, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_methodabstract_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_MethodAbstract, testInterfaceMetho, arginfo_stub_methodabstract_testinterfacemetho, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_MethodAbstract, testInterfaceMetho, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/methodargs.zep.c b/ext/stub/methodargs.zep.c index 781b449fd6..3743e63737 100644 --- a/ext/stub/methodargs.zep.c +++ b/ext/stub/methodargs.zep.c @@ -43,6 +43,14 @@ PHP_METHOD(Stub_MethodArgs, setCallable) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -58,6 +66,14 @@ PHP_METHOD(Stub_MethodArgs, setObject) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -73,6 +89,14 @@ PHP_METHOD(Stub_MethodArgs, setCallableStrict) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -92,6 +116,14 @@ PHP_METHOD(Stub_MethodArgs, setObjectStrict) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -111,6 +143,14 @@ PHP_METHOD(Stub_MethodArgs, setResourceStrict) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_RESOURCE(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); @@ -125,7 +165,7 @@ PHP_METHOD(Stub_MethodArgs, setResourceStrict) { } /** - * @link https://github.com/phalcon/zephir/issues/336 + * @link https://github.com/zephir-lang/zephir/issues/336 */ PHP_METHOD(Stub_MethodArgs, methodOptionalValueWithDefaultStaticConstantAccess) { @@ -134,6 +174,15 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalValueWithDefaultStaticConstantAccess) zval *this_ptr = getThis(); ZVAL_UNDEF(&method_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(method) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &method); @@ -152,7 +201,7 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalValueWithDefaultStaticConstantAccess) /** * For string parameter - * @link https://github.com/phalcon/zephir/issues/696 + * @link https://github.com/zephir-lang/zephir/issues/696 */ PHP_METHOD(Stub_MethodArgs, methodOptionalStringValueWithDefaultStaticConstantAccess) { @@ -162,6 +211,15 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalStringValueWithDefaultStaticConstantAc zval *this_ptr = getThis(); ZVAL_UNDEF(¶meter); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_STR(parameter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, ¶meter_param); @@ -180,7 +238,7 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalStringValueWithDefaultStaticConstantAc /** * For double parameter - * @link https://github.com/phalcon/zephir/issues/696 + * @link https://github.com/zephir-lang/zephir/issues/696 */ PHP_METHOD(Stub_MethodArgs, methodOptionalDoubleValueWithDefaultStaticConstantAccess) { @@ -188,6 +246,15 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalDoubleValueWithDefaultStaticConstantAc double parameter; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(parameter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶meter_param); @@ -204,7 +271,7 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalDoubleValueWithDefaultStaticConstantAc /** * For bool parameter - * @link https://github.com/phalcon/zephir/issues/696 + * @link https://github.com/zephir-lang/zephir/issues/696 */ PHP_METHOD(Stub_MethodArgs, methodOptionalBoolValueWithDefaultStaticConstantAccess) { @@ -212,6 +279,15 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalBoolValueWithDefaultStaticConstantAcce zend_bool parameter; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(parameter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶meter_param); @@ -228,7 +304,7 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalBoolValueWithDefaultStaticConstantAcce /** * For int parameter - * @link https://github.com/phalcon/zephir/issues/728 + * @link https://github.com/zephir-lang/zephir/issues/728 */ PHP_METHOD(Stub_MethodArgs, methodOptionalIntValueWithDefaultStaticConstantAccess) { @@ -236,6 +312,15 @@ PHP_METHOD(Stub_MethodArgs, methodOptionalIntValueWithDefaultStaticConstantAcces zend_long parameter; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(parameter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, ¶meter_param); diff --git a/ext/stub/methodargs.zep.h b/ext/stub/methodargs.zep.h index d8e5fb7ee9..1332e95993 100644 --- a/ext/stub/methodargs.zep.h +++ b/ext/stub/methodargs.zep.h @@ -39,35 +39,19 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodargs_methodoptionalvaluewithdefaultsta ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodargs_methodoptionalstringvaluewithdefaultstaticconstantaccess, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, parameter) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodargs_methodoptionaldoublevaluewithdefaultstaticconstantaccess, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, parameter, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, parameter) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodargs_methodoptionalboolvaluewithdefaultstaticconstantaccess, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, parameter, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, parameter) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodargs_methodoptionalintvaluewithdefaultstaticconstantaccess, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, parameter, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, parameter) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_methodargs_method_entry) { diff --git a/ext/stub/methodinterface.zep.c b/ext/stub/methodinterface.zep.c index 2ff6ef57d7..15726502fd 100644 --- a/ext/stub/methodinterface.zep.c +++ b/ext/stub/methodinterface.zep.c @@ -21,4 +21,3 @@ ZEPHIR_INIT_CLASS(Stub_MethodInterface) { } ZEPHIR_DOC_METHOD(Stub_MethodInterface, testMethod); - diff --git a/ext/stub/methodinterface.zep.h b/ext/stub/methodinterface.zep.h index 737fd19726..9ac11d34c6 100644 --- a/ext/stub/methodinterface.zep.h +++ b/ext/stub/methodinterface.zep.h @@ -3,7 +3,10 @@ extern zend_class_entry *stub_methodinterface_ce; ZEPHIR_INIT_CLASS(Stub_MethodInterface); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_methodinterface_testmethod, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_methodinterface_method_entry) { - PHP_ABSTRACT_ME(Stub_MethodInterface, testMethod, NULL) + PHP_ABSTRACT_ME(Stub_MethodInterface, testMethod, arginfo_stub_methodinterface_testmethod) PHP_FE_END }; diff --git a/ext/stub/namespaces/a/b/sub.zep.c b/ext/stub/namespaces/a/b/sub.zep.c new file mode 100644 index 0000000000..c4589728f4 --- /dev/null +++ b/ext/stub/namespaces/a/b/sub.zep.c @@ -0,0 +1,26 @@ + +#ifdef HAVE_CONFIG_H +#include "../../../../ext_config.h" +#endif + +#include +#include "../../../../php_ext.h" +#include "../../../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" + + +ZEPHIR_INIT_CLASS(Stub_Namespaces_A_B_Sub) { + + ZEPHIR_REGISTER_CLASS(Stub\\Namespaces\\A\\B, Sub, stub, namespaces_a_b_sub, NULL, 0); + + zend_declare_property_null(stub_namespaces_a_b_sub_ce, SL("value"), ZEND_ACC_PUBLIC); + + return SUCCESS; + +} + diff --git a/ext/stub/namespaces/a/b/sub.zep.h b/ext/stub/namespaces/a/b/sub.zep.h new file mode 100644 index 0000000000..697234fb09 --- /dev/null +++ b/ext/stub/namespaces/a/b/sub.zep.h @@ -0,0 +1,5 @@ + +extern zend_class_entry *stub_namespaces_a_b_sub_ce; + +ZEPHIR_INIT_CLASS(Stub_Namespaces_A_B_Sub); + diff --git a/ext/stub/namespaces/classentry.zep.c b/ext/stub/namespaces/classentry.zep.c new file mode 100644 index 0000000000..89395039ea --- /dev/null +++ b/ext/stub/namespaces/classentry.zep.c @@ -0,0 +1,74 @@ + +#ifdef HAVE_CONFIG_H +#include "../../ext_config.h" +#endif + +#include +#include "../../php_ext.h" +#include "../../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/memory.h" +#include "kernel/object.h" + + +ZEPHIR_INIT_CLASS(Stub_Namespaces_ClassEntry) { + + ZEPHIR_REGISTER_CLASS(Stub\\Namespaces, ClassEntry, stub, namespaces_classentry, stub_namespaces_classentry_method_entry, 0); + + return SUCCESS; + +} + +PHP_METHOD(Stub_Namespaces_ClassEntry, setParam) { + + zval *param, param_sub; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(param, stub_namespaces_a_b_sub_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + zephir_fetch_params_without_memory_grow(1, 0, ¶m); + + + + RETVAL_ZVAL(param, 1, 0); + return; + +} + +PHP_METHOD(Stub_Namespaces_ClassEntry, setParamImported) { + + zval *param, param_sub; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(param, stub_namespaces_a_b_sub_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + + + zephir_fetch_params_without_memory_grow(1, 0, ¶m); + + + + RETVAL_ZVAL(param, 1, 0); + return; + +} + diff --git a/ext/stub/namespaces/classentry.zep.h b/ext/stub/namespaces/classentry.zep.h new file mode 100644 index 0000000000..161e0e8dbe --- /dev/null +++ b/ext/stub/namespaces/classentry.zep.h @@ -0,0 +1,21 @@ + +extern zend_class_entry *stub_namespaces_classentry_ce; + +ZEPHIR_INIT_CLASS(Stub_Namespaces_ClassEntry); + +PHP_METHOD(Stub_Namespaces_ClassEntry, setParam); +PHP_METHOD(Stub_Namespaces_ClassEntry, setParamImported); + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_namespaces_classentry_setparam, 0, 1, Stub\\Namespaces\\A\\B\\Sub, 0) + ZEND_ARG_OBJ_INFO(0, param, Stub\\Namespaces\\A\\B\\Sub, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_namespaces_classentry_setparamimported, 0, 1, Stub\\Namespaces\\A\\B\\Sub, 0) + ZEND_ARG_OBJ_INFO(0, param, Stub\\Namespaces\\A\\B\\Sub, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_namespaces_classentry_method_entry) { + PHP_ME(Stub_Namespaces_ClassEntry, setParam, arginfo_stub_namespaces_classentry_setparam, ZEND_ACC_PUBLIC) + PHP_ME(Stub_Namespaces_ClassEntry, setParamImported, arginfo_stub_namespaces_classentry_setparamimported, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/nativearray.zep.c b/ext/stub/nativearray.zep.c index 65b5ab2d61..660f62dcef 100644 --- a/ext/stub/nativearray.zep.c +++ b/ext/stub/nativearray.zep.c @@ -27,6 +27,7 @@ ZEPHIR_INIT_CLASS(Stub_NativeArray) { zend_declare_property_null(stub_nativearray_ce, SL("prefixes"), ZEND_ACC_PROTECTED); stub_nativearray_ce->create_object = zephir_init_properties_Stub_NativeArray; + return SUCCESS; } @@ -39,6 +40,7 @@ PHP_METHOD(Stub_NativeArray, testArray1) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -56,6 +58,7 @@ PHP_METHOD(Stub_NativeArray, testArray2) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -82,6 +85,7 @@ PHP_METHOD(Stub_NativeArray, testArray3) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -109,6 +113,7 @@ PHP_METHOD(Stub_NativeArray, testArray4) { ZVAL_BOOL(&__$true, 1); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -129,6 +134,7 @@ PHP_METHOD(Stub_NativeArray, testArray5) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -149,6 +155,7 @@ PHP_METHOD(Stub_NativeArray, testArray6) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -176,6 +183,7 @@ PHP_METHOD(Stub_NativeArray, testArray7) { ZVAL_UNDEF(&d); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 1; @@ -206,6 +214,7 @@ PHP_METHOD(Stub_NativeArray, testArray8) { ZVAL_UNDEF(&d); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = (double) (1); @@ -236,6 +245,7 @@ PHP_METHOD(Stub_NativeArray, testArray9) { ZVAL_UNDEF(&d); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 1; @@ -268,6 +278,7 @@ PHP_METHOD(Stub_NativeArray, testArray10) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -296,6 +307,7 @@ PHP_METHOD(Stub_NativeArray, testArray11) { ZVAL_UNDEF(&c); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -339,6 +351,7 @@ PHP_METHOD(Stub_NativeArray, testArray12) { ZVAL_UNDEF(&c); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -370,6 +383,7 @@ PHP_METHOD(Stub_NativeArray, testArray13) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -389,6 +403,7 @@ PHP_METHOD(Stub_NativeArray, testArray14) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -410,6 +425,7 @@ PHP_METHOD(Stub_NativeArray, testArray15) { ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -429,6 +445,7 @@ PHP_METHOD(Stub_NativeArray, testArray16) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -449,6 +466,7 @@ PHP_METHOD(Stub_NativeArray, testArray17) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -468,6 +486,7 @@ PHP_METHOD(Stub_NativeArray, testArray18) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -489,6 +508,7 @@ PHP_METHOD(Stub_NativeArray, testArray19) { ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -508,6 +528,7 @@ PHP_METHOD(Stub_NativeArray, testArray20) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -528,6 +549,7 @@ PHP_METHOD(Stub_NativeArray, testArray21) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -547,6 +569,7 @@ PHP_METHOD(Stub_NativeArray, testArray22) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -568,6 +591,7 @@ PHP_METHOD(Stub_NativeArray, testArray23) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); b = 0; @@ -596,6 +620,7 @@ PHP_METHOD(Stub_NativeArray, testArray24) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); b = 0.0; @@ -624,6 +649,7 @@ PHP_METHOD(Stub_NativeArray, testArray25) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); b = 0; @@ -651,6 +677,7 @@ PHP_METHOD(Stub_NativeArray, testArray26) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -674,6 +701,7 @@ PHP_METHOD(Stub_NativeArray, testArray27) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -697,6 +725,7 @@ PHP_METHOD(Stub_NativeArray, testArray28) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -719,6 +748,7 @@ PHP_METHOD(Stub_NativeArray, testArray29) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); b = 1; @@ -739,6 +769,7 @@ PHP_METHOD(Stub_NativeArray, testArray30) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -760,6 +791,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAccess1) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -787,6 +819,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAccess2) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -810,6 +843,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAccess3) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -840,6 +874,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAccess4) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -864,6 +899,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAccess5) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -889,6 +925,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAccess6) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -916,6 +953,7 @@ PHP_METHOD(Stub_NativeArray, testArrayMultipleAccess1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -944,6 +982,7 @@ PHP_METHOD(Stub_NativeArray, testArrayMultipleAccess2) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -978,6 +1017,7 @@ PHP_METHOD(Stub_NativeArray, testArrayMultipleAccess3) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1016,6 +1056,7 @@ PHP_METHOD(Stub_NativeArray, testArrayMultipleAccess4) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1053,6 +1094,7 @@ PHP_METHOD(Stub_NativeArray, testArrayMultipleAccess5) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1081,6 +1123,7 @@ PHP_METHOD(Stub_NativeArray, testArrayUpdate1) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1111,6 +1154,7 @@ PHP_METHOD(Stub_NativeArray, testArrayUpdate2) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1143,6 +1187,7 @@ PHP_METHOD(Stub_NativeArray, testArrayUpdate3) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1177,6 +1222,7 @@ PHP_METHOD(Stub_NativeArray, testArrayUpdate4) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1204,6 +1250,7 @@ PHP_METHOD(Stub_NativeArray, testArrayUpdate5) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1269,6 +1316,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAppend1) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1318,6 +1366,7 @@ PHP_METHOD(Stub_NativeArray, testArrayAppend2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1365,6 +1414,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate1) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1383,6 +1433,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate2) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1401,6 +1452,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate3) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1419,6 +1471,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate4) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1437,6 +1490,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate5) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1455,6 +1509,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate6) { ZVAL_NULL(&__$null); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1474,6 +1529,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate7) { ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1495,6 +1551,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate8) { ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1517,6 +1574,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate9) { ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1539,6 +1597,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate10) { ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1561,6 +1620,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate11) { ZVAL_UNDEF(&b); ZVAL_UNDEF(&c); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1586,6 +1646,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate12) { ZVAL_UNDEF(&c); ZVAL_UNDEF(&d); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&b); @@ -1616,6 +1677,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayUpdate13) { ZVAL_UNDEF(&d); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&d); @@ -1653,6 +1715,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayAppend1) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1676,6 +1739,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayAppend2) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&x); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1704,6 +1768,7 @@ PHP_METHOD(Stub_NativeArray, testMultipleArrayAppend3) { ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -1740,6 +1805,14 @@ PHP_METHOD(Stub_NativeArray, testArrayKeys) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -1758,6 +1831,14 @@ PHP_METHOD(Stub_NativeArray, testImplodeArray) { ZVAL_UNDEF(¶m_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¶m); @@ -1772,7 +1853,7 @@ PHP_METHOD(Stub_NativeArray, testImplodeArray) { } /** - * @link https://github.com/phalcon/zephir/issues/110 + * @link https://github.com/zephir-lang/zephir/issues/110 */ PHP_METHOD(Stub_NativeArray, issue110) { @@ -1783,6 +1864,7 @@ PHP_METHOD(Stub_NativeArray, issue110) { ZVAL_UNDEF(&byteUnits); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&byteUnits); @@ -1811,6 +1893,14 @@ PHP_METHOD(Stub_NativeArray, issue264) { zval *this_ptr = getThis(); ZVAL_UNDEF(&tokens); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(tokens) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &tokens_param); @@ -1831,6 +1921,14 @@ PHP_METHOD(Stub_NativeArray, issue743a) { ZVAL_UNDEF(¤t743a); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(current743a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¤t743a_param); @@ -1854,6 +1952,14 @@ PHP_METHOD(Stub_NativeArray, issue743b) { ZVAL_UNDEF(¤t); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(current) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¤t_param); @@ -1878,6 +1984,14 @@ PHP_METHOD(Stub_NativeArray, issue743c) { ZVAL_UNDEF(¤t); ZVAL_UNDEF(&key); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(current) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¤t_param); @@ -1895,7 +2009,7 @@ PHP_METHOD(Stub_NativeArray, issue743c) { } /** - * @link https://github.com/phalcon/zephir/issues/709 + * @link https://github.com/zephir-lang/zephir/issues/709 */ PHP_METHOD(Stub_NativeArray, issue709) { @@ -1912,6 +2026,7 @@ PHP_METHOD(Stub_NativeArray, issue709) { ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$3); + ZEPHIR_MM_GROW(); works = 1; @@ -1938,7 +2053,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, 53, &arr); + ZEPHIR_CALL_FUNCTION(&_5$$3, "array_rand", &_6, 59, &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); @@ -1969,6 +2084,15 @@ PHP_METHOD(Stub_NativeArray, Issue1140) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_1$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(prefix) + Z_PARAM_STR(baseDir) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &prefix_param, &baseDir_param); @@ -1986,7 +2110,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, 54, &_3, &baseDir); + ZEPHIR_CALL_FUNCTION(NULL, "array_push", NULL, 60, &_3, &baseDir); ZEPHIR_UNREF(&_3); zephir_check_call_status(); RETURN_MM_MEMBER(getThis(), "prefixes"); @@ -2002,6 +2126,7 @@ PHP_METHOD(Stub_NativeArray, Issue1159) { ZVAL_UNDEF(&myvar); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&myvar); @@ -2014,12 +2139,13 @@ PHP_METHOD(Stub_NativeArray, Issue1159) { } -zend_object *zephir_init_properties_Stub_NativeArray(zend_class_entry *class_type TSRMLS_DC) { +zend_object *zephir_init_properties_Stub_NativeArray(zend_class_entry *class_type) { zval _0, _1$$3; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1$$3); + ZEPHIR_MM_GROW(); diff --git a/ext/stub/nativearray.zep.h b/ext/stub/nativearray.zep.h index 163237bede..adea753285 100644 --- a/ext/stub/nativearray.zep.h +++ b/ext/stub/nativearray.zep.h @@ -77,529 +77,239 @@ PHP_METHOD(Stub_NativeArray, issue743c); PHP_METHOD(Stub_NativeArray, issue709); PHP_METHOD(Stub_NativeArray, Issue1140); PHP_METHOD(Stub_NativeArray, Issue1159); -zend_object *zephir_init_properties_Stub_NativeArray(zend_class_entry *class_type TSRMLS_DC); +zend_object *zephir_init_properties_Stub_NativeArray(zend_class_entry *class_type); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray1, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray1, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray2, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray2, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray3, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray3, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray4, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray4, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray5, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray5, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray6, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray6, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray7, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray7, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray8, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray8, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray9, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray9, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray10, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray10, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray11, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray11, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray12, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray12, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray13, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray13, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray14, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray14, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray15, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray15, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray16, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray16, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray17, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray17, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray18, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray18, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray19, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray19, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray20, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray20, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray21, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray21, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray22, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray22, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray23, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray23, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray24, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray24, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray25, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray25, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray26, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray26, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray27, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray27, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray28, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray28, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray29, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray29, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray30, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarray30, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess2, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess2, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess3, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess3, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess4, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess4, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess5, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess5, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess6, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayaccess6, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess1, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess1, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess2, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess2, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess3, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess3, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess4, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess4, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess5, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraymultipleaccess5, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate1, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate1, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate2, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate2, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate3, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate3, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate4, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate4, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate5, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayupdate5, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayappend1, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayappend1, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayappend2, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarrayappend2, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate1, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate1, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate2, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate2, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate3, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate3, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate4, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate4, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate5, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate5, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate6, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate6, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate7, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate7, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate8, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate8, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate9, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate9, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate10, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate10, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate11, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate11, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate12, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate12, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate13, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayupdate13, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayappend1, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayappend1, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayappend2, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayappend2, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayappend3, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testmultiplearrayappend3, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraykeys, 0, 1, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testarraykeys, 0, 1, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_INFO(0, param) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testimplodearray, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_testimplodearray, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, param) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue110, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue110, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue264, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue264, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_ARRAY_INFO(0, tokens, 0) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue743a, 0, 1, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue743a, 0, 1, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_ARRAY_INFO(0, current743a, 0) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue743b, 0, 1, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue743b, 0, 1, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_ARRAY_INFO(0, current, 0) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue743c, 0, 1, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue743c, 0, 1, IS_ARRAY, NULL, 0) -#endif ZEND_ARG_ARRAY_INFO(0, current, 0) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue709, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_nativearray_issue709, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_nativearray_issue1140, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, prefix, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, prefix) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, baseDir, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, baseDir) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_nativearray_issue1159, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_nativearray_zephir_init_properties_stub_nativearray, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_nativearray_method_entry) { @@ -676,6 +386,10 @@ ZEPHIR_INIT_FUNCS(stub_nativearray_method_entry) { PHP_ME(Stub_NativeArray, issue743c, arginfo_stub_nativearray_issue743c, ZEND_ACC_PUBLIC) PHP_ME(Stub_NativeArray, issue709, arginfo_stub_nativearray_issue709, ZEND_ACC_PUBLIC) PHP_ME(Stub_NativeArray, Issue1140, arginfo_stub_nativearray_issue1140, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_NativeArray, Issue1159, arginfo_stub_nativearray_issue1159, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_NativeArray, Issue1159, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo.zep.c b/ext/stub/oo.zep.c index 45b9e21eae..8b64ed5267 100644 --- a/ext/stub/oo.zep.c +++ b/ext/stub/oo.zep.c @@ -38,6 +38,7 @@ PHP_METHOD(Stub_Oo, testInstance1) { ZVAL_UNDEF(&o); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); @@ -55,11 +56,12 @@ PHP_METHOD(Stub_Oo, testInstance2) { ZVAL_UNDEF(&o); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); object_init_ex(&o, stub_oo_ooconstruct_ce); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 55); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 61); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -74,6 +76,7 @@ PHP_METHOD(Stub_Oo, testInstance3) { ZVAL_UNDEF(&o); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); @@ -97,6 +100,7 @@ PHP_METHOD(Stub_Oo, testInstance4) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&b); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -105,7 +109,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, 56, &a, &b); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 62, &a, &b); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -122,6 +126,7 @@ PHP_METHOD(Stub_Oo, testInstance5) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); @@ -130,7 +135,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, 56, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 62, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -147,13 +152,14 @@ PHP_METHOD(Stub_Oo, testInstance6) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_LONG(&_0, 1); ZVAL_LONG(&_1, 2); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 56, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 62, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -170,13 +176,14 @@ PHP_METHOD(Stub_Oo, testInstance7) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_BOOL(&_0, 0); ZVAL_BOOL(&_1, 1); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 56, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 62, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -193,13 +200,14 @@ PHP_METHOD(Stub_Oo, testInstance8) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); 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, 56, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 62, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -215,6 +223,7 @@ PHP_METHOD(Stub_Oo, testInstance9) { ZVAL_UNDEF(&o); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_CE_STATIC(&o, stub_oo_oodynamica_ce, "getnew", &_0, 0); @@ -233,6 +242,7 @@ PHP_METHOD(Stub_Oo, testInstance10) { ZVAL_UNDEF(&o); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_CE_STATIC(&o, stub_oo_oodynamicb_ce, "getnew", &_0, 0); @@ -252,13 +262,14 @@ PHP_METHOD(Stub_Oo, testInstance11) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&o); object_init_ex(&o, stub_oo_ooconstructparams_ce); ZVAL_LONG(&_0, 1); ZVAL_LONG(&_1, 2); - ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 56, &_0, &_1); + ZEPHIR_CALL_METHOD(NULL, &o, "__construct", NULL, 62, &_0, &_1); zephir_check_call_status(); RETURN_CCTOR(&o); @@ -274,6 +285,7 @@ PHP_METHOD(Stub_Oo, testInstance12) { ZVAL_UNDEF(&o); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_CE_STATIC(&o, stub_oo_oodynamica_ce, "call1", &_0, 0); @@ -305,6 +317,7 @@ PHP_METHOD(Stub_Oo, createInstancesInLoop) { ZVAL_UNDEF(&result); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&result); diff --git a/ext/stub/oo.zep.h b/ext/stub/oo.zep.h index 8cd1301b52..33a50a44b2 100644 --- a/ext/stub/oo.zep.h +++ b/ext/stub/oo.zep.h @@ -17,26 +17,106 @@ PHP_METHOD(Stub_Oo, testInstance11); PHP_METHOD(Stub_Oo, testInstance12); PHP_METHOD(Stub_Oo, createInstancesInLoop); -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance6, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance11, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_testinstance12, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_createinstancesinloop, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_createinstancesinloop, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance1, arginfo_stub_oo_testinstance1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance2, arginfo_stub_oo_testinstance2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance3, arginfo_stub_oo_testinstance3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance4, arginfo_stub_oo_testinstance4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance5, arginfo_stub_oo_testinstance5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance6, arginfo_stub_oo_testinstance6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance6, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance7, arginfo_stub_oo_testinstance7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance8, arginfo_stub_oo_testinstance8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance9, arginfo_stub_oo_testinstance9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance10, arginfo_stub_oo_testinstance10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance11, arginfo_stub_oo_testinstance11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance11, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo, testInstance12, arginfo_stub_oo_testinstance12, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo, testInstance12, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo, createInstancesInLoop, arginfo_stub_oo_createinstancesinloop, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/oo/abstractclass.zep.h b/ext/stub/oo/abstractclass.zep.h index 46b7d18edb..137e96b858 100644 --- a/ext/stub/oo/abstractclass.zep.h +++ b/ext/stub/oo/abstractclass.zep.h @@ -12,50 +12,48 @@ PHP_METHOD(Stub_Oo_AbstractClass, testAbstractMethodDeclarationWithReturnType); PHP_METHOD(Stub_Oo_AbstractClass, testAbstractMethodDeclarationWithParameter); PHP_METHOD(Stub_Oo_AbstractClass, testAbstractMethodDeclarationWithParameterAndReturnType); -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_abstractclass_testmethoddeclaration, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testmethoddeclarationwithreturntype, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testmethoddeclarationwithreturntype, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_abstractclass_testmethoddeclarationwithparameter, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testmethoddeclarationwithparameterandreturntype, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testmethoddeclarationwithparameterandreturntype, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_abstractclass_testabstractmethoddeclaration, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithreturntype, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithreturntype, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithparameter, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithparameterandreturntype, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithparameterandreturntype, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_abstractclass_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_AbstractClass, testMethodDeclaration, arginfo_stub_oo_abstractclass_testmethoddeclaration, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_AbstractClass, testMethodDeclaration, NULL, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_AbstractClass, testMethodDeclarationWithReturnType, arginfo_stub_oo_abstractclass_testmethoddeclarationwithreturntype, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_AbstractClass, testMethodDeclarationWithParameter, arginfo_stub_oo_abstractclass_testmethoddeclarationwithparameter, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_AbstractClass, testMethodDeclarationWithParameterAndReturnType, arginfo_stub_oo_abstractclass_testmethoddeclarationwithparameterandreturntype, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_AbstractClass, testAbstractMethodDeclaration, arginfo_stub_oo_abstractclass_testabstractmethoddeclaration, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_AbstractClass, testAbstractMethodDeclaration, NULL, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_AbstractClass, testAbstractMethodDeclarationWithReturnType, arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithreturntype, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_AbstractClass, testAbstractMethodDeclarationWithParameter, arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithparameter, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_AbstractClass, testAbstractMethodDeclarationWithParameterAndReturnType, arginfo_stub_oo_abstractclass_testabstractmethoddeclarationwithparameterandreturntype, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) diff --git a/ext/stub/oo/abstractstatic.zep.c b/ext/stub/oo/abstractstatic.zep.c index ab6516a34c..de0b1dcd49 100644 --- a/ext/stub/oo/abstractstatic.zep.c +++ b/ext/stub/oo/abstractstatic.zep.c @@ -28,6 +28,7 @@ PHP_METHOD(Stub_Oo_AbstractStatic, getCalledClass) { zval *this_ptr = getThis(); + zephir_get_called_class(return_value); return; diff --git a/ext/stub/oo/abstractstatic.zep.h b/ext/stub/oo/abstractstatic.zep.h index 30694fb78d..e7fa3e0c9b 100644 --- a/ext/stub/oo/abstractstatic.zep.h +++ b/ext/stub/oo/abstractstatic.zep.h @@ -5,11 +5,7 @@ ZEPHIR_INIT_CLASS(Stub_Oo_AbstractStatic); PHP_METHOD(Stub_Oo_AbstractStatic, getCalledClass); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractstatic_getcalledclass, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_abstractstatic_getcalledclass, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_abstractstatic_method_entry) { diff --git a/ext/stub/oo/concretestatic.zep.c b/ext/stub/oo/concretestatic.zep.c index cbdc9170cc..d533904813 100644 --- a/ext/stub/oo/concretestatic.zep.c +++ b/ext/stub/oo/concretestatic.zep.c @@ -30,6 +30,7 @@ PHP_METHOD(Stub_Oo_ConcreteStatic, parentFunction) { zval *this_ptr = getThis(); + RETURN_STRING("ConcreteStatic:parentFunction"); } @@ -41,6 +42,7 @@ PHP_METHOD(Stub_Oo_ConcreteStatic, childFunction) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("parentfunction", NULL, 0); @@ -49,3 +51,30 @@ PHP_METHOD(Stub_Oo_ConcreteStatic, childFunction) { } +PHP_METHOD(Stub_Oo_ConcreteStatic, callParentFunction) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zephir_fcall_cache_entry *_0 = NULL; + zval *this_ptr = getThis(); + + + + ZEPHIR_MM_GROW(); + + ZEPHIR_RETURN_CALL_PARENT(stub_oo_concretestatic_ce, getThis(), "getcalledclass", &_0, 0); + zephir_check_call_status(); + RETURN_MM(); + +} + +PHP_METHOD(Stub_Oo_ConcreteStatic, simpleStaticIntReturn) { + + zval *this_ptr = getThis(); + + + + RETURN_LONG(1337); + +} + diff --git a/ext/stub/oo/concretestatic.zep.h b/ext/stub/oo/concretestatic.zep.h index 37302f2cc3..e2e2f17be8 100644 --- a/ext/stub/oo/concretestatic.zep.h +++ b/ext/stub/oo/concretestatic.zep.h @@ -5,9 +5,33 @@ ZEPHIR_INIT_CLASS(Stub_Oo_ConcreteStatic); PHP_METHOD(Stub_Oo_ConcreteStatic, parentFunction); PHP_METHOD(Stub_Oo_ConcreteStatic, childFunction); +PHP_METHOD(Stub_Oo_ConcreteStatic, callParentFunction); +PHP_METHOD(Stub_Oo_ConcreteStatic, simpleStaticIntReturn); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_concretestatic_parentfunction, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_concretestatic_childfunction, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_concretestatic_callparentfunction, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_concretestatic_simplestaticintreturn, 0, 0, IS_LONG, 0) +ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_concretestatic_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConcreteStatic, parentFunction, arginfo_stub_oo_concretestatic_parentfunction, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Oo_ConcreteStatic, parentFunction, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConcreteStatic, childFunction, arginfo_stub_oo_concretestatic_childfunction, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Oo_ConcreteStatic, childFunction, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif + PHP_ME(Stub_Oo_ConcreteStatic, callParentFunction, arginfo_stub_oo_concretestatic_callparentfunction, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) + PHP_ME(Stub_Oo_ConcreteStatic, simpleStaticIntReturn, arginfo_stub_oo_concretestatic_simplestaticintreturn, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_FE_END }; diff --git a/ext/stub/oo/constantsinterface.zep.c b/ext/stub/oo/constantsinterface.zep.c index 2251c0944a..70e2cc113a 100644 --- a/ext/stub/oo/constantsinterface.zep.c +++ b/ext/stub/oo/constantsinterface.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant1) { zval *this_ptr = getThis(); + RETURN_NULL(); } @@ -42,6 +43,7 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant2) { zval *this_ptr = getThis(); + RETURN_BOOL(0); } @@ -51,6 +53,7 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant3) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -60,6 +63,7 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant4) { zval *this_ptr = getThis(); + RETURN_LONG(10); } @@ -69,6 +73,7 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant5) { zval *this_ptr = getThis(); + RETURN_DOUBLE(10.25); } @@ -78,6 +83,7 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant6) { zval *this_ptr = getThis(); + RETURN_STRING("test"); } diff --git a/ext/stub/oo/constantsinterface.zep.h b/ext/stub/oo/constantsinterface.zep.h index 352272bffc..f6c552dca8 100644 --- a/ext/stub/oo/constantsinterface.zep.h +++ b/ext/stub/oo/constantsinterface.zep.h @@ -10,12 +10,54 @@ PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant4); PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant5); PHP_METHOD(Stub_Oo_ConstantsInterface, testReadInterfaceConstant6); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_constantsinterface_testreadinterfaceconstant1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_constantsinterface_testreadinterfaceconstant2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_constantsinterface_testreadinterfaceconstant3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_constantsinterface_testreadinterfaceconstant4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_constantsinterface_testreadinterfaceconstant5, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_constantsinterface_testreadinterfaceconstant6, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_constantsinterface_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant1, arginfo_stub_oo_constantsinterface_testreadinterfaceconstant1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant2, arginfo_stub_oo_constantsinterface_testreadinterfaceconstant2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant3, arginfo_stub_oo_constantsinterface_testreadinterfaceconstant3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant3, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant4, arginfo_stub_oo_constantsinterface_testreadinterfaceconstant4, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant4, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant5, arginfo_stub_oo_constantsinterface_testreadinterfaceconstant5, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant5, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant6, arginfo_stub_oo_constantsinterface_testreadinterfaceconstant6, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_ConstantsInterface, testReadInterfaceConstant6, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/deprecatedmethods.zep.c b/ext/stub/oo/deprecatedmethods.zep.c index 789e9c78b3..3c88f636d0 100644 --- a/ext/stub/oo/deprecatedmethods.zep.c +++ b/ext/stub/oo/deprecatedmethods.zep.c @@ -30,6 +30,7 @@ PHP_METHOD(Stub_Oo_DeprecatedMethods, publicDeprecated) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } @@ -41,9 +42,10 @@ PHP_METHOD(Stub_Oo_DeprecatedMethods, normalMethod) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); - ZEPHIR_RETURN_CALL_METHOD(this_ptr, "privatedeprecated", NULL, 57); + ZEPHIR_RETURN_CALL_METHOD(this_ptr, "privatedeprecated", NULL, 63); zephir_check_call_status(); RETURN_MM(); @@ -54,6 +56,7 @@ PHP_METHOD(Stub_Oo_DeprecatedMethods, privateDeprecated) { zval *this_ptr = getThis(); + RETURN_BOOL(1); } diff --git a/ext/stub/oo/deprecatedmethods.zep.h b/ext/stub/oo/deprecatedmethods.zep.h index 53b6443f4f..0ffa7652bc 100644 --- a/ext/stub/oo/deprecatedmethods.zep.h +++ b/ext/stub/oo/deprecatedmethods.zep.h @@ -7,9 +7,30 @@ PHP_METHOD(Stub_Oo_DeprecatedMethods, publicDeprecated); PHP_METHOD(Stub_Oo_DeprecatedMethods, normalMethod); PHP_METHOD(Stub_Oo_DeprecatedMethods, privateDeprecated); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_deprecatedmethods_publicdeprecated, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_deprecatedmethods_normalmethod, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_deprecatedmethods_privatedeprecated, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_deprecatedmethods_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_DeprecatedMethods, publicDeprecated, arginfo_stub_oo_deprecatedmethods_publicdeprecated, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) +#else PHP_ME(Stub_Oo_DeprecatedMethods, publicDeprecated, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_DEPRECATED) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_DeprecatedMethods, normalMethod, arginfo_stub_oo_deprecatedmethods_normalmethod, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_DeprecatedMethods, normalMethod, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_DeprecatedMethods, privateDeprecated, arginfo_stub_oo_deprecatedmethods_privatedeprecated, ZEND_ACC_PRIVATE|ZEND_ACC_DEPRECATED) +#else PHP_ME(Stub_Oo_DeprecatedMethods, privateDeprecated, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_DEPRECATED) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/dynamicprop.zep.c b/ext/stub/oo/dynamicprop.zep.c index 86ae56c94f..a6a5c8897a 100644 --- a/ext/stub/oo/dynamicprop.zep.c +++ b/ext/stub/oo/dynamicprop.zep.c @@ -41,6 +41,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyInt) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -73,6 +81,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyBoolTrue) { ZVAL_UNDEF(&property); ZVAL_BOOL(&__$true, 1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -103,6 +119,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyBoolFalse) { ZVAL_UNDEF(&property); ZVAL_BOOL(&__$false, 0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -133,6 +157,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyString) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -166,6 +198,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyChar) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -200,6 +240,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyUChar) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -233,6 +281,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyNull) { ZVAL_UNDEF(&property); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -264,6 +320,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyVariableInt) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -297,6 +361,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyVariableString) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&a); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -330,6 +402,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyVariableBoolTrue) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -364,6 +444,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setPropertyVariableBoolFalse) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(property) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &property_param); @@ -396,6 +484,7 @@ PHP_METHOD(Stub_Oo_DynamicProp, setExistingStringProperty) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -413,6 +502,14 @@ PHP_METHOD(Stub_Oo_DynamicProp, setExistingStringPropertyString) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value_param); @@ -442,6 +539,7 @@ PHP_METHOD(Stub_Oo_DynamicProp, setNonExistingStringProperty) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); diff --git a/ext/stub/oo/dynamicprop.zep.h b/ext/stub/oo/dynamicprop.zep.h index 675708cc2f..4daece4bc4 100644 --- a/ext/stub/oo/dynamicprop.zep.h +++ b/ext/stub/oo/dynamicprop.zep.h @@ -19,99 +19,57 @@ PHP_METHOD(Stub_Oo_DynamicProp, setExistingStringPropertyString); PHP_METHOD(Stub_Oo_DynamicProp, setNonExistingStringProperty); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyint, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertybooltrue, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyboolfalse, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertystring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertychar, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyuchar, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertynull, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyvariableint, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyvariablestring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyvariablebooltrue, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setpropertyvariableboolfalse, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setexistingstringproperty, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setexistingstringpropertystring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, value) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_dynamicprop_setnonexistingstringproperty, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_dynamicprop_method_entry) { @@ -126,8 +84,16 @@ ZEPHIR_INIT_FUNCS(stub_oo_dynamicprop_method_entry) { PHP_ME(Stub_Oo_DynamicProp, setPropertyVariableString, arginfo_stub_oo_dynamicprop_setpropertyvariablestring, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_DynamicProp, setPropertyVariableBoolTrue, arginfo_stub_oo_dynamicprop_setpropertyvariablebooltrue, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_DynamicProp, setPropertyVariableBoolFalse, arginfo_stub_oo_dynamicprop_setpropertyvariableboolfalse, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_DynamicProp, setExistingStringProperty, arginfo_stub_oo_dynamicprop_setexistingstringproperty, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_DynamicProp, setExistingStringProperty, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_DynamicProp, setExistingStringPropertyString, arginfo_stub_oo_dynamicprop_setexistingstringpropertystring, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_DynamicProp, setNonExistingStringProperty, arginfo_stub_oo_dynamicprop_setnonexistingstringproperty, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_DynamicProp, setNonExistingStringProperty, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/extend/exception.zep.c b/ext/stub/oo/extend/exception.zep.c index 25d6fc3829..ca3b3e7292 100644 --- a/ext/stub/oo/extend/exception.zep.c +++ b/ext/stub/oo/extend/exception.zep.c @@ -16,7 +16,7 @@ ZEPHIR_INIT_CLASS(Stub_Oo_Extend_Exception) { - ZEPHIR_REGISTER_CLASS_EX(Stub\\Oo\\Extend, Exception, stub, oo_extend_exception, zend_exception_get_default(TSRMLS_C), NULL, 0); + ZEPHIR_REGISTER_CLASS_EX(Stub\\Oo\\Extend, Exception, stub, oo_extend_exception, zend_ce_exception, NULL, 0); return SUCCESS; diff --git a/ext/stub/oo/extendpdoclass.zep.c b/ext/stub/oo/extendpdoclass.zep.c index 96358e8717..fce8387fb4 100644 --- a/ext/stub/oo/extendpdoclass.zep.c +++ b/ext/stub/oo/extendpdoclass.zep.c @@ -43,6 +43,18 @@ PHP_METHOD(Stub_Oo_ExtendPdoClass, __construct) { ZVAL_UNDEF(&attrs_sub); ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 4) + Z_PARAM_STR(dsn) + Z_PARAM_OPTIONAL + Z_PARAM_STR_OR_NULL(username) + Z_PARAM_STR_OR_NULL(password) + Z_PARAM_ZVAL(attrs) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 3, &dsn_param, &username_param, &password_param, &attrs); diff --git a/ext/stub/oo/extendpdoclass.zep.h b/ext/stub/oo/extendpdoclass.zep.h index f83d066a46..6804cad14d 100644 --- a/ext/stub/oo/extendpdoclass.zep.h +++ b/ext/stub/oo/extendpdoclass.zep.h @@ -6,21 +6,9 @@ ZEPHIR_INIT_CLASS(Stub_Oo_ExtendPdoClass); PHP_METHOD(Stub_Oo_ExtendPdoClass, __construct); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_extendpdoclass___construct, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, dsn) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, username, IS_STRING, 1) -#else - ZEND_ARG_INFO(0, username) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 1) -#else - ZEND_ARG_INFO(0, password) -#endif ZEND_ARG_INFO(0, attrs) ZEND_END_ARG_INFO() diff --git a/ext/stub/oo/ooconstruct.zep.c b/ext/stub/oo/ooconstruct.zep.c index ab1eddb722..2421220aa6 100644 --- a/ext/stub/oo/ooconstruct.zep.c +++ b/ext/stub/oo/ooconstruct.zep.c @@ -32,5 +32,6 @@ PHP_METHOD(Stub_Oo_OoConstruct, __construct) { + } diff --git a/ext/stub/oo/ooconstruct.zep.h b/ext/stub/oo/ooconstruct.zep.h index d90925e006..8cebd6a463 100644 --- a/ext/stub/oo/ooconstruct.zep.h +++ b/ext/stub/oo/ooconstruct.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_Oo_OoConstruct); PHP_METHOD(Stub_Oo_OoConstruct, __construct); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooconstruct___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_ooconstruct_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoConstruct, __construct, arginfo_stub_oo_ooconstruct___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_Oo_OoConstruct, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/ooconstructparams.zep.c b/ext/stub/oo/ooconstructparams.zep.c index cda6e6e194..91ae02c517 100644 --- a/ext/stub/oo/ooconstructparams.zep.c +++ b/ext/stub/oo/ooconstructparams.zep.c @@ -38,6 +38,15 @@ PHP_METHOD(Stub_Oo_OoConstructParams, __construct) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -53,6 +62,7 @@ PHP_METHOD(Stub_Oo_OoConstructParams, getA) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "a"); } @@ -62,6 +72,7 @@ PHP_METHOD(Stub_Oo_OoConstructParams, getB) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "b"); } diff --git a/ext/stub/oo/ooconstructparams.zep.h b/ext/stub/oo/ooconstructparams.zep.h index e0e612c4d8..2d97ecad9a 100644 --- a/ext/stub/oo/ooconstructparams.zep.h +++ b/ext/stub/oo/ooconstructparams.zep.h @@ -12,9 +12,23 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooconstructparams___construct, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooconstructparams_geta, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooconstructparams_getb, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_ooconstructparams_method_entry) { PHP_ME(Stub_Oo_OoConstructParams, __construct, arginfo_stub_oo_ooconstructparams___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoConstructParams, getA, arginfo_stub_oo_ooconstructparams_geta, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoConstructParams, getA, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoConstructParams, getB, arginfo_stub_oo_ooconstructparams_getb, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoConstructParams, getB, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/oodestruct.zep.c b/ext/stub/oo/oodestruct.zep.c index 8a10e9b140..3179e9ea6e 100644 --- a/ext/stub/oo/oodestruct.zep.c +++ b/ext/stub/oo/oodestruct.zep.c @@ -81,6 +81,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getHeight) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "height"); } @@ -90,6 +91,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getImage) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "image"); } @@ -102,6 +104,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getMime) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "mime"); } @@ -111,6 +114,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getRealpath) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "realpath"); } @@ -127,6 +131,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getType) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "type"); } @@ -139,6 +144,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getWidth) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "width"); } @@ -148,9 +154,8 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) { zend_bool _30$$13; zend_class_entry *_26$$11 = NULL, *_22$$12 = NULL, *_32$$14 = NULL; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; - zephir_fcall_cache_entry *_29 = NULL; zend_long width, height, ZEPHIR_LAST_CALL_STATUS; - zval *file_param = NULL, *width_param = NULL, *height_param = NULL, __$true, imageinfo, _0, _1, _2$$4, _3$$4, _4$$4, _9$$4, _28$$4, _5$$5, _6$$5, _7$$5, _8$$5, _10$$6, _11$$6, _12$$7, _13$$7, _14$$8, _15$$8, _16$$9, _17$$9, _18$$10, _19$$10, _20$$11, _25$$11, _27$$11, _21$$12, _23$$12, _24$$12, _35$$13, _36$$13, _37$$13, _38$$13, _39$$13, _40$$13, _31$$14, _33$$14, _34$$14; + zval *file_param = NULL, *width_param = NULL, *height_param = NULL, __$true, imageinfo, _0, _1, _2$$4, _3$$4, _4$$4, _9$$4, _28$$4, _29$$4, _5$$5, _6$$5, _7$$5, _8$$5, _10$$6, _11$$6, _12$$7, _13$$7, _14$$8, _15$$8, _16$$9, _17$$9, _18$$10, _19$$10, _20$$11, _25$$11, _27$$11, _21$$12, _23$$12, _24$$12, _35$$13, _36$$13, _37$$13, _38$$13, _39$$13, _40$$13, _31$$14, _33$$14, _34$$14; zval file; zval *this_ptr = getThis(); @@ -164,6 +169,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) { ZVAL_UNDEF(&_4$$4); ZVAL_UNDEF(&_9$$4); ZVAL_UNDEF(&_28$$4); + ZVAL_UNDEF(&_29$$4); ZVAL_UNDEF(&_5$$5); ZVAL_UNDEF(&_6$$5); ZVAL_UNDEF(&_7$$5); @@ -193,6 +199,17 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) { ZVAL_UNDEF(&_31$$14); ZVAL_UNDEF(&_33$$14); ZVAL_UNDEF(&_34$$14); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 3) + Z_PARAM_STR(file) + Z_PARAM_OPTIONAL + Z_PARAM_LONG_OR_NULL(width, is_null_true) + Z_PARAM_LONG_OR_NULL(height, is_null_true) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &file_param, &width_param, &height_param); @@ -228,11 +245,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, 58, &_2$$4); + ZEPHIR_CALL_FUNCTION(&_3$$4, "realpath", NULL, 64, &_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, 59, &_4$$4); + ZEPHIR_CALL_FUNCTION(&imageinfo, "getimagesize", NULL, 65, &_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); @@ -248,35 +265,35 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) { do { if (ZEPHIR_IS_LONG(&_9$$4, 1)) { zephir_read_property(&_10$$6, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&_11$$6, "imagecreatefromgif", NULL, 60, &_10$$6); + ZEPHIR_CALL_FUNCTION(&_11$$6, "imagecreatefromgif", NULL, 0, &_10$$6); zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("image"), &_11$$6); break; } if (ZEPHIR_IS_LONG(&_9$$4, 2)) { zephir_read_property(&_12$$7, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&_13$$7, "imagecreatefromjpeg", NULL, 61, &_12$$7); + ZEPHIR_CALL_FUNCTION(&_13$$7, "imagecreatefromjpeg", NULL, 0, &_12$$7); zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("image"), &_13$$7); break; } if (ZEPHIR_IS_LONG(&_9$$4, 3)) { zephir_read_property(&_14$$8, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&_15$$8, "imagecreatefrompng", NULL, 62, &_14$$8); + ZEPHIR_CALL_FUNCTION(&_15$$8, "imagecreatefrompng", NULL, 0, &_14$$8); zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("image"), &_15$$8); break; } if (ZEPHIR_IS_LONG(&_9$$4, 15)) { zephir_read_property(&_16$$9, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&_17$$9, "imagecreatefromwbmp", NULL, 63, &_16$$9); + ZEPHIR_CALL_FUNCTION(&_17$$9, "imagecreatefromwbmp", NULL, 0, &_16$$9); zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("image"), &_17$$9); break; } if (ZEPHIR_IS_LONG(&_9$$4, 16)) { zephir_read_property(&_18$$10, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(&_19$$10, "imagecreatefromxbm", NULL, 64, &_18$$10); + ZEPHIR_CALL_FUNCTION(&_19$$10, "imagecreatefromxbm", NULL, 0, &_18$$10); zephir_check_call_status(); zephir_update_property_zval(this_ptr, ZEND_STRL("image"), &_19$$10); break; @@ -316,7 +333,8 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) { } while(0); zephir_read_property(&_28$$4, this_ptr, ZEND_STRL("image"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(NULL, "imagesavealpha", &_29, 65, &_28$$4, &__$true); + ZVAL_BOOL(&_29$$4, 1); + ZEPHIR_CALL_FUNCTION(NULL, "imagesavealpha", NULL, 0, &_28$$4, &_29$$4); zephir_check_call_status(); } else { _30$$13 = !width; @@ -342,14 +360,15 @@ PHP_METHOD(Stub_Oo_OoDestruct, __construct) { } ZVAL_LONG(&_35$$13, width); ZVAL_LONG(&_36$$13, height); - ZEPHIR_CALL_FUNCTION(&_37$$13, "imagecreatetruecolor", NULL, 66, &_35$$13, &_36$$13); + ZEPHIR_CALL_FUNCTION(&_37$$13, "imagecreatetruecolor", NULL, 0, &_35$$13, &_36$$13); 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, 67, &_35$$13, &__$true); + ZEPHIR_CALL_FUNCTION(NULL, "imagealphablending", NULL, 66, &_35$$13, &__$true); zephir_check_call_status(); zephir_read_property(&_36$$13, this_ptr, ZEND_STRL("image"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_FUNCTION(NULL, "imagesavealpha", &_29, 65, &_36$$13, &__$true); + ZVAL_BOOL(&_38$$13, 1); + ZEPHIR_CALL_FUNCTION(NULL, "imagesavealpha", NULL, 0, &_36$$13, &_38$$13); zephir_check_call_status(); zephir_read_property(&_38$$13, this_ptr, ZEND_STRL("file"), PH_NOISY_CC | PH_READONLY); zephir_update_property_zval(this_ptr, ZEND_STRL("realpath"), &_38$$13); @@ -381,12 +400,13 @@ PHP_METHOD(Stub_Oo_OoDestruct, __destruct) { ZVAL_UNDEF(&image); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); zephir_read_property(&_0, this_ptr, ZEND_STRL("image"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CPY_WRT(&image, &_0); if (Z_TYPE_P(&image) == IS_RESOURCE) { - ZEPHIR_CALL_FUNCTION(NULL, "imagedestroy", NULL, 68, &image); + ZEPHIR_CALL_FUNCTION(NULL, "imagedestroy", NULL, 0, &image); zephir_check_call_status(); } ZEPHIR_MM_RESTORE(); @@ -413,6 +433,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, check) { ZVAL_UNDEF(&_7$$5); ZVAL_UNDEF(&_9$$5); + ZEPHIR_MM_GROW(); zephir_read_static_property_ce(&_0, stub_oo_oodestruct_ce, SL("checked"), PH_NOISY_CC | PH_READONLY); @@ -441,7 +462,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, 69, &version, &_4, &_5); + ZEPHIR_CALL_FUNCTION(&_6, "version_compare", NULL, 67, &version, &_4, &_5); zephir_check_call_status(); if (UNEXPECTED(!zephir_is_true(&_6))) { ZEPHIR_INIT_VAR(&_7$$5); @@ -485,6 +506,7 @@ PHP_METHOD(Stub_Oo_OoDestruct, getVersion) { ZVAL_UNDEF(&_7$$5); ZVAL_UNDEF(&_8$$5); + ZEPHIR_MM_GROW(); if (UNEXPECTED(!((zephir_function_exists_ex(ZEND_STRL("gd_info")) == SUCCESS)))) { @@ -507,13 +529,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, 70, &_3); + ZEPHIR_CALL_FUNCTION(&_4, "defined", NULL, 68, &_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, 71); + ZEPHIR_CALL_FUNCTION(&info, "gd_info", NULL, 69); zephir_check_call_status(); ZEPHIR_INIT_VAR(&matches); ZVAL_NULL(&matches); diff --git a/ext/stub/oo/oodestruct.zep.h b/ext/stub/oo/oodestruct.zep.h index 9fe670c307..478daeadd3 100644 --- a/ext/stub/oo/oodestruct.zep.h +++ b/ext/stub/oo/oodestruct.zep.h @@ -14,75 +14,60 @@ PHP_METHOD(Stub_Oo_OoDestruct, __destruct); PHP_METHOD(Stub_Oo_OoDestruct, check); PHP_METHOD(Stub_Oo_OoDestruct, getVersion); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getheight, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getheight, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodestruct_getimage, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getmime, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getmime, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodestruct_getrealpath, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_gettype, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_gettype, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getwidth, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getwidth, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodestruct___construct, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, file, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, file) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, width, IS_LONG, 1) -#else - ZEND_ARG_INFO(0, width) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, height, IS_LONG, 1) -#else - ZEND_ARG_INFO(0, height) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodestruct___destruct, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_check, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_check, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getversion, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oodestruct_getversion, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_oodestruct_method_entry) { PHP_ME(Stub_Oo_OoDestruct, getHeight, arginfo_stub_oo_oodestruct_getheight, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDestruct, getImage, arginfo_stub_oo_oodestruct_getimage, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoDestruct, getImage, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_OoDestruct, getMime, arginfo_stub_oo_oodestruct_getmime, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDestruct, getRealpath, arginfo_stub_oo_oodestruct_getrealpath, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoDestruct, getRealpath, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_OoDestruct, getType, arginfo_stub_oo_oodestruct_gettype, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoDestruct, getWidth, arginfo_stub_oo_oodestruct_getwidth, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoDestruct, __construct, arginfo_stub_oo_oodestruct___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDestruct, __destruct, arginfo_stub_oo_oodestruct___destruct, ZEND_ACC_PUBLIC|ZEND_ACC_DTOR) +#else PHP_ME(Stub_Oo_OoDestruct, __destruct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_DTOR) +#endif PHP_ME(Stub_Oo_OoDestruct, check, arginfo_stub_oo_oodestruct_check, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_ME(Stub_Oo_OoDestruct, getVersion, arginfo_stub_oo_oodestruct_getversion, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_FE_END diff --git a/ext/stub/oo/oodynamica.zep.c b/ext/stub/oo/oodynamica.zep.c index c6c6c2f49f..b4f42ad409 100644 --- a/ext/stub/oo/oodynamica.zep.c +++ b/ext/stub/oo/oodynamica.zep.c @@ -41,6 +41,7 @@ PHP_METHOD(Stub_Oo_OoDynamicA, getNew) { ZVAL_UNDEF(&fullClassName); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&className); @@ -68,6 +69,7 @@ PHP_METHOD(Stub_Oo_OoDynamicA, call2) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("getnew", NULL, 0); @@ -83,6 +85,7 @@ PHP_METHOD(Stub_Oo_OoDynamicA, call1) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("call2", NULL, 0); @@ -96,6 +99,7 @@ PHP_METHOD(Stub_Oo_OoDynamicA, execute) { zval *this_ptr = getThis(); + RETURN_STRING("A"); } @@ -105,6 +109,7 @@ PHP_METHOD(Stub_Oo_OoDynamicA, execute2) { zval *this_ptr = getThis(); + RETURN_STRING("AA"); } diff --git a/ext/stub/oo/oodynamica.zep.h b/ext/stub/oo/oodynamica.zep.h index 041bc5e5fa..c96fa916fb 100644 --- a/ext/stub/oo/oodynamica.zep.h +++ b/ext/stub/oo/oodynamica.zep.h @@ -9,11 +9,46 @@ PHP_METHOD(Stub_Oo_OoDynamicA, call1); PHP_METHOD(Stub_Oo_OoDynamicA, execute); PHP_METHOD(Stub_Oo_OoDynamicA, execute2); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamica_getnew, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamica_call2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamica_call1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamica_execute, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamica_execute2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_oodynamica_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicA, getNew, arginfo_stub_oo_oodynamica_getnew, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Oo_OoDynamicA, getNew, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicA, call2, arginfo_stub_oo_oodynamica_call2, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Oo_OoDynamicA, call2, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicA, call1, arginfo_stub_oo_oodynamica_call1, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Oo_OoDynamicA, call1, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicA, execute, arginfo_stub_oo_oodynamica_execute, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoDynamicA, execute, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicA, execute2, arginfo_stub_oo_oodynamica_execute2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoDynamicA, execute2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/oodynamicb.zep.c b/ext/stub/oo/oodynamicb.zep.c index 08b3f8fa86..430c0a17f5 100644 --- a/ext/stub/oo/oodynamicb.zep.c +++ b/ext/stub/oo/oodynamicb.zep.c @@ -31,6 +31,7 @@ PHP_METHOD(Stub_Oo_OoDynamicB, execute) { zval *this_ptr = getThis(); + RETURN_STRING("B"); } @@ -40,6 +41,7 @@ PHP_METHOD(Stub_Oo_OoDynamicB, execute2) { zval *this_ptr = getThis(); + RETURN_STRING("BB"); } diff --git a/ext/stub/oo/oodynamicb.zep.h b/ext/stub/oo/oodynamicb.zep.h index 28efbbcc76..a003c816de 100644 --- a/ext/stub/oo/oodynamicb.zep.h +++ b/ext/stub/oo/oodynamicb.zep.h @@ -6,8 +6,22 @@ ZEPHIR_INIT_CLASS(Stub_Oo_OoDynamicB); PHP_METHOD(Stub_Oo_OoDynamicB, execute); PHP_METHOD(Stub_Oo_OoDynamicB, execute2); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamicb_execute, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oodynamicb_execute2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_oodynamicb_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicB, execute, arginfo_stub_oo_oodynamicb_execute, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoDynamicB, execute, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoDynamicB, execute2, arginfo_stub_oo_oodynamicb_execute2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoDynamicB, execute2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/oonativeimplements.zep.c b/ext/stub/oo/oonativeimplements.zep.c index 00cc423b25..0f4fbd4f69 100644 --- a/ext/stub/oo/oonativeimplements.zep.c +++ b/ext/stub/oo/oonativeimplements.zep.c @@ -25,12 +25,11 @@ ZEPHIR_INIT_CLASS(Stub_Oo_OoNativeImplements) { ZEPHIR_REGISTER_CLASS(Stub\\Oo, OoNativeImplements, stub, oo_oonativeimplements, stub_oo_oonativeimplements_method_entry, 0); - zend_class_implements(stub_oo_oonativeimplements_ce, 1, spl_ce_Countable); + zend_class_implements(stub_oo_oonativeimplements_ce, 1, zend_ce_countable); zend_class_implements(stub_oo_oonativeimplements_ce, 1, zend_ce_iterator); zend_class_implements(stub_oo_oonativeimplements_ce, 1, spl_ce_OuterIterator); zend_class_implements(stub_oo_oonativeimplements_ce, 1, spl_ce_RecursiveIterator); zend_class_implements(stub_oo_oonativeimplements_ce, 1, spl_ce_SeekableIterator); - zend_class_implements(stub_oo_oonativeimplements_ce, 1, zend_ce_aggregate); return SUCCESS; } @@ -41,6 +40,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, count) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, current) { @@ -49,6 +49,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, current) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, key) { @@ -57,6 +58,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, key) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, next) { @@ -65,6 +67,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, next) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, rewind) { @@ -73,6 +76,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, rewind) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, valid) { @@ -81,6 +85,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, valid) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, getInnerIterator) { @@ -89,6 +94,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, getInnerIterator) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, getChildren) { @@ -97,6 +103,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, getChildren) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, hasChildren) { @@ -105,6 +112,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, hasChildren) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, seek) { @@ -113,6 +121,14 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, seek) { zval *this_ptr = getThis(); ZVAL_UNDEF(&position_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(position) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &position); @@ -127,6 +143,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, getIterator) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, offsetExists) { @@ -135,6 +152,14 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, offsetExists) { zval *this_ptr = getThis(); ZVAL_UNDEF(&offset_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &offset); @@ -149,6 +174,14 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, offsetGet) { zval *this_ptr = getThis(); ZVAL_UNDEF(&offset_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &offset); @@ -164,6 +197,15 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, offsetSet) { ZVAL_UNDEF(&offset_sub); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(offset) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &offset, &value); @@ -178,6 +220,14 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, offsetUnset) { zval *this_ptr = getThis(); ZVAL_UNDEF(&offset_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &offset); @@ -192,6 +242,7 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, serialize) { + } PHP_METHOD(Stub_Oo_OoNativeImplements, unserialize) { @@ -202,6 +253,14 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, unserialize) { zval *this_ptr = getThis(); ZVAL_UNDEF(&serialized); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(serialized) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &serialized_param); diff --git a/ext/stub/oo/oonativeimplements.zep.h b/ext/stub/oo/oonativeimplements.zep.h index 6bf557aa35..0c454ba069 100644 --- a/ext/stub/oo/oonativeimplements.zep.h +++ b/ext/stub/oo/oonativeimplements.zep.h @@ -21,50 +21,41 @@ PHP_METHOD(Stub_Oo_OoNativeImplements, offsetUnset); PHP_METHOD(Stub_Oo_OoNativeImplements, serialize); PHP_METHOD(Stub_Oo_OoNativeImplements, unserialize); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_count, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_count, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_current, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_key, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_next, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_rewind, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_valid, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_valid, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_getinneriterator, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_oo_oonativeimplements_getchildren, 0, 0, RecursiveIterator, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_getchildren, 0, 0, IS_OBJECT, "RecursiveIterator", 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_haschildren, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_haschildren, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_seek, 0, 0, 1) ZEND_ARG_INFO(0, position) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_oo_oonativeimplements_getiterator, 0, 0, Traversable, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_getiterator, 0, 0, IS_OBJECT, "Traversable", 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_offsetexists, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_offsetexists, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, offset) ZEND_END_ARG_INFO() @@ -81,29 +72,41 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_offsetunset, 0, 0, 1) ZEND_ARG_INFO(0, offset) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_serialize, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_oonativeimplements_serialize, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_oonativeimplements_unserialize, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, serialized, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, serialized) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_oonativeimplements_method_entry) { PHP_ME(Stub_Oo_OoNativeImplements, count, arginfo_stub_oo_oonativeimplements_count, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoNativeImplements, current, arginfo_stub_oo_oonativeimplements_current, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoNativeImplements, current, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoNativeImplements, key, arginfo_stub_oo_oonativeimplements_key, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoNativeImplements, key, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoNativeImplements, next, arginfo_stub_oo_oonativeimplements_next, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoNativeImplements, next, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoNativeImplements, rewind, arginfo_stub_oo_oonativeimplements_rewind, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoNativeImplements, rewind, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_OoNativeImplements, valid, arginfo_stub_oo_oonativeimplements_valid, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoNativeImplements, getInnerIterator, arginfo_stub_oo_oonativeimplements_getinneriterator, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoNativeImplements, getInnerIterator, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_OoNativeImplements, getChildren, arginfo_stub_oo_oonativeimplements_getchildren, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoNativeImplements, hasChildren, arginfo_stub_oo_oonativeimplements_haschildren, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoNativeImplements, seek, arginfo_stub_oo_oonativeimplements_seek, ZEND_ACC_PUBLIC) diff --git a/ext/stub/oo/ooparams.zep.c b/ext/stub/oo/ooparams.zep.c index 7feea0390b..0b0278f11a 100644 --- a/ext/stub/oo/ooparams.zep.c +++ b/ext/stub/oo/ooparams.zep.c @@ -38,6 +38,7 @@ PHP_METHOD(Stub_Oo_OoParams, createThisClassWithoutWriteCurrentNamespace) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); object_init_ex(return_value, stub_oo_ooparams_ce); @@ -56,6 +57,7 @@ PHP_METHOD(Stub_Oo_OoParams, createOtherClassWithoutWriteCurrentNamespace) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); object_init_ex(return_value, stub_oo_oodynamica_ce); @@ -73,6 +75,14 @@ PHP_METHOD(Stub_Oo_OoParams, setAge) { zend_long age; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(age) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &age_param); @@ -89,6 +99,14 @@ PHP_METHOD(Stub_Oo_OoParams, setAverage) { double average; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(average) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &average_param); @@ -107,6 +125,14 @@ PHP_METHOD(Stub_Oo_OoParams, setName) { zval *this_ptr = getThis(); ZVAL_UNDEF(&name); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &name_param); @@ -124,6 +150,14 @@ PHP_METHOD(Stub_Oo_OoParams, setEnabled) { zend_bool enabled; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(enabled) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &enabled_param); @@ -142,6 +176,14 @@ PHP_METHOD(Stub_Oo_OoParams, setList) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someList); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(someList) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &someList_param); @@ -159,6 +201,14 @@ PHP_METHOD(Stub_Oo_OoParams, setStrictAge) { zend_long age; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(age) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &age_param); @@ -179,6 +229,14 @@ PHP_METHOD(Stub_Oo_OoParams, setStrictAverage) { double average; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(average) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &average_param); @@ -202,6 +260,7 @@ PHP_METHOD(Stub_Oo_OoParams, setStrictNameFromZephirLand) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 12345); @@ -219,6 +278,14 @@ PHP_METHOD(Stub_Oo_OoParams, setStrictName) { zval *this_ptr = getThis(); ZVAL_UNDEF(&name); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &name_param); @@ -245,6 +312,14 @@ PHP_METHOD(Stub_Oo_OoParams, setStrictEnabled) { zend_bool enabled; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(enabled) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &enabled_param); @@ -263,6 +338,14 @@ PHP_METHOD(Stub_Oo_OoParams, setStrictList) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someList); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(someList) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &someList_param); @@ -280,6 +363,15 @@ PHP_METHOD(Stub_Oo_OoParams, setAgeDefault) { zend_long age; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(age) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, &age_param); @@ -300,6 +392,15 @@ PHP_METHOD(Stub_Oo_OoParams, setAverageDefault) { double average; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(average) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, &average_param); @@ -322,6 +423,15 @@ PHP_METHOD(Stub_Oo_OoParams, setNameDefault) { zval *this_ptr = getThis(); ZVAL_UNDEF(&name); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &name_param); @@ -344,6 +454,15 @@ PHP_METHOD(Stub_Oo_OoParams, setEnabledDefault) { zend_bool enabled; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(enabled) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(0, 1, &enabled_param); @@ -366,6 +485,15 @@ PHP_METHOD(Stub_Oo_OoParams, setListDefault) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someList); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY(someList) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &someList_param); @@ -388,6 +516,14 @@ PHP_METHOD(Stub_Oo_OoParams, setConstAge) { zend_long age; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(age) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &age_param); @@ -404,6 +540,14 @@ PHP_METHOD(Stub_Oo_OoParams, setConstAverage) { double average; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(average) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &average_param); @@ -420,6 +564,14 @@ PHP_METHOD(Stub_Oo_OoParams, setObject) { zval *this_ptr = getThis(); ZVAL_UNDEF(&obj_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT(obj) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &obj); @@ -436,6 +588,14 @@ PHP_METHOD(Stub_Oo_OoParams, setCallable) { zval *this_ptr = getThis(); ZVAL_UNDEF(&obj_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(obj) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &obj); @@ -452,6 +612,14 @@ PHP_METHOD(Stub_Oo_OoParams, setResource) { zval *this_ptr = getThis(); ZVAL_UNDEF(&obj_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_RESOURCE(obj) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &obj); @@ -468,6 +636,14 @@ PHP_METHOD(Stub_Oo_OoParams, setObjectClassCast) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶meter_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(parameter, stub_oo_param_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶meter); diff --git a/ext/stub/oo/ooparams.zep.h b/ext/stub/oo/ooparams.zep.h index 82276f39c6..42b764a2c7 100644 --- a/ext/stub/oo/ooparams.zep.h +++ b/ext/stub/oo/ooparams.zep.h @@ -28,36 +28,26 @@ PHP_METHOD(Stub_Oo_OoParams, setCallable); PHP_METHOD(Stub_Oo_OoParams, setResource); PHP_METHOD(Stub_Oo_OoParams, setObjectClassCast); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_createthisclasswithoutwritecurrentnamespace, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_createotherclasswithoutwritecurrentnamespace, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setage, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, age, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, age) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setaverage, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, average, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, average) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setname, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setenabled, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, enabled, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, enabled) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setlist, 0, 0, 1) @@ -65,39 +55,22 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setlist, 0, 0, 1) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setstrictage, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, age, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, age) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setstrictaverage, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, average, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, average) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setstrictnamefromzephirland, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_ooparams_setstrictname, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_ooparams_setstrictname, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setstrictenabled, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, enabled, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, enabled) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setstrictlist, 0, 0, 1) @@ -105,35 +78,19 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setstrictlist, 0, 0, 1) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setagedefault, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, age, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, age) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setaveragedefault, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, average, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, average) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setnamedefault, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setenableddefault, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, enabled, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, enabled) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setlistdefault, 0, 0, 0) @@ -141,19 +98,11 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setlistdefault, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setconstage, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, age, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, age) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setconstaverage, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, average, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, average) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setobject, 0, 0, 1) @@ -173,8 +122,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_ooparams_setobjectclasscast, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_ooparams_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoParams, createThisClassWithoutWriteCurrentNamespace, arginfo_stub_oo_ooparams_createthisclasswithoutwritecurrentnamespace, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoParams, createThisClassWithoutWriteCurrentNamespace, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoParams, createOtherClassWithoutWriteCurrentNamespace, arginfo_stub_oo_ooparams_createotherclasswithoutwritecurrentnamespace, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoParams, createOtherClassWithoutWriteCurrentNamespace, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_OoParams, setAge, arginfo_stub_oo_ooparams_setage, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoParams, setAverage, arginfo_stub_oo_ooparams_setaverage, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoParams, setName, arginfo_stub_oo_ooparams_setname, ZEND_ACC_PUBLIC) @@ -182,7 +139,11 @@ ZEPHIR_INIT_FUNCS(stub_oo_ooparams_method_entry) { PHP_ME(Stub_Oo_OoParams, setList, arginfo_stub_oo_ooparams_setlist, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoParams, setStrictAge, arginfo_stub_oo_ooparams_setstrictage, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoParams, setStrictAverage, arginfo_stub_oo_ooparams_setstrictaverage, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_OoParams, setStrictNameFromZephirLand, arginfo_stub_oo_ooparams_setstrictnamefromzephirland, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_OoParams, setStrictNameFromZephirLand, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Oo_OoParams, setStrictName, arginfo_stub_oo_ooparams_setstrictname, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoParams, setStrictEnabled, arginfo_stub_oo_ooparams_setstrictenabled, ZEND_ACC_PUBLIC) PHP_ME(Stub_Oo_OoParams, setStrictList, arginfo_stub_oo_ooparams_setstrictlist, ZEND_ACC_PUBLIC) diff --git a/ext/stub/oo/propertyaccess.zep.c b/ext/stub/oo/propertyaccess.zep.c index 7dc1610bd7..1f87ff0ed2 100644 --- a/ext/stub/oo/propertyaccess.zep.c +++ b/ext/stub/oo/propertyaccess.zep.c @@ -52,6 +52,7 @@ PHP_METHOD(Stub_Oo_PropertyAccess, __construct) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_6); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&test); @@ -106,7 +107,7 @@ PHP_METHOD(Stub_Oo_PropertyAccess, __construct) { } /** - * @issue https://github.com/phalcon/zephir/issues/1851 + * @issue https://github.com/zephir-lang/zephir/issues/1851 */ PHP_METHOD(Stub_Oo_PropertyAccess, setPrivatevariable) { @@ -114,6 +115,14 @@ PHP_METHOD(Stub_Oo_PropertyAccess, setPrivatevariable) { zval *this_ptr = getThis(); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &value); @@ -125,13 +134,14 @@ PHP_METHOD(Stub_Oo_PropertyAccess, setPrivatevariable) { } /** - * @issue https://github.com/phalcon/zephir/issues/1851 + * @issue https://github.com/zephir-lang/zephir/issues/1851 */ PHP_METHOD(Stub_Oo_PropertyAccess, getPrivatevariable) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "privateVariable"); } diff --git a/ext/stub/oo/propertyaccess.zep.h b/ext/stub/oo/propertyaccess.zep.h index 27b9c41a5e..396ffb1c75 100644 --- a/ext/stub/oo/propertyaccess.zep.h +++ b/ext/stub/oo/propertyaccess.zep.h @@ -7,17 +7,27 @@ PHP_METHOD(Stub_Oo_PropertyAccess, __construct); PHP_METHOD(Stub_Oo_PropertyAccess, setPrivatevariable); PHP_METHOD(Stub_Oo_PropertyAccess, getPrivatevariable); -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_propertyaccess___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_oo_propertyaccess_setprivatevariable, 0, 1, Stub\\Oo\\PropertyAccess, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_propertyaccess_setprivatevariable, 0, 1, IS_OBJECT, "Stub\\Oo\\PropertyAccess", 0) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_propertyaccess_getprivatevariable, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_propertyaccess_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_PropertyAccess, __construct, arginfo_stub_oo_propertyaccess___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_Oo_PropertyAccess, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_ME(Stub_Oo_PropertyAccess, setPrivatevariable, arginfo_stub_oo_propertyaccess_setprivatevariable, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_PropertyAccess, getPrivatevariable, arginfo_stub_oo_propertyaccess_getprivatevariable, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_PropertyAccess, getPrivatevariable, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/scopes/abstractclass.zep.c b/ext/stub/oo/scopes/abstractclass.zep.c index a170114a0f..9fdef87a41 100644 --- a/ext/stub/oo/scopes/abstractclass.zep.c +++ b/ext/stub/oo/scopes/abstractclass.zep.c @@ -38,6 +38,15 @@ PHP_METHOD(Stub_Oo_Scopes_AbstractClass, setProperty) { ZVAL_UNDEF(&name); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(name) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &name_param, &value); @@ -55,6 +64,7 @@ PHP_METHOD(Stub_Oo_Scopes_AbstractClass, getPrivateProperty2) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "privateProperty2"); } @@ -64,6 +74,7 @@ PHP_METHOD(Stub_Oo_Scopes_AbstractClass, getProtectedProperty2) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "protectedProperty2"); } diff --git a/ext/stub/oo/scopes/abstractclass.zep.h b/ext/stub/oo/scopes/abstractclass.zep.h index e7143f1339..37f2604910 100644 --- a/ext/stub/oo/scopes/abstractclass.zep.h +++ b/ext/stub/oo/scopes/abstractclass.zep.h @@ -8,17 +8,27 @@ PHP_METHOD(Stub_Oo_Scopes_AbstractClass, getPrivateProperty2); PHP_METHOD(Stub_Oo_Scopes_AbstractClass, getProtectedProperty2); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_abstractclass_setproperty, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_abstractclass_getprivateproperty2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_abstractclass_getprotectedproperty2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_oo_scopes_abstractclass_method_entry) { PHP_ME(Stub_Oo_Scopes_AbstractClass, setProperty, arginfo_stub_oo_scopes_abstractclass_setproperty, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_Scopes_AbstractClass, getPrivateProperty2, arginfo_stub_oo_scopes_abstractclass_getprivateproperty2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_Scopes_AbstractClass, getPrivateProperty2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Oo_Scopes_AbstractClass, getProtectedProperty2, arginfo_stub_oo_scopes_abstractclass_getprotectedproperty2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Oo_Scopes_AbstractClass, getProtectedProperty2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/oo/scopes/abstractclassmagic.zep.c b/ext/stub/oo/scopes/abstractclassmagic.zep.c index 68e80620ad..1599268659 100644 --- a/ext/stub/oo/scopes/abstractclassmagic.zep.c +++ b/ext/stub/oo/scopes/abstractclassmagic.zep.c @@ -44,6 +44,15 @@ PHP_METHOD(Stub_Oo_Scopes_AbstractClassMagic, __set) { ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(name) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &name_param, &value); @@ -69,6 +78,14 @@ PHP_METHOD(Stub_Oo_Scopes_AbstractClassMagic, __get) { ZVAL_UNDEF(&name); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &name_param); diff --git a/ext/stub/oo/scopes/abstractclassmagic.zep.h b/ext/stub/oo/scopes/abstractclassmagic.zep.h index 2d6a5f83a8..9e4cf531cc 100644 --- a/ext/stub/oo/scopes/abstractclassmagic.zep.h +++ b/ext/stub/oo/scopes/abstractclassmagic.zep.h @@ -6,31 +6,14 @@ ZEPHIR_INIT_CLASS(Stub_Oo_Scopes_AbstractClassMagic); PHP_METHOD(Stub_Oo_Scopes_AbstractClassMagic, __set); PHP_METHOD(Stub_Oo_Scopes_AbstractClassMagic, __get); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_abstractclassmagic___set, 0, 2, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_abstractclassmagic___set, 0, 2, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_abstractclassmagic___set, 0, 0, 2) -#define arginfo_stub_oo_scopes_abstractclassmagic___set NULL -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_abstractclassmagic___get, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, name) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_scopes_abstractclassmagic_method_entry) { diff --git a/ext/stub/oo/scopes/hasprivatemethod.zep.c b/ext/stub/oo/scopes/hasprivatemethod.zep.c index 59d70eda80..55e7fe9676 100644 --- a/ext/stub/oo/scopes/hasprivatemethod.zep.c +++ b/ext/stub/oo/scopes/hasprivatemethod.zep.c @@ -32,6 +32,7 @@ PHP_METHOD(Stub_Oo_Scopes_HasPrivateMethod, callPrivateMethod) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "isprivate", NULL, 1); @@ -45,6 +46,7 @@ PHP_METHOD(Stub_Oo_Scopes_HasPrivateMethod, isPrivate) { zval *this_ptr = getThis(); + RETURN_STRING("isPrivate"); } diff --git a/ext/stub/oo/scopes/hasprivatemethod.zep.h b/ext/stub/oo/scopes/hasprivatemethod.zep.h index 6164f3d359..aac11c6852 100644 --- a/ext/stub/oo/scopes/hasprivatemethod.zep.h +++ b/ext/stub/oo/scopes/hasprivatemethod.zep.h @@ -6,18 +6,10 @@ ZEPHIR_INIT_CLASS(Stub_Oo_Scopes_HasPrivateMethod); PHP_METHOD(Stub_Oo_Scopes_HasPrivateMethod, callPrivateMethod); PHP_METHOD(Stub_Oo_Scopes_HasPrivateMethod, isPrivate); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_hasprivatemethod_callprivatemethod, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_hasprivatemethod_callprivatemethod, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_hasprivatemethod_isprivate, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_hasprivatemethod_isprivate, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_scopes_hasprivatemethod_method_entry) { diff --git a/ext/stub/oo/scopes/privatescopetester.zep.c b/ext/stub/oo/scopes/privatescopetester.zep.c index 2cb82a7f4d..05bd4c7c68 100644 --- a/ext/stub/oo/scopes/privatescopetester.zep.c +++ b/ext/stub/oo/scopes/privatescopetester.zep.c @@ -34,6 +34,7 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, run) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "callprivatemethod", NULL, 0); @@ -43,7 +44,7 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, run) { } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyObj) { @@ -56,6 +57,16 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyObj) { ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&property); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(obj) + Z_PARAM_STR(property) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &obj, &property_param, &value); @@ -72,7 +83,7 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyObj) { } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyNew) { @@ -86,6 +97,16 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyNew) { ZVAL_UNDEF(&property); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&obj); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_STR(className) + Z_PARAM_STR(property) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &className_param, &property_param, &value); @@ -103,7 +124,7 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyNew) { } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getObjVars) { @@ -113,20 +134,28 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getObjVars) { zval *this_ptr = getThis(); ZVAL_UNDEF(&obj_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(obj) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &obj); - ZEPHIR_RETURN_CALL_FUNCTION("get_object_vars", NULL, 72, obj); + ZEPHIR_RETURN_CALL_FUNCTION("get_object_vars", NULL, 70, obj); zephir_check_call_status(); RETURN_MM(); } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getNewVars) { @@ -138,6 +167,14 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getNewVars) { ZVAL_UNDEF(&className); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(className) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &className_param); diff --git a/ext/stub/oo/scopes/privatescopetester.zep.h b/ext/stub/oo/scopes/privatescopetester.zep.h index 9b592d5383..24b09b260b 100644 --- a/ext/stub/oo/scopes/privatescopetester.zep.h +++ b/ext/stub/oo/scopes/privatescopetester.zep.h @@ -9,34 +9,18 @@ PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, setPropertyNew); PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getObjVars); PHP_METHOD(Stub_Oo_Scopes_PrivateScopeTester, getNewVars); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_privatescopetester_run, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_privatescopetester_run, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_privatescopetester_setpropertyobj, 0, 0, 3) ZEND_ARG_INFO(0, obj) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_privatescopetester_setpropertynew, 0, 0, 3) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, className, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, className) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, property, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, property) -#endif ZEND_ARG_INFO(0, value) ZEND_END_ARG_INFO() @@ -45,11 +29,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_privatescopetester_getobjvars, 0, ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_oo_scopes_privatescopetester_getnewvars, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, className, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, className) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_scopes_privatescopetester_method_entry) { diff --git a/ext/stub/oo/scopes/scopetesterinterface.zep.c b/ext/stub/oo/scopes/scopetesterinterface.zep.c index d6426f7a1d..b23bece696 100644 --- a/ext/stub/oo/scopes/scopetesterinterface.zep.c +++ b/ext/stub/oo/scopes/scopetesterinterface.zep.c @@ -21,4 +21,3 @@ ZEPHIR_INIT_CLASS(Stub_Oo_Scopes_ScopeTesterInterface) { } ZEPHIR_DOC_METHOD(Stub_Oo_Scopes_ScopeTesterInterface, run); - diff --git a/ext/stub/oo/scopes/scopetesterinterface.zep.h b/ext/stub/oo/scopes/scopetesterinterface.zep.h index 46eea9512a..e7f8691906 100644 --- a/ext/stub/oo/scopes/scopetesterinterface.zep.h +++ b/ext/stub/oo/scopes/scopetesterinterface.zep.h @@ -3,11 +3,7 @@ extern zend_class_entry *stub_oo_scopes_scopetesterinterface_ce; ZEPHIR_INIT_CLASS(Stub_Oo_Scopes_ScopeTesterInterface); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_scopetesterinterface_run, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_oo_scopes_scopetesterinterface_run, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_oo_scopes_scopetesterinterface_method_entry) { diff --git a/ext/stub/operator.zep.c b/ext/stub/operator.zep.c index 434f07175b..e2d28fe219 100644 --- a/ext/stub/operator.zep.c +++ b/ext/stub/operator.zep.c @@ -34,6 +34,15 @@ PHP_METHOD(Stub_Operator, testIdentical) { ZVAL_UNDEF(¶m1_sub); ZVAL_UNDEF(¶m2_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(param1) + Z_PARAM_ZVAL(param2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, ¶m1, ¶m2); @@ -53,6 +62,14 @@ PHP_METHOD(Stub_Operator, testIdenticalIfComplex) { ZVAL_UNDEF(&input_sub); ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(input) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &input); @@ -77,6 +94,14 @@ PHP_METHOD(Stub_Operator, testIdenticalVarFalse) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -92,6 +117,14 @@ PHP_METHOD(Stub_Operator, testIdenticalFalseVar) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -111,6 +144,15 @@ PHP_METHOD(Stub_Operator, testBoolComparison) { ZVAL_UNDEF(&varTrue_sub); ZVAL_UNDEF(&varFalse_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(varTrue) + Z_PARAM_ZVAL(varFalse) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &varTrue, &varFalse); @@ -158,6 +200,14 @@ PHP_METHOD(Stub_Operator, testNewInstanceOperator) { ZVAL_UNDEF(&className_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(className) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &className); diff --git a/ext/stub/optimizers/acos.zep.c b/ext/stub/optimizers/acos.zep.c index a581b35c2d..b603b03604 100644 --- a/ext/stub/optimizers/acos.zep.c +++ b/ext/stub/optimizers/acos.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Optimizers_ACos, testInt) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 1; @@ -54,6 +55,7 @@ PHP_METHOD(Stub_Optimizers_ACos, testVar) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 1; @@ -73,6 +75,7 @@ PHP_METHOD(Stub_Optimizers_ACos, testIntValue1) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); @@ -90,6 +93,14 @@ PHP_METHOD(Stub_Optimizers_ACos, testIntParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -112,6 +123,14 @@ PHP_METHOD(Stub_Optimizers_ACos, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); diff --git a/ext/stub/optimizers/acos.zep.h b/ext/stub/optimizers/acos.zep.h index f46d27246d..b2c9fd88af 100644 --- a/ext/stub/optimizers/acos.zep.h +++ b/ext/stub/optimizers/acos.zep.h @@ -9,12 +9,17 @@ PHP_METHOD(Stub_Optimizers_ACos, testIntValue1); PHP_METHOD(Stub_Optimizers_ACos, testIntParameter); PHP_METHOD(Stub_Optimizers_ACos, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_acos_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_acos_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_acos_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_acos_testintparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_acos_testvarparameter, 0, 0, 1) @@ -22,9 +27,21 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_acos_testvarparameter, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_acos_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_ACos, testInt, arginfo_stub_optimizers_acos_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_ACos, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_ACos, testVar, arginfo_stub_optimizers_acos_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_ACos, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_ACos, testIntValue1, arginfo_stub_optimizers_acos_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_ACos, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_ACos, testIntParameter, arginfo_stub_optimizers_acos_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_ACos, testVarParameter, arginfo_stub_optimizers_acos_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/optimizers/arraymerge.zep.c b/ext/stub/optimizers/arraymerge.zep.c index d923428087..b4daac93ce 100644 --- a/ext/stub/optimizers/arraymerge.zep.c +++ b/ext/stub/optimizers/arraymerge.zep.c @@ -35,6 +35,15 @@ PHP_METHOD(Stub_Optimizers_ArrayMerge, mergeTwoRequiredArrays) { ZVAL_UNDEF(&arr1); ZVAL_UNDEF(&arr2); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ARRAY(arr1) + Z_PARAM_ARRAY(arr2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &arr1_param, &arr2_param); diff --git a/ext/stub/optimizers/asin.zep.c b/ext/stub/optimizers/asin.zep.c index ba56b7a95f..ed325d1296 100644 --- a/ext/stub/optimizers/asin.zep.c +++ b/ext/stub/optimizers/asin.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Optimizers_ASin, testInt) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 1; @@ -54,6 +55,7 @@ PHP_METHOD(Stub_Optimizers_ASin, testVar) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); a = 1; @@ -73,6 +75,7 @@ PHP_METHOD(Stub_Optimizers_ASin, testIntValue1) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); @@ -90,6 +93,14 @@ PHP_METHOD(Stub_Optimizers_ASin, testIntParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -112,6 +123,14 @@ PHP_METHOD(Stub_Optimizers_ASin, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); diff --git a/ext/stub/optimizers/asin.zep.h b/ext/stub/optimizers/asin.zep.h index 2263bd695a..0d005332bb 100644 --- a/ext/stub/optimizers/asin.zep.h +++ b/ext/stub/optimizers/asin.zep.h @@ -9,12 +9,17 @@ PHP_METHOD(Stub_Optimizers_ASin, testIntValue1); PHP_METHOD(Stub_Optimizers_ASin, testIntParameter); PHP_METHOD(Stub_Optimizers_ASin, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_asin_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_asin_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_asin_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_asin_testintparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_asin_testvarparameter, 0, 0, 1) @@ -22,9 +27,21 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_asin_testvarparameter, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_asin_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_ASin, testInt, arginfo_stub_optimizers_asin_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_ASin, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_ASin, testVar, arginfo_stub_optimizers_asin_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_ASin, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_ASin, testIntValue1, arginfo_stub_optimizers_asin_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_ASin, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_ASin, testIntParameter, arginfo_stub_optimizers_asin_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_ASin, testVarParameter, arginfo_stub_optimizers_asin_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/optimizers/cos.zep.c b/ext/stub/optimizers/cos.zep.c index fe31791a2b..b3da5ea0f7 100644 --- a/ext/stub/optimizers/cos.zep.c +++ b/ext/stub/optimizers/cos.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Optimizers_Cos, testInt) { ZVAL_UNDEF(&_0); + a = 4; ZVAL_LONG(&_0, a); RETURN_DOUBLE(cos(a)); @@ -51,6 +52,7 @@ PHP_METHOD(Stub_Optimizers_Cos, testVar) { ZVAL_UNDEF(&_0); + a = 4; ZVAL_LONG(&_0, a); RETURN_DOUBLE(cos(a)); @@ -65,6 +67,7 @@ PHP_METHOD(Stub_Optimizers_Cos, testIntValue1) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 4); RETURN_DOUBLE(cos(4)); @@ -78,6 +81,7 @@ PHP_METHOD(Stub_Optimizers_Cos, testIntValue2) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 16); RETURN_DOUBLE(cos(16)); @@ -90,6 +94,14 @@ PHP_METHOD(Stub_Optimizers_Cos, testIntParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -107,6 +119,14 @@ PHP_METHOD(Stub_Optimizers_Cos, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/optimizers/cos.zep.h b/ext/stub/optimizers/cos.zep.h index c0a18f354f..f0d22dd5d0 100644 --- a/ext/stub/optimizers/cos.zep.h +++ b/ext/stub/optimizers/cos.zep.h @@ -10,12 +10,20 @@ PHP_METHOD(Stub_Optimizers_Cos, testIntValue2); PHP_METHOD(Stub_Optimizers_Cos, testIntParameter); PHP_METHOD(Stub_Optimizers_Cos, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testintvalue2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testintparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testvarparameter, 0, 0, 1) @@ -23,10 +31,26 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_cos_testvarparameter, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_cos_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Cos, testInt, arginfo_stub_optimizers_cos_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Cos, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Cos, testVar, arginfo_stub_optimizers_cos_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Cos, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Cos, testIntValue1, arginfo_stub_optimizers_cos_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Cos, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Cos, testIntValue2, arginfo_stub_optimizers_cos_testintvalue2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Cos, testIntValue2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_Cos, testIntParameter, arginfo_stub_optimizers_cos_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_Cos, testVarParameter, arginfo_stub_optimizers_cos_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/optimizers/createarray.zep.c b/ext/stub/optimizers/createarray.zep.c index 51e644970f..a0e78d09d9 100644 --- a/ext/stub/optimizers/createarray.zep.c +++ b/ext/stub/optimizers/createarray.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_Optimizers_CreateArray, createNoSize) { + zephir_create_array(return_value, 0, 1); return; @@ -45,6 +46,14 @@ PHP_METHOD(Stub_Optimizers_CreateArray, createSize) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &n_param); diff --git a/ext/stub/optimizers/createarray.zep.h b/ext/stub/optimizers/createarray.zep.h index 2ac8478401..af6e783edd 100644 --- a/ext/stub/optimizers/createarray.zep.h +++ b/ext/stub/optimizers/createarray.zep.h @@ -6,16 +6,19 @@ ZEPHIR_INIT_CLASS(Stub_Optimizers_CreateArray); PHP_METHOD(Stub_Optimizers_CreateArray, createNoSize); PHP_METHOD(Stub_Optimizers_CreateArray, createSize); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_createarray_createnosize, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_createarray_createsize, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_createarray_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_CreateArray, createNoSize, arginfo_stub_optimizers_createarray_createnosize, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_CreateArray, createNoSize, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_CreateArray, createSize, arginfo_stub_optimizers_createarray_createsize, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/optimizers/isscalar.zep.c b/ext/stub/optimizers/isscalar.zep.c index 55c939319c..f2cc25e22e 100644 --- a/ext/stub/optimizers/isscalar.zep.c +++ b/ext/stub/optimizers/isscalar.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testIntVar) { ZVAL_UNDEF(&_0); + a = 1; ZVAL_LONG(&_0, a); RETURN_BOOL(zephir_is_scalar(&_0)); @@ -48,6 +49,7 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testDoubleVar) { ZVAL_UNDEF(&_0); + a = (double) (1); ZVAL_DOUBLE(&_0, a); RETURN_BOOL(zephir_is_scalar(&_0)); @@ -63,6 +65,7 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testBoolVar) { ZVAL_UNDEF(&_0); + a = 1; ZVAL_BOOL(&_0, (a ? 1 : 0)); RETURN_BOOL(zephir_is_scalar(&_0)); @@ -77,6 +80,7 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testStringVar) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -93,6 +97,7 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testEmptyArrayVar) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -110,6 +115,7 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testVar) { ZVAL_UNDEF(&_0); + a = 1; ZVAL_LONG(&_0, a); RETURN_BOOL(zephir_is_scalar(&_0)); @@ -122,6 +128,14 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/optimizers/isscalar.zep.h b/ext/stub/optimizers/isscalar.zep.h index e82120fc2e..05d2f6b83f 100644 --- a/ext/stub/optimizers/isscalar.zep.h +++ b/ext/stub/optimizers/isscalar.zep.h @@ -11,53 +11,25 @@ PHP_METHOD(Stub_Optimizers_IsScalar, testEmptyArrayVar); PHP_METHOD(Stub_Optimizers_IsScalar, testVar); PHP_METHOD(Stub_Optimizers_IsScalar, testVarParameter); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testintvar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testintvar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testdoublevar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testdoublevar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testboolvar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testboolvar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_teststringvar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_teststringvar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testemptyarrayvar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testemptyarrayvar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testvar, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testvar, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testvarparameter, 0, 1, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_optimizers_isscalar_testvarparameter, 0, 1, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() diff --git a/ext/stub/optimizers/ldexp.zep.c b/ext/stub/optimizers/ldexp.zep.c index 0dd892cd24..0a255c3562 100644 --- a/ext/stub/optimizers/ldexp.zep.c +++ b/ext/stub/optimizers/ldexp.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testInt) { ZVAL_UNDEF(&_1); + x = 2; exponent = 3; ZVAL_LONG(&_0, x); @@ -55,6 +56,7 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testDoubleInt) { ZVAL_UNDEF(&_1); + x = 2.0; exponent = 3; ZVAL_DOUBLE(&_0, x); @@ -73,6 +75,7 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testDouble) { ZVAL_UNDEF(&_1); + x = 2.0; exponent = 3.0; ZVAL_DOUBLE(&_0, x); @@ -91,6 +94,7 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testVar) { ZVAL_UNDEF(&_1); + x = 2; exponent = 3; ZVAL_LONG(&_0, x); @@ -108,6 +112,7 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testIntValue1) { ZVAL_UNDEF(&_1); + ZVAL_LONG(&_0, 2); ZVAL_LONG(&_1, 3); RETURN_DOUBLE(zephir_ldexp(&_0, &_1)); @@ -122,6 +127,15 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testIntParameter) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(x) + Z_PARAM_LONG(exponent) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &x_param, &exponent_param); @@ -142,6 +156,15 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testVarParameter) { ZVAL_UNDEF(&x_sub); ZVAL_UNDEF(&exponent_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(x) + Z_PARAM_ZVAL(exponent) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &x, &exponent); diff --git a/ext/stub/optimizers/ldexp.zep.h b/ext/stub/optimizers/ldexp.zep.h index 2173105f53..a6f5e681a7 100644 --- a/ext/stub/optimizers/ldexp.zep.h +++ b/ext/stub/optimizers/ldexp.zep.h @@ -11,17 +11,24 @@ PHP_METHOD(Stub_Optimizers_Ldexp, testIntValue1); PHP_METHOD(Stub_Optimizers_Ldexp, testIntParameter); PHP_METHOD(Stub_Optimizers_Ldexp, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testdoubleint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testdouble, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testintparameter, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, x, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, x) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, exponent, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, exponent) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testvarparameter, 0, 0, 2) @@ -30,11 +37,31 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_ldexp_testvarparameter, 0, 0, 2) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_ldexp_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Ldexp, testInt, arginfo_stub_optimizers_ldexp_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Ldexp, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Ldexp, testDoubleInt, arginfo_stub_optimizers_ldexp_testdoubleint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Ldexp, testDoubleInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Ldexp, testDouble, arginfo_stub_optimizers_ldexp_testdouble, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Ldexp, testDouble, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Ldexp, testVar, arginfo_stub_optimizers_ldexp_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Ldexp, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Ldexp, testIntValue1, arginfo_stub_optimizers_ldexp_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Ldexp, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_Ldexp, testIntParameter, arginfo_stub_optimizers_ldexp_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_Ldexp, testVarParameter, arginfo_stub_optimizers_ldexp_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/optimizers/sin.zep.c b/ext/stub/optimizers/sin.zep.c index 00615a4240..53e94b4f87 100644 --- a/ext/stub/optimizers/sin.zep.c +++ b/ext/stub/optimizers/sin.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Optimizers_Sin, testInt) { ZVAL_UNDEF(&_0); + a = 4; ZVAL_LONG(&_0, a); RETURN_DOUBLE(sin(a)); @@ -51,6 +52,7 @@ PHP_METHOD(Stub_Optimizers_Sin, testVar) { ZVAL_UNDEF(&_0); + a = 4; ZVAL_LONG(&_0, a); RETURN_DOUBLE(sin(a)); @@ -65,6 +67,7 @@ PHP_METHOD(Stub_Optimizers_Sin, testIntValue1) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 4); RETURN_DOUBLE(sin(4)); @@ -78,6 +81,7 @@ PHP_METHOD(Stub_Optimizers_Sin, testIntValue2) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 16); RETURN_DOUBLE(sin(16)); @@ -90,6 +94,14 @@ PHP_METHOD(Stub_Optimizers_Sin, testIntParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -107,6 +119,14 @@ PHP_METHOD(Stub_Optimizers_Sin, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/optimizers/sin.zep.h b/ext/stub/optimizers/sin.zep.h index b4bbf21e81..48216e6c96 100644 --- a/ext/stub/optimizers/sin.zep.h +++ b/ext/stub/optimizers/sin.zep.h @@ -10,12 +10,20 @@ PHP_METHOD(Stub_Optimizers_Sin, testIntValue2); PHP_METHOD(Stub_Optimizers_Sin, testIntParameter); PHP_METHOD(Stub_Optimizers_Sin, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testintvalue2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testintparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testvarparameter, 0, 0, 1) @@ -23,10 +31,26 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sin_testvarparameter, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_sin_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sin, testInt, arginfo_stub_optimizers_sin_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sin, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sin, testVar, arginfo_stub_optimizers_sin_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sin, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sin, testIntValue1, arginfo_stub_optimizers_sin_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sin, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sin, testIntValue2, arginfo_stub_optimizers_sin_testintvalue2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sin, testIntValue2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_Sin, testIntParameter, arginfo_stub_optimizers_sin_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_Sin, testVarParameter, arginfo_stub_optimizers_sin_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/optimizers/sqrt.zep.c b/ext/stub/optimizers/sqrt.zep.c index bf98b18fe3..4c939d1bba 100644 --- a/ext/stub/optimizers/sqrt.zep.c +++ b/ext/stub/optimizers/sqrt.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testInt) { ZVAL_UNDEF(&_0); + a = 4; ZVAL_LONG(&_0, a); RETURN_DOUBLE(sqrt(a)); @@ -51,6 +52,7 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testVar) { ZVAL_UNDEF(&_0); + a = 4; ZVAL_LONG(&_0, a); RETURN_DOUBLE(sqrt(a)); @@ -65,6 +67,7 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testIntValue1) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 4); RETURN_DOUBLE(sqrt(4)); @@ -78,6 +81,7 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testIntValue2) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 16); RETURN_DOUBLE(sqrt(16)); @@ -90,6 +94,14 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testIntParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -107,6 +119,14 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/optimizers/sqrt.zep.h b/ext/stub/optimizers/sqrt.zep.h index 5854131572..c4f7fc76e0 100644 --- a/ext/stub/optimizers/sqrt.zep.h +++ b/ext/stub/optimizers/sqrt.zep.h @@ -10,12 +10,20 @@ PHP_METHOD(Stub_Optimizers_Sqrt, testIntValue2); PHP_METHOD(Stub_Optimizers_Sqrt, testIntParameter); PHP_METHOD(Stub_Optimizers_Sqrt, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testintvalue2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testintparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testvarparameter, 0, 0, 1) @@ -23,10 +31,26 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_sqrt_testvarparameter, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_sqrt_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sqrt, testInt, arginfo_stub_optimizers_sqrt_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sqrt, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sqrt, testVar, arginfo_stub_optimizers_sqrt_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sqrt, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sqrt, testIntValue1, arginfo_stub_optimizers_sqrt_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sqrt, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Sqrt, testIntValue2, arginfo_stub_optimizers_sqrt_testintvalue2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Sqrt, testIntValue2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_Sqrt, testIntParameter, arginfo_stub_optimizers_sqrt_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_Sqrt, testVarParameter, arginfo_stub_optimizers_sqrt_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/optimizers/strreplace.zep.c b/ext/stub/optimizers/strreplace.zep.c index b46d11593f..d222f3d852 100644 --- a/ext/stub/optimizers/strreplace.zep.c +++ b/ext/stub/optimizers/strreplace.zep.c @@ -28,7 +28,7 @@ ZEPHIR_INIT_CLASS(Stub_Optimizers_StrReplace) { } /** - * @link https://github.com/phalcon/zephir/issues/1055 + * @link https://github.com/zephir-lang/zephir/issues/1055 */ PHP_METHOD(Stub_Optimizers_StrReplace, issue1055) { @@ -42,6 +42,7 @@ PHP_METHOD(Stub_Optimizers_StrReplace, issue1055) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -73,6 +74,7 @@ PHP_METHOD(Stub_Optimizers_StrReplace, issue1087) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&filtered); @@ -125,6 +127,7 @@ PHP_METHOD(Stub_Optimizers_StrReplace, issue732A) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&subject); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&search); @@ -183,6 +186,7 @@ PHP_METHOD(Stub_Optimizers_StrReplace, issue732B) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&subject); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&patterns); @@ -209,7 +213,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, 73, &patterns, &replacements, &subject); + ZEPHIR_RETURN_CALL_FUNCTION("preg_replace", NULL, 71, &patterns, &replacements, &subject); zephir_check_call_status(); RETURN_MM(); diff --git a/ext/stub/optimizers/strreplace.zep.h b/ext/stub/optimizers/strreplace.zep.h index fb328b9e61..3ba4c7d920 100644 --- a/ext/stub/optimizers/strreplace.zep.h +++ b/ext/stub/optimizers/strreplace.zep.h @@ -8,10 +8,38 @@ PHP_METHOD(Stub_Optimizers_StrReplace, issue1087); PHP_METHOD(Stub_Optimizers_StrReplace, issue732A); PHP_METHOD(Stub_Optimizers_StrReplace, issue732B); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_strreplace_issue1055, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_strreplace_issue1087, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_strreplace_issue732a, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_strreplace_issue732b, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_optimizers_strreplace_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_StrReplace, issue1055, arginfo_stub_optimizers_strreplace_issue1055, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_StrReplace, issue1055, NULL, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_StrReplace, issue1087, arginfo_stub_optimizers_strreplace_issue1087, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_StrReplace, issue1087, NULL, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_StrReplace, issue732A, arginfo_stub_optimizers_strreplace_issue732a, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_StrReplace, issue732A, NULL, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_StrReplace, issue732B, arginfo_stub_optimizers_strreplace_issue732b, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_StrReplace, issue732B, NULL, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/optimizers/substr.zep.c b/ext/stub/optimizers/substr.zep.c index 1d66c007d4..7f67c95605 100644 --- a/ext/stub/optimizers/substr.zep.c +++ b/ext/stub/optimizers/substr.zep.c @@ -33,6 +33,15 @@ PHP_METHOD(Stub_Optimizers_Substr, testTwoArguments) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&start_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str) + Z_PARAM_ZVAL(start) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str, &start); @@ -51,6 +60,16 @@ PHP_METHOD(Stub_Optimizers_Substr, testThreeArguments) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&start_sub); ZVAL_UNDEF(&offset_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(str) + Z_PARAM_ZVAL(start) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(3, 0, &str, &start, &offset); diff --git a/ext/stub/optimizers/tan.zep.c b/ext/stub/optimizers/tan.zep.c index 84dd90e94b..733fffac8b 100644 --- a/ext/stub/optimizers/tan.zep.c +++ b/ext/stub/optimizers/tan.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Optimizers_Tan, testInt) { ZVAL_UNDEF(&_0); + a = 0; ZVAL_LONG(&_0, a); RETURN_DOUBLE(tan(a)); @@ -51,6 +52,7 @@ PHP_METHOD(Stub_Optimizers_Tan, testVar) { ZVAL_UNDEF(&_0); + a = 0; ZVAL_LONG(&_0, a); RETURN_DOUBLE(tan(a)); @@ -66,6 +68,7 @@ PHP_METHOD(Stub_Optimizers_Tan, testVar2) { ZVAL_UNDEF(&_0); + a = 1; ZVAL_LONG(&_0, a); RETURN_DOUBLE(tan(a)); @@ -80,6 +83,7 @@ PHP_METHOD(Stub_Optimizers_Tan, testIntValue1) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 1); RETURN_DOUBLE(tan(1)); @@ -93,6 +97,7 @@ PHP_METHOD(Stub_Optimizers_Tan, testIntValue2) { ZVAL_UNDEF(&_0); + ZVAL_LONG(&_0, 2); RETURN_DOUBLE(tan(2)); @@ -105,6 +110,14 @@ PHP_METHOD(Stub_Optimizers_Tan, testIntParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a_param); @@ -122,6 +135,14 @@ PHP_METHOD(Stub_Optimizers_Tan, testVarParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(&a_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &a); diff --git a/ext/stub/optimizers/tan.zep.h b/ext/stub/optimizers/tan.zep.h index 01495c3c69..2d1c61c8f2 100644 --- a/ext/stub/optimizers/tan.zep.h +++ b/ext/stub/optimizers/tan.zep.h @@ -11,12 +11,23 @@ PHP_METHOD(Stub_Optimizers_Tan, testIntValue2); PHP_METHOD(Stub_Optimizers_Tan, testIntParameter); PHP_METHOD(Stub_Optimizers_Tan, testVarParameter); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testint, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testvar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testvar2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testintvalue1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testintvalue2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testintparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testvarparameter, 0, 0, 1) @@ -24,11 +35,31 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_optimizers_tan_testvarparameter, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_optimizers_tan_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Tan, testInt, arginfo_stub_optimizers_tan_testint, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Tan, testInt, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Tan, testVar, arginfo_stub_optimizers_tan_testvar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Tan, testVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Tan, testVar2, arginfo_stub_optimizers_tan_testvar2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Tan, testVar2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Tan, testIntValue1, arginfo_stub_optimizers_tan_testintvalue1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Tan, testIntValue1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Optimizers_Tan, testIntValue2, arginfo_stub_optimizers_tan_testintvalue2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Optimizers_Tan, testIntValue2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Optimizers_Tan, testIntParameter, arginfo_stub_optimizers_tan_testintparameter, ZEND_ACC_PUBLIC) PHP_ME(Stub_Optimizers_Tan, testVarParameter, arginfo_stub_optimizers_tan_testvarparameter, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/pregmatch.zep.c b/ext/stub/pregmatch.zep.c index 60f40c45ca..e66821f69c 100644 --- a/ext/stub/pregmatch.zep.c +++ b/ext/stub/pregmatch.zep.c @@ -40,6 +40,7 @@ PHP_METHOD(Stub_Pregmatch, testWithoutReturnAndMatches) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&pattern); @@ -66,6 +67,7 @@ PHP_METHOD(Stub_Pregmatch, testWithoutReturns) { ZVAL_UNDEF(&matches); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&matches); @@ -91,6 +93,7 @@ PHP_METHOD(Stub_Pregmatch, testWithoutMatches) { ZVAL_UNDEF(&matched); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&pattern); @@ -114,6 +117,7 @@ PHP_METHOD(Stub_Pregmatch, testPregMatchAll) { ZVAL_UNDEF(&subject); ZVAL_UNDEF(&results); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&pattern); @@ -137,6 +141,7 @@ PHP_METHOD(Stub_Pregmatch, testPregMatchFallback) { ZVAL_UNDEF(&subject); ZVAL_UNDEF(&matches); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&matches); @@ -161,6 +166,15 @@ PHP_METHOD(Stub_Pregmatch, testPregMatch2Params) { ZVAL_UNDEF(&pattern_sub); ZVAL_UNDEF(&subject_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_ZVAL(subject) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &pattern, &subject); @@ -181,6 +195,16 @@ PHP_METHOD(Stub_Pregmatch, testPregMatch3Params) { ZVAL_UNDEF(&pattern_sub); ZVAL_UNDEF(&subject_sub); ZVAL_UNDEF(&matches_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(pattern) + Z_PARAM_ZVAL(subject) + Z_PARAM_ZVAL(matches) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(3, 0, &pattern, &subject, &matches); @@ -200,6 +224,17 @@ PHP_METHOD(Stub_Pregmatch, testPregMatch4Params) { ZVAL_UNDEF(&subject_sub); ZVAL_UNDEF(&matches_sub); ZVAL_UNDEF(&flags_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_ZVAL(pattern) + Z_PARAM_ZVAL(subject) + Z_PARAM_ZVAL(matches) + Z_PARAM_ZVAL(flags) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(4, 0, &pattern, &subject, &matches, &flags); @@ -220,6 +255,18 @@ PHP_METHOD(Stub_Pregmatch, testPregMatch5Params) { ZVAL_UNDEF(&matches_sub); ZVAL_UNDEF(&flags_sub); ZVAL_UNDEF(&offset_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(5, 5) + Z_PARAM_ZVAL(pattern) + Z_PARAM_ZVAL(subject) + Z_PARAM_ZVAL(matches) + Z_PARAM_ZVAL(flags) + Z_PARAM_ZVAL(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(5, 0, &pattern, &subject, &matches, &flags, &offset); @@ -231,7 +278,7 @@ PHP_METHOD(Stub_Pregmatch, testPregMatch5Params) { } /** - * @link https://github.com/phalcon/zephir/issues/287 + * @link https://github.com/zephir-lang/zephir/issues/287 */ PHP_METHOD(Stub_Pregmatch, testPregMatchSaveMatches) { @@ -244,6 +291,15 @@ PHP_METHOD(Stub_Pregmatch, testPregMatchSaveMatches) { ZVAL_UNDEF(&pattern); ZVAL_UNDEF(&matches); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(str) + Z_PARAM_STR(pattern) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &str_param, &pattern_param); @@ -272,6 +328,14 @@ PHP_METHOD(Stub_Pregmatch, testMatchAll) { 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) + Z_PARAM_ZVAL(flags) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &flags); @@ -304,6 +368,7 @@ PHP_METHOD(Stub_Pregmatch, testMatchAllInZep) { ZVAL_UNDEF(&m2); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 1); diff --git a/ext/stub/pregmatch.zep.h b/ext/stub/pregmatch.zep.h index 24a80f7836..d6f813d60d 100644 --- a/ext/stub/pregmatch.zep.h +++ b/ext/stub/pregmatch.zep.h @@ -16,6 +16,21 @@ PHP_METHOD(Stub_Pregmatch, testPregMatchSaveMatches); PHP_METHOD(Stub_Pregmatch, testMatchAll); PHP_METHOD(Stub_Pregmatch, testMatchAllInZep); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testwithoutreturnandmatches, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testwithoutreturns, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testwithoutmatches, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testpregmatchall, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testpregmatchfallback, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testpregmatch2params, 0, 0, 2) ZEND_ARG_INFO(0, pattern) ZEND_ARG_INFO(0, subject) @@ -43,34 +58,53 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testpregmatch5params, 0, 0, 5) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testpregmatchsavematches, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, pattern) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testmatchall, 0, 0, 1) ZEND_ARG_INFO(0, flags) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_pregmatch_testmatchallinzep, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_pregmatch_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Pregmatch, testWithoutReturnAndMatches, arginfo_stub_pregmatch_testwithoutreturnandmatches, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Pregmatch, testWithoutReturnAndMatches, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Pregmatch, testWithoutReturns, arginfo_stub_pregmatch_testwithoutreturns, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Pregmatch, testWithoutReturns, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Pregmatch, testWithoutMatches, arginfo_stub_pregmatch_testwithoutmatches, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Pregmatch, testWithoutMatches, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Pregmatch, testPregMatchAll, arginfo_stub_pregmatch_testpregmatchall, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Pregmatch, testPregMatchAll, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Pregmatch, testPregMatchFallback, arginfo_stub_pregmatch_testpregmatchfallback, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Pregmatch, testPregMatchFallback, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Pregmatch, testPregMatch2Params, arginfo_stub_pregmatch_testpregmatch2params, ZEND_ACC_PUBLIC) PHP_ME(Stub_Pregmatch, testPregMatch3Params, arginfo_stub_pregmatch_testpregmatch3params, ZEND_ACC_PUBLIC) PHP_ME(Stub_Pregmatch, testPregMatch4Params, arginfo_stub_pregmatch_testpregmatch4params, ZEND_ACC_PUBLIC) PHP_ME(Stub_Pregmatch, testPregMatch5Params, arginfo_stub_pregmatch_testpregmatch5params, ZEND_ACC_PUBLIC) PHP_ME(Stub_Pregmatch, testPregMatchSaveMatches, arginfo_stub_pregmatch_testpregmatchsavematches, ZEND_ACC_PUBLIC) PHP_ME(Stub_Pregmatch, testMatchAll, arginfo_stub_pregmatch_testmatchall, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Pregmatch, testMatchAllInZep, arginfo_stub_pregmatch_testmatchallinzep, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Pregmatch, testMatchAllInZep, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/app.zep.c b/ext/stub/properties/app.zep.c index e481281dbc..020dce93cb 100644 --- a/ext/stub/properties/app.zep.c +++ b/ext/stub/properties/app.zep.c @@ -35,6 +35,7 @@ PHP_METHOD(Stub_Properties_App, getInstance) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "instance"); } @@ -49,6 +50,7 @@ PHP_METHOD(Stub_Properties_App, __construct) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_CALL_CE_STATIC(&_0, stub_properties_staticprivateproperties_ce, "getinstance", &_1, 0); diff --git a/ext/stub/properties/app.zep.h b/ext/stub/properties/app.zep.h index f9e3aed486..22e9a1daa2 100644 --- a/ext/stub/properties/app.zep.h +++ b/ext/stub/properties/app.zep.h @@ -6,8 +6,22 @@ ZEPHIR_INIT_CLASS(Stub_Properties_App); PHP_METHOD(Stub_Properties_App, getInstance); PHP_METHOD(Stub_Properties_App, __construct); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_app_getinstance, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_app___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_app_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_App, getInstance, arginfo_stub_properties_app_getinstance, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_App, getInstance, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_App, __construct, arginfo_stub_properties_app___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_Properties_App, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/extendspublicproperties.zep.c b/ext/stub/properties/extendspublicproperties.zep.c index 60798f3703..d7ea3804b3 100644 --- a/ext/stub/properties/extendspublicproperties.zep.c +++ b/ext/stub/properties/extendspublicproperties.zep.c @@ -27,11 +27,12 @@ ZEPHIR_INIT_CLASS(Stub_Properties_ExtendsPublicProperties) { zend_declare_property_null(stub_properties_extendspublicproperties_ce, SL("someGetterSetterArray"), ZEND_ACC_PROTECTED); stub_properties_extendspublicproperties_ce->create_object = zephir_init_properties_Stub_Properties_ExtendsPublicProperties; + return SUCCESS; } -zend_object *zephir_init_properties_Stub_Properties_ExtendsPublicProperties(zend_class_entry *class_type TSRMLS_DC) { +zend_object *zephir_init_properties_Stub_Properties_ExtendsPublicProperties(zend_class_entry *class_type) { zval _1$$3, _2$$3, _4$$4, _6$$5, _11$$7; zval _0, _3, _5, _8, _10, _7$$5, _9$$6, _12$$7; @@ -49,6 +50,7 @@ zend_object *zephir_init_properties_Stub_Properties_ExtendsPublicProperties(zend ZVAL_UNDEF(&_4$$4); ZVAL_UNDEF(&_6$$5); ZVAL_UNDEF(&_11$$7); + ZEPHIR_MM_GROW(); diff --git a/ext/stub/properties/extendspublicproperties.zep.h b/ext/stub/properties/extendspublicproperties.zep.h index c5fb590bcf..b1396d065a 100644 --- a/ext/stub/properties/extendspublicproperties.zep.h +++ b/ext/stub/properties/extendspublicproperties.zep.h @@ -3,7 +3,10 @@ extern zend_class_entry *stub_properties_extendspublicproperties_ce; ZEPHIR_INIT_CLASS(Stub_Properties_ExtendsPublicProperties); -zend_object *zephir_init_properties_Stub_Properties_ExtendsPublicProperties(zend_class_entry *class_type TSRMLS_DC); +zend_object *zephir_init_properties_Stub_Properties_ExtendsPublicProperties(zend_class_entry *class_type); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_extendspublicproperties_zephir_init_properties_stub_properties_extendspublicproperties, 0, 0, 0) +ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_properties_extendspublicproperties_method_entry) { PHP_FE_END diff --git a/ext/stub/properties/privateproperties.zep.c b/ext/stub/properties/privateproperties.zep.c index bd32e24587..7f721b3f05 100644 --- a/ext/stub/properties/privateproperties.zep.c +++ b/ext/stub/properties/privateproperties.zep.c @@ -63,6 +63,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeNull) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someNull"); } @@ -72,6 +73,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeNullInitial) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someNullInitial"); } @@ -81,6 +83,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeFalse) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someFalse"); } @@ -90,6 +93,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeTrue) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someTrue"); } @@ -99,6 +103,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeInteger) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someInteger"); } @@ -108,6 +113,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeDouble) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someDouble"); } @@ -117,6 +123,7 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeString) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someString"); } diff --git a/ext/stub/properties/privateproperties.zep.h b/ext/stub/properties/privateproperties.zep.h index b7c61c3a3c..598523ace7 100644 --- a/ext/stub/properties/privateproperties.zep.h +++ b/ext/stub/properties/privateproperties.zep.h @@ -11,13 +11,62 @@ PHP_METHOD(Stub_Properties_PrivateProperties, getSomeInteger); PHP_METHOD(Stub_Properties_PrivateProperties, getSomeDouble); PHP_METHOD(Stub_Properties_PrivateProperties, getSomeString); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsomenull, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsomenullinitial, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsomefalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsometrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsomeinteger, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsomedouble, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_privateproperties_getsomestring, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_privateproperties_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeNull, arginfo_stub_properties_privateproperties_getsomenull, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeNull, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeNullInitial, arginfo_stub_properties_privateproperties_getsomenullinitial, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeNullInitial, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeFalse, arginfo_stub_properties_privateproperties_getsomefalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeTrue, arginfo_stub_properties_privateproperties_getsometrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeInteger, arginfo_stub_properties_privateproperties_getsomeinteger, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeInteger, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeDouble, arginfo_stub_properties_privateproperties_getsomedouble, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeDouble, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PrivateProperties, getSomeString, arginfo_stub_properties_privateproperties_getsomestring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PrivateProperties, getSomeString, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/propertyarray.zep.c b/ext/stub/properties/propertyarray.zep.c index f7bfd1b028..fda3e08a11 100644 --- a/ext/stub/properties/propertyarray.zep.c +++ b/ext/stub/properties/propertyarray.zep.c @@ -20,7 +20,7 @@ /** - * @link https://github.com/phalcon/zephir/issues/520 + * @link https://github.com/zephir-lang/zephir/issues/520 */ ZEPHIR_INIT_CLASS(Stub_Properties_PropertyArray) { @@ -42,6 +42,7 @@ ZEPHIR_INIT_CLASS(Stub_Properties_PropertyArray) { zend_declare_property_null(stub_properties_propertyarray_ce, SL("otherArray"), ZEND_ACC_PROTECTED); stub_properties_propertyarray_ce->create_object = zephir_init_properties_Stub_Properties_PropertyArray; + return SUCCESS; } @@ -56,6 +57,7 @@ PHP_METHOD(Stub_Properties_PropertyArray, __construct) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -77,6 +79,14 @@ PHP_METHOD(Stub_Properties_PropertyArray, appendSome) { ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value); @@ -95,6 +105,14 @@ PHP_METHOD(Stub_Properties_PropertyArray, setOtherArray) { zval *this_ptr = getThis(); ZVAL_UNDEF(&arr_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(arr) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &arr); @@ -109,6 +127,7 @@ PHP_METHOD(Stub_Properties_PropertyArray, getOtherArray) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "otherArray"); } @@ -128,6 +147,7 @@ PHP_METHOD(Stub_Properties_PropertyArray, testIssues1831) { ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_5$$5); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&headers); @@ -138,12 +158,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, 74, &_0$$3); + ZEPHIR_CALL_FUNCTION(&info, "array_shift", &_1, 72, &_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, 75, &info, &_2$$3); + ZEPHIR_CALL_FUNCTION(&_3$$3, "stripos", &_4, 73, &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); @@ -151,7 +171,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, 76, &_5$$5, &info); + ZEPHIR_CALL_FUNCTION(NULL, "array_unshift", &_6, 74, &_5$$5, &info); ZEPHIR_UNREF(&_5$$5); zephir_check_call_status(); break; @@ -161,7 +181,7 @@ PHP_METHOD(Stub_Properties_PropertyArray, testIssues1831) { } -zend_object *zephir_init_properties_Stub_Properties_PropertyArray(zend_class_entry *class_type TSRMLS_DC) { +zend_object *zephir_init_properties_Stub_Properties_PropertyArray(zend_class_entry *class_type) { zval _3$$4; zval _0, _2, _5, _1$$3, _4$$4, _6$$5; @@ -173,6 +193,7 @@ zend_object *zephir_init_properties_Stub_Properties_PropertyArray(zend_class_ent ZVAL_UNDEF(&_4$$4); ZVAL_UNDEF(&_6$$5); ZVAL_UNDEF(&_3$$4); + ZEPHIR_MM_GROW(); diff --git a/ext/stub/properties/propertyarray.zep.h b/ext/stub/properties/propertyarray.zep.h index d8268dc7a6..652ea134aa 100644 --- a/ext/stub/properties/propertyarray.zep.h +++ b/ext/stub/properties/propertyarray.zep.h @@ -8,7 +8,10 @@ PHP_METHOD(Stub_Properties_PropertyArray, appendSome); PHP_METHOD(Stub_Properties_PropertyArray, setOtherArray); PHP_METHOD(Stub_Properties_PropertyArray, getOtherArray); PHP_METHOD(Stub_Properties_PropertyArray, testIssues1831); -zend_object *zephir_init_properties_Stub_Properties_PropertyArray(zend_class_entry *class_type TSRMLS_DC); +zend_object *zephir_init_properties_Stub_Properties_PropertyArray(zend_class_entry *class_type); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyarray___construct, 0, 0, 0) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyarray_appendsome, 0, 0, 1) ZEND_ARG_INFO(0, value) @@ -18,11 +21,32 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyarray_setotherarray, 0, 0 ZEND_ARG_INFO(0, arr) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyarray_getotherarray, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyarray_testissues1831, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyarray_zephir_init_properties_stub_properties_propertyarray, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_propertyarray_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PropertyArray, __construct, arginfo_stub_properties_propertyarray___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_Properties_PropertyArray, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_ME(Stub_Properties_PropertyArray, appendSome, arginfo_stub_properties_propertyarray_appendsome, ZEND_ACC_PUBLIC) PHP_ME(Stub_Properties_PropertyArray, setOtherArray, arginfo_stub_properties_propertyarray_setotherarray, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PropertyArray, getOtherArray, arginfo_stub_properties_propertyarray_getotherarray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PropertyArray, getOtherArray, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PropertyArray, testIssues1831, arginfo_stub_properties_propertyarray_testissues1831, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PropertyArray, testIssues1831, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/propertyupdate.zep.c b/ext/stub/properties/propertyupdate.zep.c index 20a467b89a..a4cf986117 100644 --- a/ext/stub/properties/propertyupdate.zep.c +++ b/ext/stub/properties/propertyupdate.zep.c @@ -34,6 +34,7 @@ PHP_METHOD(Stub_Properties_PropertyUpdate, update1) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); diff --git a/ext/stub/properties/propertyupdate.zep.h b/ext/stub/properties/propertyupdate.zep.h index 58df44435d..3c4d182696 100644 --- a/ext/stub/properties/propertyupdate.zep.h +++ b/ext/stub/properties/propertyupdate.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_Properties_PropertyUpdate); PHP_METHOD(Stub_Properties_PropertyUpdate, update1); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_propertyupdate_update1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_propertyupdate_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PropertyUpdate, update1, arginfo_stub_properties_propertyupdate_update1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PropertyUpdate, update1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/protectedproperties.zep.c b/ext/stub/properties/protectedproperties.zep.c index a5e682c57f..24e5f493f1 100644 --- a/ext/stub/properties/protectedproperties.zep.c +++ b/ext/stub/properties/protectedproperties.zep.c @@ -71,6 +71,7 @@ ZEPHIR_INIT_CLASS(Stub_Properties_ProtectedProperties) { zend_declare_property_null(stub_properties_protectedproperties_ce, SL("someArrayVar"), ZEND_ACC_PROTECTED); stub_properties_protectedproperties_ce->create_object = zephir_init_properties_Stub_Properties_ProtectedProperties; + return SUCCESS; } @@ -83,6 +84,14 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, setSomeVar) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someVar_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(someVar) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &someVar); @@ -100,6 +109,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeVar) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someVar"); } @@ -115,6 +125,14 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, setSomeArrayVar) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someArrayVar); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(someArrayVar) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &someArrayVar_param); @@ -135,6 +153,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeArrayVar) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someArrayVar"); } @@ -147,6 +166,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeNull) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someNull"); } @@ -160,6 +180,14 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, setSomeNull) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -177,6 +205,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeNullInitial) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someNullInitial"); } @@ -189,6 +218,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeFalse) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someFalse"); } @@ -201,6 +231,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeTrue) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someTrue"); } @@ -213,6 +244,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeInteger) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someInteger"); } @@ -225,6 +257,7 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeDouble) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someDouble"); } @@ -237,16 +270,18 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeString) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someString"); } -zend_object *zephir_init_properties_Stub_Properties_ProtectedProperties(zend_class_entry *class_type TSRMLS_DC) { +zend_object *zephir_init_properties_Stub_Properties_ProtectedProperties(zend_class_entry *class_type) { zval _0, _1$$3; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1$$3); + ZEPHIR_MM_GROW(); diff --git a/ext/stub/properties/protectedproperties.zep.h b/ext/stub/properties/protectedproperties.zep.h index 25da3ea6cd..7d18ddeec3 100644 --- a/ext/stub/properties/protectedproperties.zep.h +++ b/ext/stub/properties/protectedproperties.zep.h @@ -15,39 +15,94 @@ PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeTrue); PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeInteger); PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeDouble); PHP_METHOD(Stub_Properties_ProtectedProperties, getSomeString); -zend_object *zephir_init_properties_Stub_Properties_ProtectedProperties(zend_class_entry *class_type TSRMLS_DC); +zend_object *zephir_init_properties_Stub_Properties_ProtectedProperties(zend_class_entry *class_type); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_setsomevar, 0, 0, 1) ZEND_ARG_INFO(0, someVar) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomevar, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_setsomearrayvar, 0, 0, 1) ZEND_ARG_ARRAY_INFO(0, someArrayVar, 0) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_properties_protectedproperties_getsomearrayvar, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_properties_protectedproperties_getsomearrayvar, 0, 0, IS_ARRAY, NULL, 0) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomenull, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_setsomenull, 0, 0, 1) ZEND_ARG_INFO(0, param) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomenullinitial, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomefalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsometrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomeinteger, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomedouble, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_getsomestring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_protectedproperties_zephir_init_properties_stub_properties_protectedproperties, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_protectedproperties_method_entry) { PHP_ME(Stub_Properties_ProtectedProperties, setSomeVar, arginfo_stub_properties_protectedproperties_setsomevar, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeVar, arginfo_stub_properties_protectedproperties_getsomevar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeVar, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Properties_ProtectedProperties, setSomeArrayVar, arginfo_stub_properties_protectedproperties_setsomearrayvar, ZEND_ACC_PUBLIC) PHP_ME(Stub_Properties_ProtectedProperties, getSomeArrayVar, arginfo_stub_properties_protectedproperties_getsomearrayvar, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeNull, arginfo_stub_properties_protectedproperties_getsomenull, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeNull, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Properties_ProtectedProperties, setSomeNull, arginfo_stub_properties_protectedproperties_setsomenull, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeNullInitial, arginfo_stub_properties_protectedproperties_getsomenullinitial, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeNullInitial, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeFalse, arginfo_stub_properties_protectedproperties_getsomefalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeTrue, arginfo_stub_properties_protectedproperties_getsometrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeInteger, arginfo_stub_properties_protectedproperties_getsomeinteger, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeInteger, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeDouble, arginfo_stub_properties_protectedproperties_getsomedouble, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeDouble, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_ProtectedProperties, getSomeString, arginfo_stub_properties_protectedproperties_getsomestring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_ProtectedProperties, getSomeString, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/publicproperties.zep.c b/ext/stub/properties/publicproperties.zep.c index 8cf40fc47b..947829779d 100644 --- a/ext/stub/properties/publicproperties.zep.c +++ b/ext/stub/properties/publicproperties.zep.c @@ -69,13 +69,13 @@ ZEPHIR_INIT_CLASS(Stub_Properties_PublicProperties) { /** * It's needed to test ide stubs - * @link https://github.com/phalcon/zephir/issues/731 + * @link https://github.com/zephir-lang/zephir/issues/731 */ zend_declare_property_null(stub_properties_publicproperties_ce, SL("someArrayWithSpecifyKeys"), ZEND_ACC_PROTECTED); /** * It's needed to test ide stubs - * @link https://github.com/phalcon/zephir/issues/731 + * @link https://github.com/zephir-lang/zephir/issues/731 */ zend_declare_property_null(stub_properties_publicproperties_ce, SL("someArrayWithSubArray"), ZEND_ACC_PROTECTED); @@ -98,6 +98,14 @@ PHP_METHOD(Stub_Properties_PublicProperties, setSomeGetterSetterArray) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someGetterSetterArray_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(someGetterSetterArray) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &someGetterSetterArray); @@ -113,6 +121,7 @@ PHP_METHOD(Stub_Properties_PublicProperties, getSomeGetterSetterArray) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someGetterSetterArray"); } @@ -125,6 +134,7 @@ PHP_METHOD(Stub_Properties_PublicProperties, test394Issue) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(&_0); @@ -133,7 +143,7 @@ PHP_METHOD(Stub_Properties_PublicProperties, test394Issue) { } -zend_object *zephir_init_properties_Stub_Properties_PublicProperties(zend_class_entry *class_type TSRMLS_DC) { +zend_object *zephir_init_properties_Stub_Properties_PublicProperties(zend_class_entry *class_type) { zval _3$$4, _4$$4, _6$$5, _8$$6; zval _0, _2, _5, _7, _10, _1$$3, _9$$6, _11$$7; @@ -150,6 +160,7 @@ zend_object *zephir_init_properties_Stub_Properties_PublicProperties(zend_class_ ZVAL_UNDEF(&_4$$4); ZVAL_UNDEF(&_6$$5); ZVAL_UNDEF(&_8$$6); + ZEPHIR_MM_GROW(); diff --git a/ext/stub/properties/publicproperties.zep.h b/ext/stub/properties/publicproperties.zep.h index 714dc88874..59b09e0ffd 100644 --- a/ext/stub/properties/publicproperties.zep.h +++ b/ext/stub/properties/publicproperties.zep.h @@ -6,15 +6,32 @@ ZEPHIR_INIT_CLASS(Stub_Properties_PublicProperties); PHP_METHOD(Stub_Properties_PublicProperties, setSomeGetterSetterArray); PHP_METHOD(Stub_Properties_PublicProperties, getSomeGetterSetterArray); PHP_METHOD(Stub_Properties_PublicProperties, test394Issue); -zend_object *zephir_init_properties_Stub_Properties_PublicProperties(zend_class_entry *class_type TSRMLS_DC); +zend_object *zephir_init_properties_Stub_Properties_PublicProperties(zend_class_entry *class_type); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_publicproperties_setsomegettersetterarray, 0, 0, 1) ZEND_ARG_INFO(0, someGetterSetterArray) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_publicproperties_getsomegettersetterarray, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_publicproperties_test394issue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_publicproperties_zephir_init_properties_stub_properties_publicproperties, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_publicproperties_method_entry) { PHP_ME(Stub_Properties_PublicProperties, setSomeGetterSetterArray, arginfo_stub_properties_publicproperties_setsomegettersetterarray, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PublicProperties, getSomeGetterSetterArray, arginfo_stub_properties_publicproperties_getsomegettersetterarray, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PublicProperties, getSomeGetterSetterArray, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_PublicProperties, test394Issue, arginfo_stub_properties_publicproperties_test394issue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_PublicProperties, test394Issue, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/staticprivateproperties.zep.c b/ext/stub/properties/staticprivateproperties.zep.c index 2f593f2920..4f73eb9c6c 100644 --- a/ext/stub/properties/staticprivateproperties.zep.c +++ b/ext/stub/properties/staticprivateproperties.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_Properties_StaticPrivateProperties, getInstance) { ZVAL_UNDEF(&localInstance); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(&localInstance); diff --git a/ext/stub/properties/staticprivateproperties.zep.h b/ext/stub/properties/staticprivateproperties.zep.h index c3b83278e3..a0643019c3 100644 --- a/ext/stub/properties/staticprivateproperties.zep.h +++ b/ext/stub/properties/staticprivateproperties.zep.h @@ -5,11 +5,7 @@ ZEPHIR_INIT_CLASS(Stub_Properties_StaticPrivateProperties); PHP_METHOD(Stub_Properties_StaticPrivateProperties, getInstance); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_properties_staticprivateproperties_getinstance, 0, 0, Stub\\Properties\\StaticPrivateProperties, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_properties_staticprivateproperties_getinstance, 0, 0, IS_OBJECT, "Stub\\Properties\\StaticPrivateProperties", 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_properties_staticprivateproperties_method_entry) { diff --git a/ext/stub/properties/staticpropertyarray.zep.c b/ext/stub/properties/staticpropertyarray.zep.c index c25dd1e90b..7fe81baa81 100644 --- a/ext/stub/properties/staticpropertyarray.zep.c +++ b/ext/stub/properties/staticpropertyarray.zep.c @@ -18,8 +18,8 @@ /** - * @link https://github.com/phalcon/zephir/issues/367 - * @link https://github.com/phalcon/zephir/issues/188 + * @link https://github.com/zephir-lang/zephir/issues/367 + * @link https://github.com/zephir-lang/zephir/issues/188 */ ZEPHIR_INIT_CLASS(Stub_Properties_StaticPropertyArray) { @@ -39,7 +39,7 @@ ZEPHIR_INIT_CLASS(Stub_Properties_StaticPropertyArray) { } -void zephir_init_static_properties_Stub_Properties_StaticPropertyArray(TSRMLS_D) { +void zephir_init_static_properties_Stub_Properties_StaticPropertyArray() { zval _1; zval _0; @@ -47,6 +47,7 @@ void zephir_init_static_properties_Stub_Properties_StaticPropertyArray(TSRMLS_D) ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); diff --git a/ext/stub/properties/staticpropertyarray.zep.h b/ext/stub/properties/staticpropertyarray.zep.h index 87a6466845..034cfeedf1 100644 --- a/ext/stub/properties/staticpropertyarray.zep.h +++ b/ext/stub/properties/staticpropertyarray.zep.h @@ -3,7 +3,10 @@ extern zend_class_entry *stub_properties_staticpropertyarray_ce; ZEPHIR_INIT_CLASS(Stub_Properties_StaticPropertyArray); -void zephir_init_static_properties_Stub_Properties_StaticPropertyArray(TSRMLS_D); +void zephir_init_static_properties_Stub_Properties_StaticPropertyArray(); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpropertyarray_zephir_init_static_properties_stub_properties_staticpropertyarray, 0, 0, 0) +ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_properties_staticpropertyarray_method_entry) { PHP_FE_END diff --git a/ext/stub/properties/staticprotectedproperties.zep.c b/ext/stub/properties/staticprotectedproperties.zep.c index 4ec925b52f..72a8b6a2a4 100644 --- a/ext/stub/properties/staticprotectedproperties.zep.c +++ b/ext/stub/properties/staticprotectedproperties.zep.c @@ -67,6 +67,14 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, setSomeVar) { zval *this_ptr = getThis(); ZVAL_UNDEF(&someVar_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(someVar) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &someVar); @@ -82,6 +90,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeVar) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "someVar"); } @@ -94,6 +103,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeNull) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someNull"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -105,6 +115,14 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, setSomeNull) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶m_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(param) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, ¶m); @@ -122,6 +140,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeNullInitial) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someNullInitial"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -135,6 +154,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeFalse) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someFalse"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -148,6 +168,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeTrue) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someTrue"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -161,6 +182,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeInteger) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someInteger"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -174,6 +196,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeDouble) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someDouble"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); @@ -187,6 +210,7 @@ PHP_METHOD(Stub_Properties_StaticProtectedProperties, getSomeString) { ZVAL_UNDEF(&_0); + zephir_read_static_property_ce(&_0, stub_properties_staticprotectedproperties_ce, SL("someString"), PH_NOISY_CC | PH_READONLY); RETURN_CTORW(&_0); diff --git a/ext/stub/properties/staticprotectedproperties.zep.h b/ext/stub/properties/staticprotectedproperties.zep.h index f5b106040d..4007af9a35 100644 --- a/ext/stub/properties/staticprotectedproperties.zep.h +++ b/ext/stub/properties/staticprotectedproperties.zep.h @@ -18,20 +18,76 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_setsome ZEND_ARG_INFO(0, someVar) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomevar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomenull, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_setsomenull, 0, 0, 1) ZEND_ARG_INFO(0, param) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomenullinitial, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomefalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsometrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomeinteger, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomedouble, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticprotectedproperties_getsomestring, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_staticprotectedproperties_method_entry) { PHP_ME(Stub_Properties_StaticProtectedProperties, setSomeVar, arginfo_stub_properties_staticprotectedproperties_setsomevar, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeVar, arginfo_stub_properties_staticprotectedproperties_getsomevar, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeVar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeNull, arginfo_stub_properties_staticprotectedproperties_getsomenull, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeNull, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_ME(Stub_Properties_StaticProtectedProperties, setSomeNull, arginfo_stub_properties_staticprotectedproperties_setsomenull, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeNullInitial, arginfo_stub_properties_staticprotectedproperties_getsomenullinitial, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeNullInitial, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeFalse, arginfo_stub_properties_staticprotectedproperties_getsomefalse, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeFalse, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeTrue, arginfo_stub_properties_staticprotectedproperties_getsometrue, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeTrue, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeInteger, arginfo_stub_properties_staticprotectedproperties_getsomeinteger, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeInteger, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeDouble, arginfo_stub_properties_staticprotectedproperties_getsomedouble, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeDouble, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeString, arginfo_stub_properties_staticprotectedproperties_getsomestring, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticProtectedProperties, getSomeString, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/ext/stub/properties/staticpublicproperties.zep.c b/ext/stub/properties/staticpublicproperties.zep.c index 057ac928b2..d377de479c 100644 --- a/ext/stub/properties/staticpublicproperties.zep.c +++ b/ext/stub/properties/staticpublicproperties.zep.c @@ -69,6 +69,14 @@ PHP_METHOD(Stub_Properties_StaticPublicProperties, setSomeString) { zval *this_ptr = getThis(); ZVAL_UNDEF(&val_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(val) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &val); @@ -86,6 +94,7 @@ PHP_METHOD(Stub_Properties_StaticPublicProperties, testAddAndSub) { ZVAL_UNDEF(&_0); + ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(&_0, 1); zephir_add_static_property_ce(stub_properties_staticpublicproperties_ce, ZEND_STRL("someAdd"), &_0); @@ -103,6 +112,7 @@ PHP_METHOD(Stub_Properties_StaticPublicProperties, testAddAndSub2) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -125,6 +135,7 @@ PHP_METHOD(Stub_Properties_StaticPublicProperties, testAddAndSub3) { ZVAL_UNDEF(&_0); + ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_DOUBLE(&_0, 1.0); zephir_add_static_property_ce(stub_properties_staticpublicproperties_ce, ZEND_STRL("someAdd"), &_0); @@ -143,6 +154,7 @@ PHP_METHOD(Stub_Properties_StaticPublicProperties, testAddAndSub4) { ZVAL_UNDEF(&_0); + v = 1; ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(&_0, v); @@ -161,6 +173,7 @@ PHP_METHOD(Stub_Properties_StaticPublicProperties, testAddAndSub5) { ZVAL_UNDEF(&v); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&v); diff --git a/ext/stub/properties/staticpublicproperties.zep.h b/ext/stub/properties/staticpublicproperties.zep.h index f9312f4ce9..446af459fb 100644 --- a/ext/stub/properties/staticpublicproperties.zep.h +++ b/ext/stub/properties/staticpublicproperties.zep.h @@ -14,12 +14,47 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpublicproperties_setsomestr ZEND_ARG_INFO(0, val) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpublicproperties_testaddandsub, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpublicproperties_testaddandsub2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpublicproperties_testaddandsub3, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpublicproperties_testaddandsub4, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_properties_staticpublicproperties_testaddandsub5, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_properties_staticpublicproperties_method_entry) { PHP_ME(Stub_Properties_StaticPublicProperties, setSomeString, arginfo_stub_properties_staticpublicproperties_setsomestring, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub, arginfo_stub_properties_staticpublicproperties_testaddandsub, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub2, arginfo_stub_properties_staticpublicproperties_testaddandsub2, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub2, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub3, arginfo_stub_properties_staticpublicproperties_testaddandsub3, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub3, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub4, arginfo_stub_properties_staticpublicproperties_testaddandsub4, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub4, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub5, arginfo_stub_properties_staticpublicproperties_testaddandsub5, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Properties_StaticPublicProperties, testAddAndSub5, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/ext/stub/quantum.zep.c b/ext/stub/quantum.zep.c index df0d91b53a..0660cefa7b 100644 --- a/ext/stub/quantum.zep.c +++ b/ext/stub/quantum.zep.c @@ -98,6 +98,14 @@ PHP_METHOD(Stub_Quantum, harmos) { ZVAL_UNDEF(&_8$$4); ZVAL_UNDEF(&_10$$4); ZVAL_UNDEF(&_11$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(x) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &x_param); @@ -340,13 +348,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, 77, &fp, &_52$$9, &_53$$9, &_54$$9, &_51$$9); + ZEPHIR_CALL_FUNCTION(NULL, "fprintf", &_55, 75, &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, 77, &fp, &_56$$8); + ZEPHIR_CALL_FUNCTION(NULL, "fprintf", &_55, 75, &fp, &_56$$8); zephir_check_call_status(); } j = 1; diff --git a/ext/stub/quantum.zep.h b/ext/stub/quantum.zep.h index 23c054e174..aa13dedea3 100644 --- a/ext/stub/quantum.zep.h +++ b/ext/stub/quantum.zep.h @@ -6,11 +6,7 @@ ZEPHIR_INIT_CLASS(Stub_Quantum); PHP_METHOD(Stub_Quantum, harmos); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_quantum_harmos, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, x, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, x) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_quantum_method_entry) { diff --git a/ext/stub/range.zep.c b/ext/stub/range.zep.c index 8c75d20c43..71ba61de0a 100644 --- a/ext/stub/range.zep.c +++ b/ext/stub/range.zep.c @@ -42,11 +42,12 @@ PHP_METHOD(Stub_Range, inclusive1) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); ZVAL_LONG(&_1, 10); - ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 78, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 76, &_0, &_1); zephir_check_call_status(); zephir_get_arrval(&_3, &_2); RETURN_CTOR(&_3); @@ -66,11 +67,12 @@ PHP_METHOD(Stub_Range, exclusive1) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); ZVAL_LONG(&_1, 10); - ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 78, &_0, &_1); + ZEPHIR_CALL_FUNCTION(&_2, "range", NULL, 76, &_0, &_1); zephir_check_call_status(); zephir_get_arrval(&_3, &_2); RETURN_CTOR(&_3); diff --git a/ext/stub/range.zep.h b/ext/stub/range.zep.h index febec7f57c..7fdad5e842 100644 --- a/ext/stub/range.zep.h +++ b/ext/stub/range.zep.h @@ -6,8 +6,22 @@ ZEPHIR_INIT_CLASS(Stub_Range); PHP_METHOD(Stub_Range, inclusive1); PHP_METHOD(Stub_Range, exclusive1); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_range_inclusive1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_range_exclusive1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_range_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Range, inclusive1, arginfo_stub_range_inclusive1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Range, inclusive1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Range, exclusive1, arginfo_stub_range_exclusive1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Range, exclusive1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/references.zep.c b/ext/stub/references.zep.c index 58e8a3198f..5ca68c66c4 100644 --- a/ext/stub/references.zep.c +++ b/ext/stub/references.zep.c @@ -29,5 +29,6 @@ PHP_METHOD(Stub_References, assignByRef) { + } diff --git a/ext/stub/references.zep.h b/ext/stub/references.zep.h index 793401b785..b4c5d4d063 100644 --- a/ext/stub/references.zep.h +++ b/ext/stub/references.zep.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(Stub_References); PHP_METHOD(Stub_References, assignByRef); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_references_assignbyref, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_references_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_References, assignByRef, arginfo_stub_references_assignbyref, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_References, assignByRef, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/regexdna.zep.c b/ext/stub/regexdna.zep.c index c5153c785a..6c96bf1d2d 100644 --- a/ext/stub/regexdna.zep.c +++ b/ext/stub/regexdna.zep.c @@ -60,6 +60,14 @@ PHP_METHOD(Stub_RegexDNA, process) { ZVAL_UNDEF(&_7$$3); ZVAL_UNDEF(&_8$$4); ZVAL_UNDEF(&_9$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(path) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &path); @@ -103,70 +111,70 @@ PHP_METHOD(Stub_RegexDNA, process) { array_init(&vIUBnew); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/B/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 30); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 29); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(c|g|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 30); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 29); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/D/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 31); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 30); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|g|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 31); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 30); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/H/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 32); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 31); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 32); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 31); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/K/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 33); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 32); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(g|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 33); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 32); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/M/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 34); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 33); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 34); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 33); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/N/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 35); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 34); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c|g|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 35); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 34); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/R/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 36); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 35); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|g)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 36); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 35); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/S/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 37); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 36); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(c|g)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 37); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 36); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/V/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 38); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 37); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c|g)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 38); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 37); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/W/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 39); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 38); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 39); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 38); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/Y/S"); - zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 40); + zephir_array_append(&vIUB, &_0, PH_SEPARATE, "stub/regexdna.zep", 39); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(c|t)"); - zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 40); + zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "stub/regexdna.zep", 39); ZEPHIR_INIT_VAR(&stuffToRemove); ZVAL_STRING(&stuffToRemove, "^>.*$|\n"); ZEPHIR_INIT_NVAR(&discard); @@ -179,12 +187,12 @@ 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, 73, &_1, &_0, &contents); + ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 71, &_1, &_0, &contents); zephir_check_call_status(); ZEPHIR_CPY_WRT(&contents, &_2); ZEPHIR_INIT_VAR(&codeLength); ZVAL_LONG(&codeLength, zephir_fast_strlen_ev(&contents)); - zephir_is_iterable(&variants, 0, "stub/regexdna.zep", 59); + zephir_is_iterable(&variants, 0, "stub/regexdna.zep", 58); if (Z_TYPE_P(&variants) == IS_ARRAY) { ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&variants), _4) { @@ -223,7 +231,7 @@ PHP_METHOD(Stub_RegexDNA, process) { } } ZEPHIR_INIT_NVAR(®ex); - ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 73, &vIUB, &vIUBnew, &contents); + ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 71, &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 0ba65e44e9..3481aabf5f 100644 --- a/ext/stub/requires.zep.c +++ b/ext/stub/requires.zep.c @@ -39,6 +39,14 @@ PHP_METHOD(Stub_Requires, requireExternal1) { ZVAL_UNDEF(&path_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(path) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &path); @@ -59,6 +67,14 @@ PHP_METHOD(Stub_Requires, requireExternal2) { zval *this_ptr = getThis(); ZVAL_UNDEF(&path_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(path) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &path); @@ -81,6 +97,14 @@ PHP_METHOD(Stub_Requires, requireExternal3) { ZVAL_UNDEF(&path_sub); ZVAL_UNDEF(&external3); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(path) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &path); @@ -108,6 +132,14 @@ PHP_METHOD(Stub_Requires, setContent) { zval *this_ptr = getThis(); ZVAL_UNDEF(&content_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(content) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &content); @@ -136,6 +168,15 @@ PHP_METHOD(Stub_Requires, renderTemplate) { ZVAL_UNDEF(&_2$$3); ZVAL_UNDEF(&_5$$4); ZVAL_UNDEF(&_6$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_STR(templatePath) + Z_PARAM_ZVAL(params) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &templatePath_param, ¶ms); diff --git a/ext/stub/requires.zep.h b/ext/stub/requires.zep.h index 871ec1f71e..8c5c955937 100644 --- a/ext/stub/requires.zep.h +++ b/ext/stub/requires.zep.h @@ -21,26 +21,13 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_requires_requireexternal3, 0, 0, 1) ZEND_ARG_INFO(0, path) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_requires_setcontent, 0, 1, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_requires_setcontent, 0, 1, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_requires_setcontent, 0, 0, 1) -#define arginfo_stub_requires_setcontent NULL -#endif ZEND_ARG_INFO(0, content) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_requires_rendertemplate, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, templatePath, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, templatePath) -#endif ZEND_ARG_INFO(0, params) ZEND_END_ARG_INFO() diff --git a/ext/stub/requires/external3.zep.c b/ext/stub/requires/external3.zep.c index 229a3a2e75..499290e16e 100644 --- a/ext/stub/requires/external3.zep.c +++ b/ext/stub/requires/external3.zep.c @@ -41,6 +41,15 @@ PHP_METHOD(Stub_Requires_External3, req) { ZVAL_UNDEF(&path_sub); ZVAL_UNDEF(&requires_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(path) + Z_PARAM_ZVAL(requires) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &path, &requires); diff --git a/ext/stub/requires/external3.zep.h b/ext/stub/requires/external3.zep.h index 6221f2ab71..7bd936ea68 100644 --- a/ext/stub/requires/external3.zep.h +++ b/ext/stub/requires/external3.zep.h @@ -5,16 +5,7 @@ ZEPHIR_INIT_CLASS(Stub_Requires_External3); PHP_METHOD(Stub_Requires_External3, req); -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_requires_external3_req, 0, 2, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_requires_external3_req, 0, 2, IS_VOID, NULL, 0) -#endif -#else -ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_requires_external3_req, 0, 0, 2) -#define arginfo_stub_requires_external3_req NULL -#endif ZEND_ARG_INFO(0, path) ZEND_ARG_INFO(0, requires) diff --git a/ext/stub/resourcetest.zep.c b/ext/stub/resourcetest.zep.c index e7cb7f2b01..f3cce89d32 100644 --- a/ext/stub/resourcetest.zep.c +++ b/ext/stub/resourcetest.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_ResourceTest, testLetStatementSTDIN) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -49,6 +50,7 @@ PHP_METHOD(Stub_ResourceTest, testLetStatementSTDOUT) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -65,6 +67,7 @@ PHP_METHOD(Stub_ResourceTest, testLetStatementSTDERR) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -82,6 +85,7 @@ PHP_METHOD(Stub_ResourceTest, testTypeOffResource) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -100,6 +104,7 @@ PHP_METHOD(Stub_ResourceTest, testIsResource) { ZVAL_UNDEF(&a); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -118,6 +123,7 @@ PHP_METHOD(Stub_ResourceTest, testFunctionsForSTDIN) { ZVAL_UNDEF(&a); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); diff --git a/ext/stub/resourcetest.zep.h b/ext/stub/resourcetest.zep.h index ef69f4198d..58f3a9622b 100644 --- a/ext/stub/resourcetest.zep.h +++ b/ext/stub/resourcetest.zep.h @@ -10,12 +10,54 @@ PHP_METHOD(Stub_ResourceTest, testTypeOffResource); PHP_METHOD(Stub_ResourceTest, testIsResource); PHP_METHOD(Stub_ResourceTest, testFunctionsForSTDIN); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_resourcetest_testletstatementstdin, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_resourcetest_testletstatementstdout, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_resourcetest_testletstatementstderr, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_resourcetest_testtypeoffresource, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_resourcetest_testisresource, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_resourcetest_testfunctionsforstdin, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_resourcetest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ResourceTest, testLetStatementSTDIN, arginfo_stub_resourcetest_testletstatementstdin, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ResourceTest, testLetStatementSTDIN, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ResourceTest, testLetStatementSTDOUT, arginfo_stub_resourcetest_testletstatementstdout, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ResourceTest, testLetStatementSTDOUT, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ResourceTest, testLetStatementSTDERR, arginfo_stub_resourcetest_testletstatementstderr, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ResourceTest, testLetStatementSTDERR, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ResourceTest, testTypeOffResource, arginfo_stub_resourcetest_testtypeoffresource, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ResourceTest, testTypeOffResource, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ResourceTest, testIsResource, arginfo_stub_resourcetest_testisresource, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ResourceTest, testIsResource, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ResourceTest, testFunctionsForSTDIN, arginfo_stub_resourcetest_testfunctionsforstdin, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ResourceTest, testFunctionsForSTDIN, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/returns.zep.c b/ext/stub/returns.zep.c index 4a0aac1a17..0582a98aa0 100644 --- a/ext/stub/returns.zep.c +++ b/ext/stub/returns.zep.c @@ -30,6 +30,7 @@ PHP_METHOD(Stub_Returns, testReturnCast1) { zval *this_ptr = getThis(); + RETURN_LONG((int) 5.0); } @@ -39,6 +40,7 @@ PHP_METHOD(Stub_Returns, testReturnCast2) { zval *this_ptr = getThis(); + RETURN_LONG(1); } @@ -48,6 +50,7 @@ PHP_METHOD(Stub_Returns, testReturnCast3) { zval *this_ptr = getThis(); + RETURN_LONG(0); } @@ -57,6 +60,7 @@ PHP_METHOD(Stub_Returns, testReturnCast4) { zval *this_ptr = getThis(); + if (1) { RETURN_LONG(1); } else { @@ -73,6 +77,14 @@ PHP_METHOD(Stub_Returns, returnWithParameter) { zval *this_ptr = getThis(); ZVAL_UNDEF(¶meter); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(parameter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¶meter_param); @@ -89,6 +101,7 @@ PHP_METHOD(Stub_Returns, returnWithoutParameter) { zval *this_ptr = getThis(); + RETURN_STRING("Return back"); } diff --git a/ext/stub/returns.zep.h b/ext/stub/returns.zep.h index 72d4bc0b31..3d5dd2d644 100644 --- a/ext/stub/returns.zep.h +++ b/ext/stub/returns.zep.h @@ -10,40 +10,23 @@ PHP_METHOD(Stub_Returns, testReturnCast4); PHP_METHOD(Stub_Returns, returnWithParameter); PHP_METHOD(Stub_Returns, returnWithoutParameter); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast1, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast1, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast2, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast2, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast3, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast3, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast4, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_returns_testreturncast4, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_returns_returnwithparameter, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, parameter, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, parameter) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_returns_returnwithoutparameter, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_returns_method_entry) { @@ -52,6 +35,10 @@ ZEPHIR_INIT_FUNCS(stub_returns_method_entry) { PHP_ME(Stub_Returns, testReturnCast3, arginfo_stub_returns_testreturncast3, ZEND_ACC_PUBLIC) PHP_ME(Stub_Returns, testReturnCast4, arginfo_stub_returns_testreturncast4, ZEND_ACC_PUBLIC) PHP_ME(Stub_Returns, returnWithParameter, arginfo_stub_returns_returnwithparameter, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Returns, returnWithoutParameter, arginfo_stub_returns_returnwithoutparameter, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Returns, returnWithoutParameter, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/ext/stub/router.zep.c b/ext/stub/router.zep.c index 1a147ca97b..c2fc2f7f91 100644 --- a/ext/stub/router.zep.c +++ b/ext/stub/router.zep.c @@ -118,6 +118,15 @@ PHP_METHOD(Stub_Router, __construct) { ZVAL_UNDEF(&_5$$3); ZVAL_UNDEF(&_1$$3); ZVAL_UNDEF(&_4$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_BOOL(defaultRoutes) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &defaultRoutes_param); @@ -174,6 +183,14 @@ PHP_METHOD(Stub_Router, setDI) { zval *this_ptr = getThis(); ZVAL_UNDEF(&dependencyInjector_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT_OF_CLASS(dependencyInjector, stub_diinterface_ce) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &dependencyInjector); @@ -193,6 +210,7 @@ PHP_METHOD(Stub_Router, getDI) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_dependencyInjector"); } @@ -215,6 +233,7 @@ PHP_METHOD(Stub_Router, getRewriteUri) { ZVAL_UNDEF(&realUri); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); zephir_get_global(&_SERVER, SL("_SERVER")); zephir_get_global(&_GET, SL("_GET")); @@ -258,6 +277,14 @@ PHP_METHOD(Stub_Router, setUriSource) { zval *this_ptr = getThis(); ZVAL_UNDEF(&uriSource_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(uriSource) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &uriSource); @@ -280,6 +307,14 @@ PHP_METHOD(Stub_Router, removeExtraSlashes) { zval *this_ptr = getThis(); ZVAL_UNDEF(&remove_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(remove) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &remove); @@ -302,6 +337,14 @@ PHP_METHOD(Stub_Router, setDefaultNamespace) { zval *this_ptr = getThis(); ZVAL_UNDEF(&namespaceName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(namespaceName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &namespaceName); @@ -324,6 +367,14 @@ PHP_METHOD(Stub_Router, setDefaultModule) { zval *this_ptr = getThis(); ZVAL_UNDEF(&moduleName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(moduleName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &moduleName); @@ -346,6 +397,14 @@ PHP_METHOD(Stub_Router, setDefaultController) { zval *this_ptr = getThis(); ZVAL_UNDEF(&controllerName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(controllerName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &controllerName); @@ -368,6 +427,14 @@ PHP_METHOD(Stub_Router, setDefaultAction) { zval *this_ptr = getThis(); ZVAL_UNDEF(&actionName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(actionName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &actionName); @@ -403,6 +470,14 @@ PHP_METHOD(Stub_Router, setDefaults) { ZVAL_UNDEF(&controller); ZVAL_UNDEF(&action); ZVAL_UNDEF(¶ms); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(defaults) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &defaults); @@ -440,6 +515,14 @@ PHP_METHOD(Stub_Router, doRemoveExtraSlashes) { zval *this_ptr = getThis(); ZVAL_UNDEF(&route_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(route) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &route); @@ -530,6 +613,15 @@ PHP_METHOD(Stub_Router, handle) { ZVAL_UNDEF(&_29$$96); ZVAL_UNDEF(&_30$$96); ZVAL_UNDEF(&_31$$96); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(uri) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &uri); @@ -1020,6 +1112,17 @@ PHP_METHOD(Stub_Router, add) { ZVAL_UNDEF(&httpMethods_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&route); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 3) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + Z_PARAM_ZVAL(httpMethods) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &pattern, &paths, &httpMethods); @@ -1061,6 +1164,16 @@ PHP_METHOD(Stub_Router, addGet) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1097,6 +1210,16 @@ PHP_METHOD(Stub_Router, addPost) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1133,6 +1256,16 @@ PHP_METHOD(Stub_Router, addPut) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1169,6 +1302,16 @@ PHP_METHOD(Stub_Router, addPatch) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1205,6 +1348,16 @@ PHP_METHOD(Stub_Router, addDelete) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1241,6 +1394,16 @@ PHP_METHOD(Stub_Router, addOptions) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1277,6 +1440,16 @@ PHP_METHOD(Stub_Router, addHead) { ZVAL_UNDEF(&paths_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -1317,6 +1490,14 @@ PHP_METHOD(Stub_Router, mount) { ZVAL_UNDEF(&_1$$5); ZVAL_UNDEF(&_3$$8); ZVAL_UNDEF(&_4$$11); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(group) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &group); @@ -1420,6 +1601,14 @@ PHP_METHOD(Stub_Router, notFound) { zval *this_ptr = getThis(); ZVAL_UNDEF(&paths_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &paths); @@ -1447,6 +1636,7 @@ PHP_METHOD(Stub_Router, clear) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -1466,6 +1656,7 @@ PHP_METHOD(Stub_Router, getNamespaceName) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_namespace"); } @@ -1480,6 +1671,7 @@ PHP_METHOD(Stub_Router, getModuleName) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_module"); } @@ -1494,6 +1686,7 @@ PHP_METHOD(Stub_Router, getControllerName) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_controller"); } @@ -1508,6 +1701,7 @@ PHP_METHOD(Stub_Router, getActionName) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_action"); } @@ -1522,6 +1716,7 @@ PHP_METHOD(Stub_Router, getParams) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_params"); } @@ -1536,6 +1731,7 @@ PHP_METHOD(Stub_Router, getMatchedRoute) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_matchedRoute"); } @@ -1550,6 +1746,7 @@ PHP_METHOD(Stub_Router, getMatches) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_matches"); } @@ -1564,6 +1761,7 @@ PHP_METHOD(Stub_Router, wasMatched) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_wasMatched"); } @@ -1578,6 +1776,7 @@ PHP_METHOD(Stub_Router, getRoutes) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_routes"); } @@ -1601,6 +1800,14 @@ PHP_METHOD(Stub_Router, getRouteById) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(id) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &id); @@ -1664,6 +1871,14 @@ PHP_METHOD(Stub_Router, getRouteByName) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &name); diff --git a/ext/stub/router.zep.h b/ext/stub/router.zep.h index 77b26493d8..0cff207b84 100644 --- a/ext/stub/router.zep.h +++ b/ext/stub/router.zep.h @@ -40,17 +40,19 @@ PHP_METHOD(Stub_Router, getRouteById); PHP_METHOD(Stub_Router, getRouteByName); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router___construct, 0, 0, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, defaultRoutes, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, defaultRoutes) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_setdi, 0, 0, 1) ZEND_ARG_OBJ_INFO(0, dependencyInjector, Stub\\DiInterface, 0) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getdi, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getrewriteuri, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_seturisource, 0, 0, 1) ZEND_ARG_INFO(0, uriSource) ZEND_END_ARG_INFO() @@ -136,6 +138,36 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_notfound, 0, 0, 1) ZEND_ARG_INFO(0, paths) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_clear, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getnamespacename, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getmodulename, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getcontrollername, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getactionname, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getparams, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getmatchedroute, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getmatches, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_wasmatched, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getroutes, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_getroutebyid, 0, 0, 1) ZEND_ARG_INFO(0, id) ZEND_END_ARG_INFO() @@ -147,8 +179,16 @@ ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_router_method_entry) { PHP_ME(Stub_Router, __construct, arginfo_stub_router___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) PHP_ME(Stub_Router, setDI, arginfo_stub_router_setdi, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getDI, arginfo_stub_router_getdi, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getDI, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getRewriteUri, arginfo_stub_router_getrewriteuri, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getRewriteUri, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Router, setUriSource, arginfo_stub_router_seturisource, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router, removeExtraSlashes, arginfo_stub_router_removeextraslashes, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router, setDefaultNamespace, arginfo_stub_router_setdefaultnamespace, ZEND_ACC_PUBLIC) @@ -168,16 +208,56 @@ ZEPHIR_INIT_FUNCS(stub_router_method_entry) { PHP_ME(Stub_Router, addHead, arginfo_stub_router_addhead, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router, mount, arginfo_stub_router_mount, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router, notFound, arginfo_stub_router_notfound, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, clear, arginfo_stub_router_clear, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, clear, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getNamespaceName, arginfo_stub_router_getnamespacename, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getNamespaceName, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getModuleName, arginfo_stub_router_getmodulename, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getModuleName, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getControllerName, arginfo_stub_router_getcontrollername, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getControllerName, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getActionName, arginfo_stub_router_getactionname, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getActionName, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getParams, arginfo_stub_router_getparams, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getParams, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getMatchedRoute, arginfo_stub_router_getmatchedroute, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getMatchedRoute, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getMatches, arginfo_stub_router_getmatches, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getMatches, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, wasMatched, arginfo_stub_router_wasmatched, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, wasMatched, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router, getRoutes, arginfo_stub_router_getroutes, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router, getRoutes, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Router, getRouteById, arginfo_stub_router_getroutebyid, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router, getRouteByName, arginfo_stub_router_getroutebyname, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/router/exception.zep.c b/ext/stub/router/exception.zep.c index 01511feda0..b911b1f05f 100644 --- a/ext/stub/router/exception.zep.c +++ b/ext/stub/router/exception.zep.c @@ -21,7 +21,7 @@ */ ZEPHIR_INIT_CLASS(Stub_Router_Exception) { - ZEPHIR_REGISTER_CLASS_EX(Stub\\Router, Exception, stub, router_exception, zend_exception_get_default(TSRMLS_C), NULL, 0); + ZEPHIR_REGISTER_CLASS_EX(Stub\\Router, Exception, stub, router_exception, zend_ce_exception, NULL, 0); return SUCCESS; diff --git a/ext/stub/router/route.zep.c b/ext/stub/router/route.zep.c index c91809d651..936b3fb8df 100644 --- a/ext/stub/router/route.zep.c +++ b/ext/stub/router/route.zep.c @@ -71,6 +71,17 @@ PHP_METHOD(Stub_Router_Route, __construct) { ZVAL_UNDEF(&paths_sub); ZVAL_UNDEF(&httpMethods_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 3) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + Z_PARAM_ZVAL(httpMethods) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &pattern, &paths, &httpMethods); @@ -120,6 +131,14 @@ PHP_METHOD(Stub_Router_Route, compilePattern) { ZVAL_UNDEF(&_11$$9); ZVAL_UNDEF(&_12$$9); ZVAL_UNDEF(&_13$$9); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(pattern) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern); @@ -207,6 +226,14 @@ PHP_METHOD(Stub_Router_Route, via) { zval *this_ptr = getThis(); ZVAL_UNDEF(&httpMethods_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(httpMethods) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &httpMethods); @@ -253,6 +280,14 @@ PHP_METHOD(Stub_Router_Route, extractNamedParams) { ZVAL_UNDEF(&_23$$16); ZVAL_UNDEF(&_27$$19); ZVAL_UNDEF(&_28$$28); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(pattern) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern_param); @@ -483,6 +518,16 @@ PHP_METHOD(Stub_Router_Route, reConfigure) { ZVAL_UNDEF(&_1$$10); ZVAL_UNDEF(&_2$$19); ZVAL_UNDEF(&_3$$19); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(pattern) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(paths) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &pattern, &paths); @@ -602,6 +647,7 @@ PHP_METHOD(Stub_Router_Route, getName) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_name"); } @@ -624,6 +670,14 @@ PHP_METHOD(Stub_Router_Route, setName) { zval *this_ptr = getThis(); ZVAL_UNDEF(&name_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(name) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &name); @@ -648,6 +702,14 @@ PHP_METHOD(Stub_Router_Route, beforeMatch) { zval *this_ptr = getThis(); ZVAL_UNDEF(&callback_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(callback) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &callback); @@ -668,6 +730,7 @@ PHP_METHOD(Stub_Router_Route, getBeforeMatch) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_beforeMatch"); } @@ -682,6 +745,7 @@ PHP_METHOD(Stub_Router_Route, getRouteId) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_id"); } @@ -696,6 +760,7 @@ PHP_METHOD(Stub_Router_Route, getPattern) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_pattern"); } @@ -710,6 +775,7 @@ PHP_METHOD(Stub_Router_Route, getCompiledPattern) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_compiledPattern"); } @@ -724,6 +790,7 @@ PHP_METHOD(Stub_Router_Route, getPaths) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_paths"); } @@ -748,6 +815,7 @@ PHP_METHOD(Stub_Router_Route, getReversedPaths) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&reversed); @@ -808,6 +876,14 @@ PHP_METHOD(Stub_Router_Route, setHttpMethods) { zval *this_ptr = getThis(); ZVAL_UNDEF(&httpMethods_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(httpMethods) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &httpMethods); @@ -828,6 +904,7 @@ PHP_METHOD(Stub_Router_Route, getHttpMethods) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_methods"); } @@ -848,6 +925,14 @@ PHP_METHOD(Stub_Router_Route, setHostname) { zval *this_ptr = getThis(); ZVAL_UNDEF(&hostname_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(hostname) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &hostname); @@ -868,6 +953,7 @@ PHP_METHOD(Stub_Router_Route, getHostname) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_hostname"); } @@ -886,6 +972,15 @@ PHP_METHOD(Stub_Router_Route, convert) { ZVAL_UNDEF(&name_sub); ZVAL_UNDEF(&converter_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(name) + Z_PARAM_ZVAL(converter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &name, &converter); @@ -906,6 +1001,7 @@ PHP_METHOD(Stub_Router_Route, getConverters) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "_converters"); } diff --git a/ext/stub/router/route.zep.h b/ext/stub/router/route.zep.h index 35a2ddc3cb..a55bc0e79c 100644 --- a/ext/stub/router/route.zep.h +++ b/ext/stub/router/route.zep.h @@ -39,11 +39,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_via, 0, 0, 1) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_extractnamedparams, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, pattern) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_reconfigure, 0, 0, 1) @@ -51,6 +47,9 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_reconfigure, 0, 0, 1) ZEND_ARG_INFO(0, paths) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getname, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_setname, 0, 0, 1) ZEND_ARG_INFO(0, name) ZEND_END_ARG_INFO() @@ -59,39 +58,106 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_beforematch, 0, 0, 1) ZEND_ARG_INFO(0, callback) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getbeforematch, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getrouteid, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getpattern, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getcompiledpattern, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getpaths, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getreversedpaths, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_sethttpmethods, 0, 0, 1) ZEND_ARG_INFO(0, httpMethods) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_gethttpmethods, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_sethostname, 0, 0, 1) ZEND_ARG_INFO(0, hostname) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_gethostname, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_convert, 0, 0, 2) ZEND_ARG_INFO(0, name) ZEND_ARG_INFO(0, converter) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_router_route_getconverters, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_router_route_method_entry) { PHP_ME(Stub_Router_Route, __construct, arginfo_stub_router_route___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) PHP_ME(Stub_Router_Route, compilePattern, arginfo_stub_router_route_compilepattern, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router_Route, via, arginfo_stub_router_route_via, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router_Route, extractNamedParams, arginfo_stub_router_route_extractnamedparams, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router_Route, reConfigure, arginfo_stub_router_route_reconfigure, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getName, arginfo_stub_router_route_getname, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getName, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Router_Route, setName, arginfo_stub_router_route_setname, ZEND_ACC_PUBLIC) PHP_ME(Stub_Router_Route, beforeMatch, arginfo_stub_router_route_beforematch, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getBeforeMatch, arginfo_stub_router_route_getbeforematch, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getBeforeMatch, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getRouteId, arginfo_stub_router_route_getrouteid, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getRouteId, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getPattern, arginfo_stub_router_route_getpattern, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getPattern, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getCompiledPattern, arginfo_stub_router_route_getcompiledpattern, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getCompiledPattern, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getPaths, arginfo_stub_router_route_getpaths, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getPaths, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getReversedPaths, arginfo_stub_router_route_getreversedpaths, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getReversedPaths, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Router_Route, setHttpMethods, arginfo_stub_router_route_sethttpmethods, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getHttpMethods, arginfo_stub_router_route_gethttpmethods, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getHttpMethods, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Router_Route, setHostname, arginfo_stub_router_route_sethostname, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getHostname, arginfo_stub_router_route_gethostname, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getHostname, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Router_Route, convert, arginfo_stub_router_route_convert, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Router_Route, getConverters, arginfo_stub_router_route_getconverters, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Router_Route, getConverters, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/scall.zep.c b/ext/stub/scall.zep.c index 88cd5d73fc..2c5357c4dc 100644 --- a/ext/stub/scall.zep.c +++ b/ext/stub/scall.zep.c @@ -34,6 +34,7 @@ PHP_METHOD(Stub_Scall, testMethod1) { zval *this_ptr = getThis(); + RETURN_STRING("hello public"); } @@ -43,6 +44,7 @@ PHP_METHOD(Stub_Scall, testMethod2) { zval *this_ptr = getThis(); + RETURN_STRING("hello protected"); } @@ -52,6 +54,7 @@ PHP_METHOD(Stub_Scall, testMethod3) { zval *this_ptr = getThis(); + RETURN_STRING("hello private"); } @@ -63,6 +66,15 @@ PHP_METHOD(Stub_Scall, testMethod4) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -80,6 +92,15 @@ PHP_METHOD(Stub_Scall, testMethod5) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -97,6 +118,15 @@ PHP_METHOD(Stub_Scall, testMethod6) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a, &b); @@ -112,6 +142,7 @@ PHP_METHOD(Stub_Scall, testMethod7) { zval *this_ptr = getThis(); + object_init(return_value); return; @@ -124,6 +155,7 @@ PHP_METHOD(Stub_Scall, testCall1) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod1", NULL, 0); @@ -139,6 +171,7 @@ PHP_METHOD(Stub_Scall, testCall2) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod2", NULL, 0); @@ -155,6 +188,7 @@ PHP_METHOD(Stub_Scall, testCall3) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod3", &_0, 84); @@ -172,6 +206,15 @@ PHP_METHOD(Stub_Scall, testCall4) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -193,6 +236,15 @@ PHP_METHOD(Stub_Scall, testCall5) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -215,6 +267,15 @@ PHP_METHOD(Stub_Scall, testCall6) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -234,6 +295,7 @@ PHP_METHOD(Stub_Scall, testCall7) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod1", NULL, 0); @@ -249,6 +311,7 @@ PHP_METHOD(Stub_Scall, testCall8) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod2", NULL, 0); @@ -265,6 +328,7 @@ PHP_METHOD(Stub_Scall, testCall9) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod3", &_0, 84); @@ -282,6 +346,15 @@ PHP_METHOD(Stub_Scall, testCall10) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -303,6 +376,15 @@ PHP_METHOD(Stub_Scall, testCall11) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -325,6 +407,15 @@ PHP_METHOD(Stub_Scall, testCall12) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -345,6 +436,7 @@ PHP_METHOD(Stub_Scall, testCall13) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_PARENT(stub_scall_ce, getThis(), "testmethod1", &_0, 0); @@ -361,6 +453,7 @@ PHP_METHOD(Stub_Scall, testCall14) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_PARENT(stub_scall_ce, getThis(), "testmethod2", &_0, 0); @@ -376,6 +469,7 @@ PHP_METHOD(Stub_Scall, testCall15) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_SELF("testmethod7", NULL, 0); @@ -390,6 +484,15 @@ PHP_METHOD(Stub_Scall, testMethod16) { long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); @@ -413,6 +516,15 @@ PHP_METHOD(Stub_Scall, testCall17) { ZVAL_UNDEF(&p_sub); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(k) + Z_PARAM_ZVAL(p) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &k_param, &p); @@ -456,6 +568,15 @@ PHP_METHOD(Stub_Scall, testCall18) { ZVAL_UNDEF(&p_sub); ZVAL_UNDEF(&_3$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(k) + Z_PARAM_ZVAL(p) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &k_param, &p); @@ -492,6 +613,7 @@ PHP_METHOD(Stub_Scall, testMethodStatic) { zval *this_ptr = getThis(); + RETURN_STRING("hello Scall"); } @@ -507,6 +629,7 @@ PHP_METHOD(Stub_Scall, interpolatedStaticReturn) { ZVAL_UNDEF(&className); ZVAL_UNDEF(&methodName); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&className); @@ -533,6 +656,7 @@ PHP_METHOD(Stub_Scall, interpolatedStaticEcho) { ZVAL_UNDEF(&methodName); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&className); diff --git a/ext/stub/scall.zep.h b/ext/stub/scall.zep.h index 23460eaf02..e9a61d09bc 100644 --- a/ext/stub/scall.zep.h +++ b/ext/stub/scall.zep.h @@ -32,25 +32,13 @@ PHP_METHOD(Stub_Scall, testMethodStatic); PHP_METHOD(Stub_Scall, interpolatedStaticReturn); PHP_METHOD(Stub_Scall, interpolatedStaticEcho); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod1, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod1, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod2, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod2, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod3, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod3, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testmethod4, 0, 0, 2) @@ -68,11 +56,16 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testmethod6, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_stub_scall_testmethod7, 0, 0, stdClass, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod7, 0, 0, IS_OBJECT, "stdClass", 0) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall3, 0, 0, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall4, 0, 0, 2) @@ -90,6 +83,15 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall6, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall7, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall9, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall10, 0, 0, 2) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) @@ -105,65 +107,38 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall12, 0, 0, 2) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall13, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall14, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall15, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod16, 0, 2, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethod16, 0, 2, IS_LONG, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall17, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, k, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, k) -#endif ZEND_ARG_INFO(0, p) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scall_testcall18, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, k, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, k) -#endif ZEND_ARG_INFO(0, p) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethodstatic, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_testmethodstatic, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_interpolatedstaticreturn, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_interpolatedstaticreturn, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70100 -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_interpolatedstaticecho, 0, 0, IS_VOID, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scall_interpolatedstaticecho, 0, 0, IS_VOID, NULL, 0) -#endif ZEND_END_ARG_INFO() -#else -#define arginfo_stub_scall_interpolatedstaticecho NULL -#endif ZEPHIR_INIT_FUNCS(stub_scall_method_entry) { PHP_ME(Stub_Scall, testMethod1, arginfo_stub_scall_testmethod1, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) @@ -173,21 +148,57 @@ ZEPHIR_INIT_FUNCS(stub_scall_method_entry) { PHP_ME(Stub_Scall, testMethod5, arginfo_stub_scall_testmethod5, ZEND_ACC_STATIC|ZEND_ACC_PROTECTED) PHP_ME(Stub_Scall, testMethod6, arginfo_stub_scall_testmethod6, ZEND_ACC_STATIC|ZEND_ACC_PRIVATE) PHP_ME(Stub_Scall, testMethod7, arginfo_stub_scall_testmethod7, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall1, arginfo_stub_scall_testcall1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall2, arginfo_stub_scall_testcall2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall3, arginfo_stub_scall_testcall3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Scall, testCall4, arginfo_stub_scall_testcall4, ZEND_ACC_PUBLIC) PHP_ME(Stub_Scall, testCall5, arginfo_stub_scall_testcall5, ZEND_ACC_PUBLIC) PHP_ME(Stub_Scall, testCall6, arginfo_stub_scall_testcall6, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall7, arginfo_stub_scall_testcall7, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall7, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall8, arginfo_stub_scall_testcall8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall9, arginfo_stub_scall_testcall9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall9, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Scall, testCall10, arginfo_stub_scall_testcall10, ZEND_ACC_PUBLIC) PHP_ME(Stub_Scall, testCall11, arginfo_stub_scall_testcall11, ZEND_ACC_PUBLIC) PHP_ME(Stub_Scall, testCall12, arginfo_stub_scall_testcall12, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall13, arginfo_stub_scall_testcall13, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall13, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall14, arginfo_stub_scall_testcall14, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall14, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scall, testCall15, arginfo_stub_scall_testcall15, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Scall, testCall15, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Scall, testMethod16, arginfo_stub_scall_testmethod16, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_ME(Stub_Scall, testCall17, arginfo_stub_scall_testcall17, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_ME(Stub_Scall, testCall18, arginfo_stub_scall_testcall18, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) diff --git a/ext/stub/scalldynamic.zep.c b/ext/stub/scalldynamic.zep.c index 09dc5c255b..5e34b1180a 100644 --- a/ext/stub/scalldynamic.zep.c +++ b/ext/stub/scalldynamic.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_ScallDynamic, testMethod1) { zval *this_ptr = getThis(); + RETURN_STRING("hello public"); } @@ -42,6 +43,7 @@ PHP_METHOD(Stub_ScallDynamic, testMethod2) { zval *this_ptr = getThis(); + RETURN_STRING("hello protected"); } @@ -51,6 +53,7 @@ PHP_METHOD(Stub_ScallDynamic, testMethod3) { zval *this_ptr = getThis(); + RETURN_STRING("hello private"); } @@ -62,6 +65,14 @@ PHP_METHOD(Stub_ScallDynamic, selfDynamicCall1) { zval *this_ptr = getThis(); ZVAL_UNDEF(&methodName_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(methodName) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &methodName); diff --git a/ext/stub/scalldynamic.zep.h b/ext/stub/scalldynamic.zep.h index 0ae9d47dbe..6917108826 100644 --- a/ext/stub/scalldynamic.zep.h +++ b/ext/stub/scalldynamic.zep.h @@ -8,32 +8,16 @@ PHP_METHOD(Stub_ScallDynamic, testMethod2); PHP_METHOD(Stub_ScallDynamic, testMethod3); PHP_METHOD(Stub_ScallDynamic, selfDynamicCall1); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_testmethod1, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_testmethod1, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_testmethod2, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_testmethod2, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_testmethod3, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_testmethod3, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_selfdynamiccall1, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalldynamic_selfdynamiccall1, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, methodName) ZEND_END_ARG_INFO() diff --git a/ext/stub/scallexternal.zep.c b/ext/stub/scallexternal.zep.c index a439ae1dbb..4d3084b0bc 100644 --- a/ext/stub/scallexternal.zep.c +++ b/ext/stub/scallexternal.zep.c @@ -39,6 +39,7 @@ PHP_METHOD(Stub_ScallExternal, testCall1) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_CE_STATIC(stub_scall_ce, "testmethod1", &_0, 0); @@ -57,6 +58,15 @@ PHP_METHOD(Stub_ScallExternal, testCall2) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&b_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &b); @@ -75,6 +85,15 @@ PHP_METHOD(Stub_ScallExternal, testMethod3) { long a, b; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &a_param, &b_param); diff --git a/ext/stub/scallexternal.zep.h b/ext/stub/scallexternal.zep.h index a65bdaf9c1..ca8217a5af 100644 --- a/ext/stub/scallexternal.zep.h +++ b/ext/stub/scallexternal.zep.h @@ -7,26 +7,25 @@ PHP_METHOD(Stub_ScallExternal, testCall1); PHP_METHOD(Stub_ScallExternal, testCall2); PHP_METHOD(Stub_ScallExternal, testMethod3); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scallexternal_testcall1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scallexternal_testcall2, 0, 0, 2) ZEND_ARG_INFO(0, a) ZEND_ARG_INFO(0, b) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scallexternal_testmethod3, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, a) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_scallexternal_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ScallExternal, testCall1, arginfo_stub_scallexternal_testcall1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_ScallExternal, testCall1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_ScallExternal, testCall2, arginfo_stub_scallexternal_testcall2, ZEND_ACC_PUBLIC) PHP_ME(Stub_ScallExternal, testMethod3, arginfo_stub_scallexternal_testmethod3, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) PHP_FE_END diff --git a/ext/stub/scalllateconstruct.zep.c b/ext/stub/scalllateconstruct.zep.c new file mode 100644 index 0000000000..9ac3fa5411 --- /dev/null +++ b/ext/stub/scalllateconstruct.zep.c @@ -0,0 +1,87 @@ + +#ifdef HAVE_CONFIG_H +#include "../ext_config.h" +#endif + +#include +#include "../php_ext.h" +#include "../ext.h" + +#include +#include +#include + +#include "kernel/main.h" +#include "kernel/fcall.h" +#include "kernel/object.h" +#include "kernel/memory.h" + + +/** + * Static Function call via constructor and late binding + */ +ZEPHIR_INIT_CLASS(Stub_ScallLateConstruct) { + + ZEPHIR_REGISTER_CLASS(Stub, ScallLateConstruct, stub, scalllateconstruct, stub_scalllateconstruct_method_entry, 0); + + zend_declare_property_null(stub_scalllateconstruct_ce, SL("protectedVar"), ZEND_ACC_PROTECTED); + + return SUCCESS; + +} + +PHP_METHOD(Stub_ScallLateConstruct, __construct) { + + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + + + ZEPHIR_MM_GROW(); + + ZEPHIR_CALL_METHOD(NULL, this_ptr, "testpublicinit", NULL, 0); + zephir_check_call_status(); + ZEPHIR_MM_RESTORE(); + +} + +PHP_METHOD(Stub_ScallLateConstruct, testStaticInit) { + + zval *this_ptr = getThis(); + + + + RETURN_STRING("hello public"); + +} + +PHP_METHOD(Stub_ScallLateConstruct, testPublicInit) { + + zval _0; + zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; + zend_long ZEPHIR_LAST_CALL_STATUS; + zval *this_ptr = getThis(); + + ZVAL_UNDEF(&_0); + + + ZEPHIR_MM_GROW(); + + ZEPHIR_CALL_SELF(&_0, "teststaticinit", NULL, 0); + zephir_check_call_status(); + zephir_update_property_zval(this_ptr, ZEND_STRL("protectedVar"), &_0); + ZEPHIR_MM_RESTORE(); + +} + +PHP_METHOD(Stub_ScallLateConstruct, varValue) { + + zval *this_ptr = getThis(); + + + + RETURN_MEMBER(getThis(), "protectedVar"); + +} + diff --git a/ext/stub/scalllateconstruct.zep.h b/ext/stub/scalllateconstruct.zep.h new file mode 100644 index 0000000000..4c8a480459 --- /dev/null +++ b/ext/stub/scalllateconstruct.zep.h @@ -0,0 +1,37 @@ + +extern zend_class_entry *stub_scalllateconstruct_ce; + +ZEPHIR_INIT_CLASS(Stub_ScallLateConstruct); + +PHP_METHOD(Stub_ScallLateConstruct, __construct); +PHP_METHOD(Stub_ScallLateConstruct, testStaticInit); +PHP_METHOD(Stub_ScallLateConstruct, testPublicInit); +PHP_METHOD(Stub_ScallLateConstruct, varValue); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scalllateconstruct___construct, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalllateconstruct_teststaticinit, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scalllateconstruct_testpublicinit, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scalllateconstruct_varvalue, 0, 0, IS_STRING, 0) +ZEND_END_ARG_INFO() + +ZEPHIR_INIT_FUNCS(stub_scalllateconstruct_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ScallLateConstruct, __construct, arginfo_stub_scalllateconstruct___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else + PHP_ME(Stub_ScallLateConstruct, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif + PHP_ME(Stub_ScallLateConstruct, testStaticInit, arginfo_stub_scalllateconstruct_teststaticinit, ZEND_ACC_STATIC|ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_ScallLateConstruct, testPublicInit, arginfo_stub_scalllateconstruct_testpublicinit, ZEND_ACC_PUBLIC) +#else + PHP_ME(Stub_ScallLateConstruct, testPublicInit, NULL, ZEND_ACC_PUBLIC) +#endif + PHP_ME(Stub_ScallLateConstruct, varValue, arginfo_stub_scalllateconstruct_varvalue, ZEND_ACC_PUBLIC) + PHP_FE_END +}; diff --git a/ext/stub/scallparent.zep.c b/ext/stub/scallparent.zep.c index b5177bc091..2fc172091a 100644 --- a/ext/stub/scallparent.zep.c +++ b/ext/stub/scallparent.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_ScallParent, testMethod1) { zval *this_ptr = getThis(); + RETURN_STRING("hello parent public"); } @@ -42,6 +43,7 @@ PHP_METHOD(Stub_ScallParent, testMethod2) { zval *this_ptr = getThis(); + RETURN_STRING("hello parent protected"); } @@ -53,6 +55,7 @@ PHP_METHOD(Stub_ScallParent, testCallStatic) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); ZEPHIR_RETURN_CALL_STATIC("testmethodstatic", NULL, 0); @@ -66,6 +69,7 @@ PHP_METHOD(Stub_ScallParent, testMethodStatic) { zval *this_ptr = getThis(); + RETURN_STRING("hello ScallParent"); } diff --git a/ext/stub/scallparent.zep.h b/ext/stub/scallparent.zep.h index 719c55249f..c98834adc4 100644 --- a/ext/stub/scallparent.zep.h +++ b/ext/stub/scallparent.zep.h @@ -8,32 +8,16 @@ PHP_METHOD(Stub_ScallParent, testMethod2); PHP_METHOD(Stub_ScallParent, testCallStatic); PHP_METHOD(Stub_ScallParent, testMethodStatic); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testmethod1, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testmethod1, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testmethod2, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testmethod2, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testcallstatic, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testcallstatic, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testmethodstatic, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_scallparent_testmethodstatic, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_scallparent_method_entry) { diff --git a/ext/stub/scope.zep.c b/ext/stub/scope.zep.c index e3ea7977db..fbf95a7cbf 100644 --- a/ext/stub/scope.zep.c +++ b/ext/stub/scope.zep.c @@ -33,6 +33,7 @@ PHP_METHOD(Stub_Scope, getStr) { zval *this_ptr = getThis(); + RETURN_STRING("internal_string"); } @@ -45,6 +46,14 @@ PHP_METHOD(Stub_Scope, getDyStr) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(g) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &g_param); @@ -71,6 +80,7 @@ PHP_METHOD(Stub_Scope, test1) { ZVAL_UNDEF(&k); ZVAL_UNDEF(&k$$3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&ret); @@ -102,6 +112,7 @@ PHP_METHOD(Stub_Scope, test2) { ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$3); + ZEPHIR_MM_GROW(); p = 15; @@ -152,6 +163,7 @@ PHP_METHOD(Stub_Scope, test3) { ZVAL_UNDEF(&c); ZVAL_UNDEF(&str$$3); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&k); diff --git a/ext/stub/scope.zep.h b/ext/stub/scope.zep.h index 8e57edbfaa..5b4b68e810 100644 --- a/ext/stub/scope.zep.h +++ b/ext/stub/scope.zep.h @@ -9,19 +9,43 @@ PHP_METHOD(Stub_Scope, test1); PHP_METHOD(Stub_Scope, test2); PHP_METHOD(Stub_Scope, test3); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scope_getstr, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scope_getdystr, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, g, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, g) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scope_test1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scope_test2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_scope_test3, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_scope_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scope, getStr, arginfo_stub_scope_getstr, ZEND_ACC_PRIVATE|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Scope, getStr, NULL, ZEND_ACC_PRIVATE|ZEND_ACC_STATIC) +#endif PHP_ME(Stub_Scope, getDyStr, arginfo_stub_scope_getdystr, ZEND_ACC_PRIVATE|ZEND_ACC_STATIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scope, test1, arginfo_stub_scope_test1, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Scope, test1, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scope, test2, arginfo_stub_scope_test2, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Scope, test2, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Scope, test3, arginfo_stub_scope_test3, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(Stub_Scope, test3, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/ext/stub/sort.zep.c b/ext/stub/sort.zep.c index 6b57bc847d..4263503dd1 100644 --- a/ext/stub/sort.zep.c +++ b/ext/stub/sort.zep.c @@ -48,6 +48,14 @@ PHP_METHOD(Stub_Sort, quick) { ZVAL_UNDEF(&_4$$4); ZVAL_UNDEF(&_5$$5); ZVAL_UNDEF(&_6$$6); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(arr) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &arr_param); diff --git a/ext/stub/spectralnorm.zep.c b/ext/stub/spectralnorm.zep.c index 4f87fabd47..0cd92ef46b 100644 --- a/ext/stub/spectralnorm.zep.c +++ b/ext/stub/spectralnorm.zep.c @@ -43,6 +43,15 @@ PHP_METHOD(Stub_SpectralNorm, Ax) { ZVAL_UNDEF(&j_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(i) + Z_PARAM_ZVAL(j) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &i, &j); @@ -75,6 +84,16 @@ PHP_METHOD(Stub_SpectralNorm, Au) { ZVAL_UNDEF(&_8$$4); ZVAL_UNDEF(&_10$$4); ZVAL_UNDEF(&_12$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_LONG(n) + Z_PARAM_OBJECT_OF_CLASS(u, spl_ce_SplFixedArray) + Z_PARAM_OBJECT_OF_CLASS(v, spl_ce_SplFixedArray) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &n_param, &u, &v); @@ -151,6 +170,16 @@ PHP_METHOD(Stub_SpectralNorm, Atu) { ZVAL_UNDEF(&_8$$4); ZVAL_UNDEF(&_10$$4); ZVAL_UNDEF(&_12$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_LONG(n) + Z_PARAM_OBJECT_OF_CLASS(u, spl_ce_SplFixedArray) + Z_PARAM_OBJECT_OF_CLASS(v, spl_ce_SplFixedArray) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &n_param, &u, &v); @@ -220,6 +249,17 @@ PHP_METHOD(Stub_SpectralNorm, AtAu) { ZVAL_UNDEF(&u_sub); ZVAL_UNDEF(&v_sub); ZVAL_UNDEF(&w_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(4, 4) + Z_PARAM_ZVAL(n) + Z_PARAM_ZVAL(u) + Z_PARAM_ZVAL(v) + Z_PARAM_ZVAL(w) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 4, 0, &n, &u, &v, &w); @@ -255,6 +295,14 @@ PHP_METHOD(Stub_SpectralNorm, process) { ZVAL_UNDEF(&_18$$5); ZVAL_UNDEF(&_19$$5); ZVAL_UNDEF(&_20$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(n) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); diff --git a/ext/stub/spectralnorm.zep.h b/ext/stub/spectralnorm.zep.h index 20ac2135c7..fbeb754751 100644 --- a/ext/stub/spectralnorm.zep.h +++ b/ext/stub/spectralnorm.zep.h @@ -15,21 +15,13 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spectralnorm_ax, 0, 0, 2) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spectralnorm_au, 0, 0, 3) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_ARG_OBJ_INFO(0, u, SplFixedArray, 0) ZEND_ARG_OBJ_INFO(0, v, SplFixedArray, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spectralnorm_atu, 0, 0, 3) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_ARG_OBJ_INFO(0, u, SplFixedArray, 0) ZEND_ARG_OBJ_INFO(0, v, SplFixedArray, 0) ZEND_END_ARG_INFO() @@ -42,11 +34,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spectralnorm_atau, 0, 0, 4) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spectralnorm_process, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, n, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, n) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_spectralnorm_method_entry) { diff --git a/ext/stub/spropertyaccess.zep.c b/ext/stub/spropertyaccess.zep.c index e4f4723a11..82677dda79 100644 --- a/ext/stub/spropertyaccess.zep.c +++ b/ext/stub/spropertyaccess.zep.c @@ -59,6 +59,7 @@ PHP_METHOD(Stub_SPropertyAccess, __construct) { ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_4); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); @@ -89,6 +90,15 @@ PHP_METHOD(Stub_SPropertyAccess, testArgumentWithUnderscore) { ZVAL_UNDEF(&delimiter_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(delimiter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &delimiter); @@ -119,6 +129,15 @@ PHP_METHOD(Stub_SPropertyAccess, testArgument) { ZVAL_UNDEF(&delimiter_sub); ZVAL_NULL(&__$null); ZVAL_UNDEF(&_0$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(delimiter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &delimiter); @@ -154,6 +173,7 @@ PHP_METHOD(Stub_SPropertyAccess, mutateStringVarInsideCycle) { ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$3); + ZEPHIR_MM_GROW(); _2 = 3; @@ -185,7 +205,7 @@ PHP_METHOD(Stub_SPropertyAccess, mutateStringVarInsideCycle) { } /** - * @see https://github.com/phalcon/zephir/issues/1494 + * @see https://github.com/zephir-lang/zephir/issues/1494 */ PHP_METHOD(Stub_SPropertyAccess, mutateIntVarInsideCycle) { @@ -198,6 +218,7 @@ PHP_METHOD(Stub_SPropertyAccess, mutateIntVarInsideCycle) { ZVAL_UNDEF(&_3$$3); + _2 = 3; _1 = 0; _0 = 0; @@ -224,7 +245,7 @@ PHP_METHOD(Stub_SPropertyAccess, mutateIntVarInsideCycle) { } /** - * @see https://github.com/phalcon/zephir/issues/1494 + * @see https://github.com/zephir-lang/zephir/issues/1494 */ PHP_METHOD(Stub_SPropertyAccess, mutateDoubleVarInsideCycle) { @@ -238,6 +259,7 @@ PHP_METHOD(Stub_SPropertyAccess, mutateDoubleVarInsideCycle) { ZVAL_UNDEF(&_3$$3); + _2 = 3; _1 = 0; _0 = 0; @@ -277,6 +299,7 @@ PHP_METHOD(Stub_SPropertyAccess, mutateArrayVarInsideCycle) { ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_4$$3); + ZEPHIR_MM_GROW(); _2 = 3; @@ -308,12 +331,13 @@ PHP_METHOD(Stub_SPropertyAccess, mutateArrayVarInsideCycle) { } -void zephir_init_static_properties_Stub_SPropertyAccess(TSRMLS_D) { +void zephir_init_static_properties_Stub_SPropertyAccess() { zval _0; zephir_method_globals *ZEPHIR_METHOD_GLOBALS_PTR = NULL; ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); diff --git a/ext/stub/spropertyaccess.zep.h b/ext/stub/spropertyaccess.zep.h index f5b4088d89..798cd7f4df 100644 --- a/ext/stub/spropertyaccess.zep.h +++ b/ext/stub/spropertyaccess.zep.h @@ -10,7 +10,10 @@ PHP_METHOD(Stub_SPropertyAccess, mutateStringVarInsideCycle); PHP_METHOD(Stub_SPropertyAccess, mutateIntVarInsideCycle); PHP_METHOD(Stub_SPropertyAccess, mutateDoubleVarInsideCycle); PHP_METHOD(Stub_SPropertyAccess, mutateArrayVarInsideCycle); -void zephir_init_static_properties_Stub_SPropertyAccess(TSRMLS_D); +void zephir_init_static_properties_Stub_SPropertyAccess(); + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spropertyaccess___construct, 0, 0, 0) +ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spropertyaccess_testargumentwithunderscore, 0, 0, 0) ZEND_ARG_INFO(0, delimiter) @@ -20,36 +23,27 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spropertyaccess_testargument, 0, 0, 0) ZEND_ARG_INFO(0, delimiter) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutatestringvarinsidecycle, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutatestringvarinsidecycle, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutateintvarinsidecycle, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutateintvarinsidecycle, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutatedoublevarinsidecycle, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutatedoublevarinsidecycle, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutatearrayvarinsidecycle, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_spropertyaccess_mutatearrayvarinsidecycle, 0, 0, IS_ARRAY, NULL, 0) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_spropertyaccess_zephir_init_static_properties_stub_spropertyaccess, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_spropertyaccess_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_SPropertyAccess, __construct, arginfo_stub_spropertyaccess___construct, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#else PHP_ME(Stub_SPropertyAccess, __construct, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_CTOR) +#endif PHP_ME(Stub_SPropertyAccess, testArgumentWithUnderscore, arginfo_stub_spropertyaccess_testargumentwithunderscore, ZEND_ACC_PUBLIC) PHP_ME(Stub_SPropertyAccess, testArgument, arginfo_stub_spropertyaccess_testargument, ZEND_ACC_PUBLIC) PHP_ME(Stub_SPropertyAccess, mutateStringVarInsideCycle, arginfo_stub_spropertyaccess_mutatestringvarinsidecycle, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) diff --git a/ext/stub/statements.zep.c b/ext/stub/statements.zep.c index 8cb20cec73..2336044f2a 100644 --- a/ext/stub/statements.zep.c +++ b/ext/stub/statements.zep.c @@ -31,7 +31,7 @@ ZEPHIR_INIT_CLASS(Stub_Statements) { zend_declare_property_string(stub_statements_ce, SL("tmp2"), "test string", ZEND_ACC_PUBLIC); /** - * @issue https://github.com/phalcon/zephir/issues/544 + * @issue https://github.com/zephir-lang/zephir/issues/544 */ zend_declare_property_long(stub_statements_ce, SL("totalSteps"), 100, ZEND_ACC_PRIVATE); @@ -66,6 +66,7 @@ PHP_METHOD(Stub_Statements, testPropertyAcccessAvoidTmpReuse) { ZVAL_UNDEF(&_6); ZVAL_UNDEF(&_7); + ZEPHIR_MM_GROW(); zephir_read_property(&_0, this_ptr, ZEND_STRL("tmp2"), PH_NOISY_CC | PH_READONLY); @@ -94,6 +95,14 @@ PHP_METHOD(Stub_Statements, testElseIf) { zend_long num; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -118,6 +127,14 @@ PHP_METHOD(Stub_Statements, testElseIf1) { zend_long num, total; zval *this_ptr = getThis(); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(num) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &num_param); @@ -142,6 +159,15 @@ PHP_METHOD(Stub_Statements, testElseIf2) { zval *this_ptr = getThis(); ZVAL_UNDEF(&total_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_LONG(num) + Z_PARAM_ZVAL(total) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &num_param, &total); @@ -181,6 +207,14 @@ PHP_METHOD(Stub_Statements, test544Issue) { ZVAL_UNDEF(&_13$$4); ZVAL_UNDEF(&_14$$5); ZVAL_UNDEF(&_15$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(step) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &step_param); @@ -248,6 +282,14 @@ PHP_METHOD(Stub_Statements, test544IssueWithVariable) { ZVAL_UNDEF(&_11$$4); ZVAL_UNDEF(&_12$$5); ZVAL_UNDEF(&_13$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_LONG(step) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &step_param); diff --git a/ext/stub/statements.zep.h b/ext/stub/statements.zep.h index 4d04291d24..fb266864d1 100644 --- a/ext/stub/statements.zep.h +++ b/ext/stub/statements.zep.h @@ -10,49 +10,36 @@ PHP_METHOD(Stub_Statements, testElseIf2); PHP_METHOD(Stub_Statements, test544Issue); PHP_METHOD(Stub_Statements, test544IssueWithVariable); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_statements_testpropertyacccessavoidtmpreuse, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_statements_testelseif, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_statements_testelseif1, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_statements_testelseif2, 0, 0, 2) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, num, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, num) -#endif ZEND_ARG_INFO(0, total) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_statements_test544issue, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, step, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, step) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_statements_test544issuewithvariable, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, step, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, step) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_statements_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Statements, testPropertyAcccessAvoidTmpReuse, arginfo_stub_statements_testpropertyacccessavoidtmpreuse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Statements, testPropertyAcccessAvoidTmpReuse, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Statements, testElseIf, arginfo_stub_statements_testelseif, ZEND_ACC_PUBLIC) PHP_ME(Stub_Statements, testElseIf1, arginfo_stub_statements_testelseif1, ZEND_ACC_PUBLIC) PHP_ME(Stub_Statements, testElseIf2, arginfo_stub_statements_testelseif2, ZEND_ACC_PUBLIC) diff --git a/ext/stub/strings.zep.c b/ext/stub/strings.zep.c index d62ac1c451..41125e2456 100644 --- a/ext/stub/strings.zep.c +++ b/ext/stub/strings.zep.c @@ -38,6 +38,16 @@ PHP_METHOD(Stub_Strings, camelize) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&delimiter_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(str) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(delimiter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &str_param, &delimiter); @@ -64,6 +74,16 @@ PHP_METHOD(Stub_Strings, uncamelize) { ZVAL_UNDEF(&str); ZVAL_UNDEF(&delimiter_sub); ZVAL_NULL(&__$null); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(str) + Z_PARAM_OPTIONAL + Z_PARAM_ZVAL(delimiter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &str_param, &delimiter); @@ -86,6 +106,14 @@ PHP_METHOD(Stub_Strings, testTrim) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -102,6 +130,14 @@ PHP_METHOD(Stub_Strings, testRtrim) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -118,6 +154,14 @@ PHP_METHOD(Stub_Strings, testLtrim) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -135,6 +179,15 @@ PHP_METHOD(Stub_Strings, testTrim2Params) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&charlist_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str) + Z_PARAM_ZVAL(charlist) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str, &charlist); @@ -152,6 +205,15 @@ PHP_METHOD(Stub_Strings, testRtrim2Params) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&charlist_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str) + Z_PARAM_ZVAL(charlist) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str, &charlist); @@ -169,6 +231,15 @@ PHP_METHOD(Stub_Strings, testLtrim2Params) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&charlist_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str) + Z_PARAM_ZVAL(charlist) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str, &charlist); @@ -186,6 +257,15 @@ PHP_METHOD(Stub_Strings, testImplode) { ZVAL_UNDEF(&glue_sub); ZVAL_UNDEF(&pieces_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(glue) + Z_PARAM_ZVAL(pieces) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &glue, &pieces); @@ -203,6 +283,15 @@ PHP_METHOD(Stub_Strings, testStrpos) { ZVAL_UNDEF(&haystack_sub); ZVAL_UNDEF(&needle_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(haystack) + Z_PARAM_ZVAL(needle) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &haystack, &needle); @@ -222,6 +311,16 @@ PHP_METHOD(Stub_Strings, testStrposOffset) { ZVAL_UNDEF(&haystack_sub); ZVAL_UNDEF(&needle_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(haystack) + Z_PARAM_ZVAL(needle) + Z_PARAM_LONG(offset) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(3, 0, &haystack, &needle, &offset_param); @@ -241,6 +340,15 @@ PHP_METHOD(Stub_Strings, testExplode) { ZVAL_UNDEF(&delimiter_sub); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(delimiter) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &delimiter, &str); @@ -257,6 +365,14 @@ PHP_METHOD(Stub_Strings, testExplodeStr) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -275,6 +391,15 @@ PHP_METHOD(Stub_Strings, testExplodeLimit) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str) + Z_PARAM_LONG(limit) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str, &limit_param); @@ -296,6 +421,16 @@ PHP_METHOD(Stub_Strings, testSubstr) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(str) + Z_PARAM_LONG(from) + Z_PARAM_LONG(len) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(3, 0, &str, &from_param, &len_param); @@ -318,6 +453,15 @@ PHP_METHOD(Stub_Strings, testSubstr2) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str) + Z_PARAM_LONG(from) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str, &from_param); @@ -337,6 +481,14 @@ PHP_METHOD(Stub_Strings, testSubstr3) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -356,6 +508,14 @@ PHP_METHOD(Stub_Strings, testSubstr4) { ZVAL_UNDEF(&str_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -374,6 +534,14 @@ PHP_METHOD(Stub_Strings, testAddslashes) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -390,6 +558,14 @@ PHP_METHOD(Stub_Strings, testStripslashes) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -406,6 +582,14 @@ PHP_METHOD(Stub_Strings, testStripcslashes) { zval *this_ptr = getThis(); ZVAL_UNDEF(&str_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(str) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &str); @@ -423,6 +607,15 @@ PHP_METHOD(Stub_Strings, testHashEquals) { ZVAL_UNDEF(&str1_sub); ZVAL_UNDEF(&str2_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(str1) + Z_PARAM_ZVAL(str2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &str1, &str2); @@ -437,6 +630,7 @@ PHP_METHOD(Stub_Strings, testHardcodedMultilineString) { zval *this_ptr = getThis(); + RETURN_STRING("\n Hello world\n "); } @@ -446,6 +640,7 @@ PHP_METHOD(Stub_Strings, testEchoMultilineString) { zval *this_ptr = getThis(); + php_printf("%s", "\n Hello world\n "); } @@ -458,6 +653,7 @@ PHP_METHOD(Stub_Strings, testTrimMultilineString) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -475,6 +671,7 @@ PHP_METHOD(Stub_Strings, testWellEscapedMultilineString) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -489,6 +686,7 @@ PHP_METHOD(Stub_Strings, testInternedString1) { zval *this_ptr = getThis(); + RETURN_STRING("hello"); } @@ -502,6 +700,7 @@ PHP_METHOD(Stub_Strings, testInternedString2) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -528,6 +727,14 @@ PHP_METHOD(Stub_Strings, strToHex) { ZVAL_UNDEF(&_2$$3); ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_5$$3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_STR(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value_param); @@ -574,6 +781,14 @@ PHP_METHOD(Stub_Strings, issue1267) { ZVAL_UNDEF(&_6); ZVAL_UNDEF(&_7); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value); @@ -598,17 +813,17 @@ PHP_METHOD(Stub_Strings, issue1267) { zephir_fast_str_replace(&_0, &_1, &_2, value); ZEPHIR_CPY_WRT(value, &_0); ZVAL_LONG(&_3, 513); - ZEPHIR_CALL_FUNCTION(&_4, "filter_var", NULL, 98, 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, 99, value); + ZEPHIR_CALL_FUNCTION(&_4, "strip_tags", &_5, 98, 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, 99, value); + ZEPHIR_CALL_FUNCTION(&_7, "strip_tags", &_5, 98, value); zephir_check_call_status(); zephir_stripcslashes(&_6, &_7); zephir_fast_trim(return_value, &_6, NULL , ZEPHIR_TRIM_BOTH); diff --git a/ext/stub/strings.zep.h b/ext/stub/strings.zep.h index d71b62840d..8963b682fd 100644 --- a/ext/stub/strings.zep.h +++ b/ext/stub/strings.zep.h @@ -35,20 +35,12 @@ PHP_METHOD(Stub_Strings, strToHex); PHP_METHOD(Stub_Strings, issue1267); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_camelize, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_ARG_INFO(0, delimiter) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_uncamelize, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, str) -#endif ZEND_ARG_INFO(0, delimiter) ZEND_END_ARG_INFO() @@ -92,11 +84,7 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_teststrposoffset, 0, 0, 3) ZEND_ARG_INFO(0, haystack) ZEND_ARG_INFO(0, needle) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, offset) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testexplode, 0, 0, 2) @@ -110,34 +98,18 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testexplodelimit, 0, 0, 2) ZEND_ARG_INFO(0, str) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, limit, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, limit) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testsubstr, 0, 0, 3) ZEND_ARG_INFO(0, str) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, from, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, from) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, len, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, len) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testsubstr2, 0, 0, 2) ZEND_ARG_INFO(0, str) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, from, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, from) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testsubstr3, 0, 0, 1) @@ -156,33 +128,35 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_teststripslashes, 0, 0, 1) ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_strings_teststripcslashes, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_strings_teststripcslashes, 0, 1, IS_STRING, NULL, 0) -#endif ZEND_ARG_INFO(0, str) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_strings_testhashequals, 0, 2, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_strings_testhashequals, 0, 2, _IS_BOOL, NULL, 0) -#endif ZEND_ARG_INFO(0, str1) ZEND_ARG_INFO(0, str2) ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testhardcodedmultilinestring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testechomultilinestring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testtrimmultilinestring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testwellescapedmultilinestring, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testinternedstring1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_testinternedstring2, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_strings_strtohex, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_strings_strtohex, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, value) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_strings_issue1267, 0, 0, 1) @@ -212,12 +186,36 @@ ZEPHIR_INIT_FUNCS(stub_strings_method_entry) { PHP_ME(Stub_Strings, testStripslashes, arginfo_stub_strings_teststripslashes, ZEND_ACC_PUBLIC) PHP_ME(Stub_Strings, testStripcslashes, arginfo_stub_strings_teststripcslashes, ZEND_ACC_PUBLIC) PHP_ME(Stub_Strings, testHashEquals, arginfo_stub_strings_testhashequals, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Strings, testHardcodedMultilineString, arginfo_stub_strings_testhardcodedmultilinestring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Strings, testHardcodedMultilineString, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Strings, testEchoMultilineString, arginfo_stub_strings_testechomultilinestring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Strings, testEchoMultilineString, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Strings, testTrimMultilineString, arginfo_stub_strings_testtrimmultilinestring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Strings, testTrimMultilineString, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Strings, testWellEscapedMultilineString, arginfo_stub_strings_testwellescapedmultilinestring, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Strings, testWellEscapedMultilineString, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Strings, testInternedString1, arginfo_stub_strings_testinternedstring1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Strings, testInternedString1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Strings, testInternedString2, arginfo_stub_strings_testinternedstring2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Strings, testInternedString2, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Strings, strToHex, arginfo_stub_strings_strtohex, ZEND_ACC_PUBLIC) PHP_ME(Stub_Strings, issue1267, arginfo_stub_strings_issue1267, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/stubs.zep.c b/ext/stub/stubs.zep.c index 5c82194756..2c88a08e76 100644 --- a/ext/stub/stubs.zep.c +++ b/ext/stub/stubs.zep.c @@ -54,6 +54,7 @@ PHP_METHOD(Stub_Stubs, testDockBlockAndReturnType) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propString"); } @@ -68,6 +69,7 @@ PHP_METHOD(Stub_Stubs, testDocBlockAndReturnTypeDeclared) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "propStringProtected"); } @@ -87,6 +89,16 @@ PHP_METHOD(Stub_Stubs, testMixedInputParamsDocBlock) { zval *this_ptr = getThis(); ZVAL_UNDEF(&intOrString_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(intOrString) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(number) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 1, &intOrString, &number_param); @@ -117,6 +129,16 @@ PHP_METHOD(Stub_Stubs, testMixedInputParamsDocBlockDeclared) { zval *this_ptr = getThis(); ZVAL_UNDEF(&intOrString_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_ZVAL(intOrString) + Z_PARAM_OPTIONAL + Z_PARAM_LONG(number) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 1, &intOrString, &number_param); diff --git a/ext/stub/stubs.zep.h b/ext/stub/stubs.zep.h index 098d1a7bbb..719bf21527 100644 --- a/ext/stub/stubs.zep.h +++ b/ext/stub/stubs.zep.h @@ -8,44 +8,20 @@ PHP_METHOD(Stub_Stubs, testDocBlockAndReturnTypeDeclared); PHP_METHOD(Stub_Stubs, testMixedInputParamsDocBlock); PHP_METHOD(Stub_Stubs, testMixedInputParamsDocBlockDeclared); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testdockblockandreturntype, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testdockblockandreturntype, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testdocblockandreturntypedeclared, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testdocblockandreturntypedeclared, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testmixedinputparamsdocblock, 0, 1, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testmixedinputparamsdocblock, 0, 1, IS_LONG, NULL, 1) -#endif ZEND_ARG_INFO(0, intOrString) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, number, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, number) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testmixedinputparamsdocblockdeclared, 0, 1, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_stubs_testmixedinputparamsdocblockdeclared, 0, 1, IS_LONG, NULL, 1) -#endif ZEND_ARG_INFO(0, intOrString) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, number, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, number) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_stubs_method_entry) { diff --git a/ext/stub/ternary.zep.c b/ext/stub/ternary.zep.c index 8b1d6301bd..d2503a595a 100644 --- a/ext/stub/ternary.zep.c +++ b/ext/stub/ternary.zep.c @@ -39,6 +39,7 @@ PHP_METHOD(Stub_Ternary, testTernary1) { ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -59,6 +60,14 @@ PHP_METHOD(Stub_Ternary, testTernary2) { zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(b) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &b_param); @@ -87,6 +96,15 @@ PHP_METHOD(Stub_Ternary, testTernaryComplex1) { ZVAL_UNDEF(&y_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(y) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &y); @@ -122,6 +140,15 @@ PHP_METHOD(Stub_Ternary, testTernaryComplex2) { ZVAL_UNDEF(&y_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(a) + Z_PARAM_ZVAL(y) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a, &y); @@ -155,6 +182,14 @@ PHP_METHOD(Stub_Ternary, testTernaryComplex3) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); @@ -175,7 +210,7 @@ PHP_METHOD(Stub_Ternary, testTernaryComplex3) { } /** - * @link https://github.com/phalcon/zephir/issues/665 + * @link https://github.com/zephir-lang/zephir/issues/665 */ PHP_METHOD(Stub_Ternary, testTernaryWithPromotedTemporaryVariable) { @@ -188,6 +223,7 @@ PHP_METHOD(Stub_Ternary, testTernaryWithPromotedTemporaryVariable) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&var2); @@ -213,7 +249,7 @@ PHP_METHOD(Stub_Ternary, testTernaryWithPromotedTemporaryVariable) { } /** - * @link https://github.com/phalcon/zephir/issues/297 + * @link https://github.com/zephir-lang/zephir/issues/297 */ PHP_METHOD(Stub_Ternary, testTernaryAfterLetVariable) { @@ -223,6 +259,7 @@ PHP_METHOD(Stub_Ternary, testTernaryAfterLetVariable) { ZVAL_UNDEF(&s); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&s); @@ -246,6 +283,14 @@ PHP_METHOD(Stub_Ternary, testShortTernary) { ZVAL_UNDEF(&a_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a); @@ -271,6 +316,15 @@ PHP_METHOD(Stub_Ternary, testShortTernaryComplex) { ZVAL_UNDEF(&left_sub); ZVAL_UNDEF(&value_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(left) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &left, &value); diff --git a/ext/stub/ternary.zep.h b/ext/stub/ternary.zep.h index 438624ced9..48e20926e5 100644 --- a/ext/stub/ternary.zep.h +++ b/ext/stub/ternary.zep.h @@ -13,12 +13,11 @@ PHP_METHOD(Stub_Ternary, testTernaryAfterLetVariable); PHP_METHOD(Stub_Ternary, testShortTernary); PHP_METHOD(Stub_Ternary, testShortTernaryComplex); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testternary1, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testternary2, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, b, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, b) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testternarycomplex1, 0, 0, 2) @@ -35,6 +34,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testternarycomplex3, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testternarywithpromotedtemporaryvariable, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testternaryafterletvariable, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testshortternary, 0, 0, 1) ZEND_ARG_INFO(0, a) ZEND_END_ARG_INFO() @@ -45,13 +50,25 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_ternary_testshortternarycomplex, 0, 0, 2) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_ternary_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Ternary, testTernary1, arginfo_stub_ternary_testternary1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Ternary, testTernary1, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Ternary, testTernary2, arginfo_stub_ternary_testternary2, ZEND_ACC_PUBLIC) PHP_ME(Stub_Ternary, testTernaryComplex1, arginfo_stub_ternary_testternarycomplex1, ZEND_ACC_PUBLIC) PHP_ME(Stub_Ternary, testTernaryComplex2, arginfo_stub_ternary_testternarycomplex2, ZEND_ACC_PUBLIC) PHP_ME(Stub_Ternary, testTernaryComplex3, arginfo_stub_ternary_testternarycomplex3, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Ternary, testTernaryWithPromotedTemporaryVariable, arginfo_stub_ternary_testternarywithpromotedtemporaryvariable, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Ternary, testTernaryWithPromotedTemporaryVariable, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Ternary, testTernaryAfterLetVariable, arginfo_stub_ternary_testternaryafterletvariable, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Ternary, testTernaryAfterLetVariable, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Ternary, testShortTernary, arginfo_stub_ternary_testshortternary, ZEND_ACC_PUBLIC) PHP_ME(Stub_Ternary, testShortTernaryComplex, arginfo_stub_ternary_testshortternarycomplex, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/trytest.zep.c b/ext/stub/trytest.zep.c index f619b35f3e..1268bb5540 100644 --- a/ext/stub/trytest.zep.c +++ b/ext/stub/trytest.zep.c @@ -33,7 +33,8 @@ PHP_METHOD(Stub_TryTest, testThrow1) { zval *this_ptr = getThis(); - ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(zend_exception_get_default(TSRMLS_C), "error", "stub/trytest.zep", 10); + + ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(zend_ce_exception, "error", "stub/trytest.zep", 10); return; } @@ -48,12 +49,13 @@ PHP_METHOD(Stub_TryTest, testThrow2) { ZVAL_UNDEF(&message); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&message); ZVAL_STRING(&message, "error"); ZEPHIR_INIT_VAR(&_0); - object_init_ex(&_0, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0, zend_ce_exception); ZEPHIR_CALL_METHOD(NULL, &_0, "__construct", NULL, 28, &message); zephir_check_call_status(); zephir_throw_exception_debug(&_0, "stub/trytest.zep", 16); @@ -68,12 +70,13 @@ PHP_METHOD(Stub_TryTest, testTry1) { + /* try_start_1: */ try_end_1: - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); } @@ -87,13 +90,14 @@ PHP_METHOD(Stub_TryTest, testTry2) { ZVAL_UNDEF(&_0$$3); ZVAL_UNDEF(&_1$$3); + ZEPHIR_MM_GROW(); /* try_start_1: */ ZEPHIR_INIT_VAR(&_0$$3); - object_init_ex(&_0$$3, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$3, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$3); ZVAL_STRING(&_1$$3, "error!"); ZEPHIR_CALL_METHOD(NULL, &_0$$3, "__construct", NULL, 28, &_1$$3); @@ -104,7 +108,7 @@ PHP_METHOD(Stub_TryTest, testTry2) { try_end_1: - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); } @@ -120,13 +124,14 @@ PHP_METHOD(Stub_TryTest, testTry3) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); + ZEPHIR_MM_GROW(); /* try_start_1: */ ZEPHIR_INIT_VAR(&_0$$3); - object_init_ex(&_0$$3, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$3, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$3); ZVAL_STRING(&_1$$3, "error!"); ZEPHIR_CALL_METHOD(NULL, &_0$$3, "__construct", NULL, 28, &_1$$3); @@ -142,8 +147,8 @@ PHP_METHOD(Stub_TryTest, testTry3) { ZVAL_OBJ(&_2, EG(exception)); Z_ADDREF_P(&_2); ZEPHIR_INIT_VAR(&_3); - if (zephir_instance_of_ev(&_2, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_2, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&_3, &_2); RETURN_MM_STRING("error"); } @@ -167,6 +172,14 @@ PHP_METHOD(Stub_TryTest, testTry4) { ZVAL_UNDEF(&_4); ZVAL_UNDEF(&_5); ZVAL_UNDEF(&_6); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -179,7 +192,7 @@ PHP_METHOD(Stub_TryTest, testTry4) { if (a) { ZEPHIR_INIT_VAR(&_0$$4); - object_init_ex(&_0$$4, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$4, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$4); ZVAL_STRING(&_1$$4, "error!"); ZEPHIR_CALL_METHOD(NULL, &_0$$4, "__construct", NULL, 28, &_1$$4); @@ -192,7 +205,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, 100, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 99, &_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; @@ -208,12 +221,12 @@ PHP_METHOD(Stub_TryTest, testTry4) { ZEPHIR_INIT_VAR(&_5); ZEPHIR_INIT_VAR(&_6); if (zephir_instance_of_ev(&_4, spl_ce_RuntimeException)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&_5, &_4); RETURN_MM_STRING("domain error"); } else { - if (zephir_instance_of_ev(&_4, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_4, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&_6, &_4); RETURN_MM_STRING("error"); } @@ -237,6 +250,14 @@ PHP_METHOD(Stub_TryTest, testTry5) { ZVAL_UNDEF(&_3$$5); ZVAL_UNDEF(&_4); ZVAL_UNDEF(&_5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -249,7 +270,7 @@ PHP_METHOD(Stub_TryTest, testTry5) { if (a) { ZEPHIR_INIT_VAR(&_0$$4); - object_init_ex(&_0$$4, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$4, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$4); ZVAL_STRING(&_1$$4, "error!"); ZEPHIR_CALL_METHOD(NULL, &_0$$4, "__construct", NULL, 28, &_1$$4); @@ -262,7 +283,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, 100, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 99, &_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; @@ -277,12 +298,12 @@ PHP_METHOD(Stub_TryTest, testTry5) { Z_ADDREF_P(&_4); ZEPHIR_INIT_VAR(&_5); if (zephir_instance_of_ev(&_4, spl_ce_RuntimeException)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&_5, &_4); RETURN_MM_STRING("any error"); } else { - if (zephir_instance_of_ev(&_4, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_4, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&_5, &_4); RETURN_MM_STRING("any error"); } @@ -306,6 +327,14 @@ PHP_METHOD(Stub_TryTest, testTry6) { ZVAL_UNDEF(&_1$$4); ZVAL_UNDEF(&_2$$5); ZVAL_UNDEF(&_3$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -318,7 +347,7 @@ PHP_METHOD(Stub_TryTest, testTry6) { if (a) { ZEPHIR_INIT_VAR(&_0$$4); - object_init_ex(&_0$$4, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$4, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$4); ZVAL_STRING(&_1$$4, "error!"); ZEPHIR_CALL_METHOD(NULL, &_0$$4, "__construct", NULL, 28, &_1$$4); @@ -331,7 +360,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, 100, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 99, &_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; @@ -345,12 +374,12 @@ PHP_METHOD(Stub_TryTest, testTry6) { ZVAL_OBJ(&_4, EG(exception)); Z_ADDREF_P(&_4); if (zephir_instance_of_ev(&_4, spl_ce_RuntimeException)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_4); RETURN_MM_STRING("domain error"); } else { - if (zephir_instance_of_ev(&_4, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_4, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_4); RETURN_MM_STRING("error"); } @@ -374,6 +403,14 @@ PHP_METHOD(Stub_TryTest, testTry7) { ZVAL_UNDEF(&_1$$4); ZVAL_UNDEF(&_2$$5); ZVAL_UNDEF(&_3$$5); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_BOOL(a) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &a_param); @@ -386,7 +423,7 @@ PHP_METHOD(Stub_TryTest, testTry7) { if (a) { ZEPHIR_INIT_VAR(&_0$$4); - object_init_ex(&_0$$4, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$4, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$4); ZVAL_STRING(&_1$$4, "error!"); ZEPHIR_CALL_METHOD(NULL, &_0$$4, "__construct", NULL, 28, &_1$$4); @@ -399,7 +436,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, 100, &_3$$5); + ZEPHIR_CALL_METHOD(NULL, &_2$$5, "__construct", NULL, 99, &_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; @@ -413,12 +450,12 @@ PHP_METHOD(Stub_TryTest, testTry7) { ZVAL_OBJ(&_4, EG(exception)); Z_ADDREF_P(&_4); if (zephir_instance_of_ev(&_4, spl_ce_RuntimeException)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_4); RETURN_MM_STRING("any error"); } else { - if (zephir_instance_of_ev(&_4, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_4, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_4); RETURN_MM_STRING("any error"); } @@ -437,13 +474,14 @@ PHP_METHOD(Stub_TryTest, testTry8) { ZVAL_UNDEF(&_0$$3); ZVAL_UNDEF(&_1$$3); + ZEPHIR_MM_GROW(); /* try_start_1: */ ZEPHIR_INIT_VAR(&_0$$3); - object_init_ex(&_0$$3, zend_exception_get_default(TSRMLS_C)); + object_init_ex(&_0$$3, zend_ce_exception); ZEPHIR_INIT_VAR(&_1$$3); ZVAL_STRING(&_1$$3, "error 1!"); ZEPHIR_CALL_METHOD(NULL, &_0$$3, "__construct", NULL, 28, &_1$$3); @@ -454,8 +492,8 @@ PHP_METHOD(Stub_TryTest, testTry8) { try_end_1: - zend_clear_exception(TSRMLS_C); - ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "error 2!", "stub/trytest.zep", 113); + zend_clear_exception(); + ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_ce_exception, "error 2!", "stub/trytest.zep", 113); return; } @@ -465,6 +503,7 @@ PHP_METHOD(Stub_TryTest, someMethod1) { zval *this_ptr = getThis(); + ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(spl_ce_RuntimeException, "some external exception", "stub/trytest.zep", 118); return; @@ -475,6 +514,7 @@ PHP_METHOD(Stub_TryTest, someMethod2) { zval *this_ptr = getThis(); + ZEPHIR_THROW_EXCEPTION_DEBUG_STRW(spl_ce_DomainException, "some external exception", "stub/trytest.zep", 123); return; @@ -490,12 +530,13 @@ PHP_METHOD(Stub_TryTest, testTry9) { ZVAL_UNDEF(&e); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); /* try_start_1: */ - ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod1", NULL, 101); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod1", NULL, 100); zephir_check_call_status_or_jump(try_end_1); RETURN_MM_STRING("not catched"); @@ -506,7 +547,7 @@ PHP_METHOD(Stub_TryTest, testTry9) { ZVAL_OBJ(&_0, EG(exception)); Z_ADDREF_P(&_0); if (zephir_instance_of_ev(&_0, spl_ce_RuntimeException)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_0); RETURN_MM_STRING("domain error"); } @@ -525,12 +566,13 @@ PHP_METHOD(Stub_TryTest, testTry10) { ZVAL_UNDEF(&e); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); /* try_start_1: */ - ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod2", NULL, 102); + ZEPHIR_CALL_METHOD(NULL, this_ptr, "somemethod2", NULL, 101); zephir_check_call_status_or_jump(try_end_1); RETURN_MM_STRING("not catched"); @@ -541,7 +583,7 @@ PHP_METHOD(Stub_TryTest, testTry10) { ZVAL_OBJ(&_0, EG(exception)); Z_ADDREF_P(&_0); if (zephir_instance_of_ev(&_0, spl_ce_RuntimeException)) { - zend_clear_exception(TSRMLS_C); + zend_clear_exception(); ZEPHIR_CPY_WRT(&e, &_0); RETURN_MM_STRING("domain error"); } @@ -559,6 +601,7 @@ PHP_METHOD(Stub_TryTest, testTry11) { ZVAL_UNDEF(&ex); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); @@ -572,8 +615,8 @@ PHP_METHOD(Stub_TryTest, testTry11) { ZEPHIR_INIT_VAR(&_0); ZVAL_OBJ(&_0, EG(exception)); Z_ADDREF_P(&_0); - if (zephir_instance_of_ev(&_0, zend_exception_get_default(TSRMLS_C))) { - zend_clear_exception(TSRMLS_C); + if (zephir_instance_of_ev(&_0, zend_ce_exception)) { + zend_clear_exception(); ZEPHIR_CPY_WRT(&ex, &_0); } } diff --git a/ext/stub/trytest.zep.h b/ext/stub/trytest.zep.h index 0c441abb90..aa4e7f609b 100644 --- a/ext/stub/trytest.zep.h +++ b/ext/stub/trytest.zep.h @@ -19,53 +19,114 @@ PHP_METHOD(Stub_TryTest, testTry9); PHP_METHOD(Stub_TryTest, testTry10); PHP_METHOD(Stub_TryTest, testTry11); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testthrow1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testthrow2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry3, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry4, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry5, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry6, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, a) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry7, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, a, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, a) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry8, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_somemethod1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_somemethod2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry9, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry10, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_trytest_testtry11, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_trytest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testThrow1, arginfo_stub_trytest_testthrow1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testThrow1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testThrow2, arginfo_stub_trytest_testthrow2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testThrow2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry1, arginfo_stub_trytest_testtry1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry2, arginfo_stub_trytest_testtry2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry3, arginfo_stub_trytest_testtry3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_TryTest, testTry4, arginfo_stub_trytest_testtry4, ZEND_ACC_PUBLIC) PHP_ME(Stub_TryTest, testTry5, arginfo_stub_trytest_testtry5, ZEND_ACC_PUBLIC) PHP_ME(Stub_TryTest, testTry6, arginfo_stub_trytest_testtry6, ZEND_ACC_PUBLIC) PHP_ME(Stub_TryTest, testTry7, arginfo_stub_trytest_testtry7, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry8, arginfo_stub_trytest_testtry8, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry8, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, someMethod1, arginfo_stub_trytest_somemethod1, ZEND_ACC_PRIVATE) +#else PHP_ME(Stub_TryTest, someMethod1, NULL, ZEND_ACC_PRIVATE) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, someMethod2, arginfo_stub_trytest_somemethod2, ZEND_ACC_PRIVATE) +#else PHP_ME(Stub_TryTest, someMethod2, NULL, ZEND_ACC_PRIVATE) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry9, arginfo_stub_trytest_testtry9, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry9, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry10, arginfo_stub_trytest_testtry10, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry10, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TryTest, testTry11, arginfo_stub_trytest_testtry11, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TryTest, testTry11, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/typehinting/testabstract.zep.h b/ext/stub/typehinting/testabstract.zep.h index c1e84b5190..5814bdac46 100644 --- a/ext/stub/typehinting/testabstract.zep.h +++ b/ext/stub/typehinting/testabstract.zep.h @@ -16,82 +16,45 @@ PHP_METHOD(Stub_TypeHinting_TestAbstract, returnChar); ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typehinting_testabstract_testfunc, 0, 0, 0) ZEND_ARG_ARRAY_INFO(0, text, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, text2, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, text2) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, flag, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, flag) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, optional, IS_LONG, 1) -#else - ZEND_ARG_INFO(0, optional) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typehinting_testabstract_returnoneofscalar, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnint, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnint, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnuint, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnuint, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnlong, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnlong, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnfloat, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnfloat, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returndouble, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returndouble, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnstring, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnstring, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnboolean, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnboolean, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnchar, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_stub_typehinting_testabstract_returnchar, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_typehinting_testabstract_method_entry) { PHP_ME(Stub_TypeHinting_TestAbstract, testFunc, arginfo_stub_typehinting_testabstract_testfunc, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TypeHinting_TestAbstract, returnOneOfScalar, arginfo_stub_typehinting_testabstract_returnoneofscalar, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TypeHinting_TestAbstract, returnOneOfScalar, NULL, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_TypeHinting_TestAbstract, returnInt, arginfo_stub_typehinting_testabstract_returnint, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) PHP_ME(Stub_TypeHinting_TestAbstract, returnUint, arginfo_stub_typehinting_testabstract_returnuint, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) PHP_ME(Stub_TypeHinting_TestAbstract, returnLong, arginfo_stub_typehinting_testabstract_returnlong, ZEND_ACC_ABSTRACT|ZEND_ACC_PUBLIC) diff --git a/ext/stub/typeinstances.zep.c b/ext/stub/typeinstances.zep.c index 4164300a1e..8b54e52ffa 100644 --- a/ext/stub/typeinstances.zep.c +++ b/ext/stub/typeinstances.zep.c @@ -42,6 +42,7 @@ PHP_METHOD(Stub_TypeInstances, testInstanceOfString1) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 24); @@ -64,6 +65,7 @@ PHP_METHOD(Stub_TypeInstances, testInstanceOfString2) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, -24); @@ -86,6 +88,7 @@ PHP_METHOD(Stub_TypeInstances, testInstanceOfString3) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZVAL_LONG(&_0, 0); diff --git a/ext/stub/typeinstances.zep.h b/ext/stub/typeinstances.zep.h index 5ea54bdcd7..0ead29c972 100644 --- a/ext/stub/typeinstances.zep.h +++ b/ext/stub/typeinstances.zep.h @@ -7,9 +7,30 @@ PHP_METHOD(Stub_TypeInstances, testInstanceOfString1); PHP_METHOD(Stub_TypeInstances, testInstanceOfString2); PHP_METHOD(Stub_TypeInstances, testInstanceOfString3); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeinstances_testinstanceofstring1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeinstances_testinstanceofstring2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeinstances_testinstanceofstring3, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_typeinstances_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TypeInstances, testInstanceOfString1, arginfo_stub_typeinstances_testinstanceofstring1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TypeInstances, testInstanceOfString1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TypeInstances, testInstanceOfString2, arginfo_stub_typeinstances_testinstanceofstring2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TypeInstances, testInstanceOfString2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_TypeInstances, testInstanceOfString3, arginfo_stub_typeinstances_testinstanceofstring3, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_TypeInstances, testInstanceOfString3, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/typeoff.zep.c b/ext/stub/typeoff.zep.c index e12d6c32f0..6aadf9be51 100644 --- a/ext/stub/typeoff.zep.c +++ b/ext/stub/typeoff.zep.c @@ -37,6 +37,7 @@ PHP_METHOD(Stub_Typeoff, testNativeStringFalse) { ZVAL_UNDEF(&testVar); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&testVar); @@ -53,6 +54,7 @@ PHP_METHOD(Stub_Typeoff, testNativeStringTrue) { ZVAL_UNDEF(&testVar); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&testVar); @@ -68,6 +70,7 @@ PHP_METHOD(Stub_Typeoff, testNativeIntFalse) { + testVar = 12345; RETURN_BOOL(1 == 0); @@ -80,6 +83,7 @@ PHP_METHOD(Stub_Typeoff, testNativeIntTrue) { + testVar = 12345; RETURN_BOOL(1 == 1); @@ -92,6 +96,7 @@ PHP_METHOD(Stub_Typeoff, testNativeDoubleTrue) { + testVar = (double) (12345); RETURN_BOOL(1 == 1); @@ -104,6 +109,7 @@ PHP_METHOD(Stub_Typeoff, testNativeBoolTrue) { + testVar = 1; RETURN_BOOL(1 == 1); @@ -117,6 +123,7 @@ PHP_METHOD(Stub_Typeoff, testNotBoolTrue) { ZVAL_UNDEF(&testVar); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&testVar); @@ -134,6 +141,7 @@ PHP_METHOD(Stub_Typeoff, testNativeBoolFalse) { + testVar = 0; RETURN_BOOL(1 == 0); @@ -147,6 +155,7 @@ PHP_METHOD(Stub_Typeoff, testArrayFalse) { ZVAL_UNDEF(&testVar); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&testVar); @@ -163,6 +172,7 @@ PHP_METHOD(Stub_Typeoff, testArrayTrue) { ZVAL_UNDEF(&testVar); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&testVar); @@ -180,6 +190,7 @@ PHP_METHOD(Stub_Typeoff, testClassPropertyAccess) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); @@ -200,6 +211,14 @@ PHP_METHOD(Stub_Typeoff, testUnknownTypeOf) { ZVAL_UNDEF(&u_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(u) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &u); @@ -218,6 +237,14 @@ PHP_METHOD(Stub_Typeoff, testCallableTypeOf) { zval *this_ptr = getThis(); ZVAL_UNDEF(&cb_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(cb) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &cb); diff --git a/ext/stub/typeoff.zep.h b/ext/stub/typeoff.zep.h index 76d1e00005..fff8eb9b6a 100644 --- a/ext/stub/typeoff.zep.h +++ b/ext/stub/typeoff.zep.h @@ -17,6 +17,39 @@ PHP_METHOD(Stub_Typeoff, testClassPropertyAccess); PHP_METHOD(Stub_Typeoff, testUnknownTypeOf); PHP_METHOD(Stub_Typeoff, testCallableTypeOf); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativestringfalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativestringtrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativeintfalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativeinttrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativedoubletrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativebooltrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnotbooltrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testnativeboolfalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testarrayfalse, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testarraytrue, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testclasspropertyaccess, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testunknowntypeof, 0, 0, 1) ZEND_ARG_INFO(0, u) ZEND_END_ARG_INFO() @@ -26,17 +59,61 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_typeoff_testcallabletypeof, 0, 0, 1) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_typeoff_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeStringFalse, arginfo_stub_typeoff_testnativestringfalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeStringFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeStringTrue, arginfo_stub_typeoff_testnativestringtrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeStringTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeIntFalse, arginfo_stub_typeoff_testnativeintfalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeIntFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeIntTrue, arginfo_stub_typeoff_testnativeinttrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeIntTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeDoubleTrue, arginfo_stub_typeoff_testnativedoubletrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeDoubleTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeBoolTrue, arginfo_stub_typeoff_testnativebooltrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeBoolTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNotBoolTrue, arginfo_stub_typeoff_testnotbooltrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNotBoolTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testNativeBoolFalse, arginfo_stub_typeoff_testnativeboolfalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testNativeBoolFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testArrayFalse, arginfo_stub_typeoff_testarrayfalse, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testArrayFalse, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testArrayTrue, arginfo_stub_typeoff_testarraytrue, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testArrayTrue, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Typeoff, testClassPropertyAccess, arginfo_stub_typeoff_testclasspropertyaccess, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Typeoff, testClassPropertyAccess, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Typeoff, testUnknownTypeOf, arginfo_stub_typeoff_testunknowntypeof, ZEND_ACC_PUBLIC) PHP_ME(Stub_Typeoff, testCallableTypeOf, arginfo_stub_typeoff_testcallabletypeof, ZEND_ACC_PUBLIC) PHP_FE_END diff --git a/ext/stub/unsettest.zep.c b/ext/stub/unsettest.zep.c index d62364bb19..cfd3458105 100644 --- a/ext/stub/unsettest.zep.c +++ b/ext/stub/unsettest.zep.c @@ -36,6 +36,7 @@ PHP_METHOD(Stub_Unsettest, getProperty) { zval *this_ptr = getThis(); + RETURN_MEMBER(getThis(), "property"); } @@ -47,6 +48,14 @@ PHP_METHOD(Stub_Unsettest, has) { ZVAL_UNDEF(&key_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(key) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &key); @@ -64,6 +73,15 @@ PHP_METHOD(Stub_Unsettest, addValueToProperty) { ZVAL_UNDEF(&key_sub); ZVAL_UNDEF(&value_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(key) + Z_PARAM_ZVAL(value) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &key, &value); @@ -80,6 +98,14 @@ PHP_METHOD(Stub_Unsettest, testUnsetValueFromProperty) { ZVAL_UNDEF(&key_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(key) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(1, 0, &key); @@ -97,6 +123,14 @@ PHP_METHOD(Stub_Unsettest, testUnsetFromArray) { zval *this_ptr = getThis(); ZVAL_UNDEF(&arrayParameter_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(arrayParameter) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &arrayParameter); @@ -118,6 +152,15 @@ PHP_METHOD(Stub_Unsettest, testUnsetFromArrayByIndexVar) { ZVAL_UNDEF(&arrayParameter_sub); ZVAL_UNDEF(&index_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(arrayParameter) + Z_PARAM_ZVAL(index) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &arrayParameter, &index); @@ -136,6 +179,7 @@ PHP_METHOD(Stub_Unsettest, testUnsetProperty) { zval *this_ptr = getThis(); + zephir_unset_property(this_ptr, "property"); RETURN_MEMBER(getThis(), "property"); @@ -151,6 +195,7 @@ PHP_METHOD(Stub_Unsettest, testStdClassUnset) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&simpleObject); @@ -180,6 +225,15 @@ PHP_METHOD(Stub_Unsettest, testUnsetTypedArray) { ZVAL_UNDEF(&arr); ZVAL_UNDEF(&key); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ARRAY(arr) + Z_PARAM_STR(key) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &arr_param, &key_param); diff --git a/ext/stub/unsettest.zep.h b/ext/stub/unsettest.zep.h index 2312cb993b..068f5147b5 100644 --- a/ext/stub/unsettest.zep.h +++ b/ext/stub/unsettest.zep.h @@ -13,6 +13,9 @@ PHP_METHOD(Stub_Unsettest, testUnsetProperty); PHP_METHOD(Stub_Unsettest, testStdClassUnset); PHP_METHOD(Stub_Unsettest, testUnsetTypedArray); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_unsettest_getproperty, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_unsettest_has, 0, 0, 1) ZEND_ARG_INFO(0, key) ZEND_END_ARG_INFO() @@ -35,24 +38,38 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_unsettest_testunsetfromarraybyindexvar, 0, 0 ZEND_ARG_INFO(0, index) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_unsettest_testunsetproperty, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_unsettest_teststdclassunset, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_unsettest_testunsettypedarray, 0, 0, 2) ZEND_ARG_ARRAY_INFO(0, arr, 0) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, key) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(stub_unsettest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Unsettest, getProperty, arginfo_stub_unsettest_getproperty, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Unsettest, getProperty, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Unsettest, has, arginfo_stub_unsettest_has, ZEND_ACC_PUBLIC) PHP_ME(Stub_Unsettest, addValueToProperty, arginfo_stub_unsettest_addvaluetoproperty, ZEND_ACC_PUBLIC) PHP_ME(Stub_Unsettest, testUnsetValueFromProperty, arginfo_stub_unsettest_testunsetvaluefromproperty, ZEND_ACC_PUBLIC) PHP_ME(Stub_Unsettest, testUnsetFromArray, arginfo_stub_unsettest_testunsetfromarray, ZEND_ACC_PUBLIC) PHP_ME(Stub_Unsettest, testUnsetFromArrayByIndexVar, arginfo_stub_unsettest_testunsetfromarraybyindexvar, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Unsettest, testUnsetProperty, arginfo_stub_unsettest_testunsetproperty, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Unsettest, testUnsetProperty, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Unsettest, testStdClassUnset, arginfo_stub_unsettest_teststdclassunset, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Unsettest, testStdClassUnset, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Unsettest, testUnsetTypedArray, arginfo_stub_unsettest_testunsettypedarray, ZEND_ACC_PUBLIC) PHP_FE_END }; diff --git a/ext/stub/usetest.zep.c b/ext/stub/usetest.zep.c index b240cacfe5..f499a178a6 100644 --- a/ext/stub/usetest.zep.c +++ b/ext/stub/usetest.zep.c @@ -12,7 +12,6 @@ #include #include "kernel/main.h" -#include "ext/spl/spl_iterators.h" #include "kernel/object.h" #include "kernel/fcall.h" #include "kernel/memory.h" @@ -22,7 +21,7 @@ ZEPHIR_INIT_CLASS(Stub_UseTest) { ZEPHIR_REGISTER_CLASS(Stub, UseTest, stub, usetest, stub_usetest_method_entry, 0); - zend_class_implements(stub_usetest_ce, 1, spl_ce_Countable); + zend_class_implements(stub_usetest_ce, 1, zend_ce_countable); return SUCCESS; } @@ -32,6 +31,7 @@ PHP_METHOD(Stub_UseTest, createInstance) { zval *this_ptr = getThis(); + object_init(return_value); return; @@ -43,6 +43,7 @@ PHP_METHOD(Stub_UseTest, count) { + } PHP_METHOD(Stub_UseTest, testUseClass1) { @@ -53,6 +54,7 @@ PHP_METHOD(Stub_UseTest, testUseClass1) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); if (!_0) { @@ -75,6 +77,7 @@ PHP_METHOD(Stub_UseTest, testUseClass2) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); if (!_0) { @@ -97,6 +100,7 @@ PHP_METHOD(Stub_UseTest, testUseNamespaceAlias) { zval *this_ptr = getThis(); + ZEPHIR_MM_GROW(); if (!_0) { diff --git a/ext/stub/usetest.zep.h b/ext/stub/usetest.zep.h index c7a6c5c141..d0a0d0fa0e 100644 --- a/ext/stub/usetest.zep.h +++ b/ext/stub/usetest.zep.h @@ -9,11 +9,46 @@ PHP_METHOD(Stub_UseTest, testUseClass1); PHP_METHOD(Stub_UseTest, testUseClass2); PHP_METHOD(Stub_UseTest, testUseNamespaceAlias); +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_usetest_createinstance, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_usetest_count, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_usetest_testuseclass1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_usetest_testuseclass2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_usetest_testusenamespacealias, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_usetest_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_UseTest, createInstance, arginfo_stub_usetest_createinstance, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_UseTest, createInstance, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_UseTest, count, arginfo_stub_usetest_count, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_UseTest, count, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_UseTest, testUseClass1, arginfo_stub_usetest_testuseclass1, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_UseTest, testUseClass1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_UseTest, testUseClass2, arginfo_stub_usetest_testuseclass2, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_UseTest, testUseClass2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_UseTest, testUseNamespaceAlias, arginfo_stub_usetest_testusenamespacealias, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_UseTest, testUseNamespaceAlias, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/ext/stub/vars.zep.c b/ext/stub/vars.zep.c index 8400b99cec..f6833d5a99 100644 --- a/ext/stub/vars.zep.c +++ b/ext/stub/vars.zep.c @@ -48,6 +48,14 @@ PHP_METHOD(Stub_Vars, testParam) { ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_5$$3); ZVAL_UNDEF(&_7$$4); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ARRAY(config) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &config_param); @@ -68,7 +76,7 @@ PHP_METHOD(Stub_Vars, testParam) { } ZEPHIR_INIT_NVAR(&v); ZVAL_COPY(&v, _1); - ZEPHIR_CALL_FUNCTION(&_5$$3, "realpath", &_6, 58, &v); + ZEPHIR_CALL_FUNCTION(&_5$$3, "realpath", &_6, 64, &v); zephir_check_call_status(); zephir_array_update_multi(&config, &_5$$3, SL("sz"), 3, SL("dir"), &k); } ZEND_HASH_FOREACH_END(); @@ -85,7 +93,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, 58, &v); + ZEPHIR_CALL_FUNCTION(&_7$$4, "realpath", &_6, 64, &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); @@ -109,6 +117,7 @@ PHP_METHOD(Stub_Vars, testVarDump) { ZVAL_UNDEF(&ar); ZVAL_UNDEF(&_0); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -136,6 +145,14 @@ PHP_METHOD(Stub_Vars, testVarDump2) { ZVAL_UNDEF(&ret_sub); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(ret) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &ret); @@ -164,6 +181,7 @@ PHP_METHOD(Stub_Vars, testVarExport) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); + ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&a); @@ -204,6 +222,16 @@ PHP_METHOD(Stub_Vars, test88Issue) { ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(param1) + Z_PARAM_OPTIONAL + Z_PARAM_STR_OR_NULL(param2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, ¶m1_param, ¶m2_param); @@ -252,6 +280,16 @@ PHP_METHOD(Stub_Vars, test88IssueParam2InitString) { ZVAL_UNDEF(¶m1); ZVAL_UNDEF(¶m2); ZVAL_UNDEF(&_0); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 2) + Z_PARAM_STR(param1) + Z_PARAM_OPTIONAL + Z_PARAM_STR(param2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, ¶m1_param, ¶m2_param); @@ -288,6 +326,15 @@ PHP_METHOD(Stub_Vars, testVarDump2param) { ZVAL_UNDEF(&p1_sub); ZVAL_UNDEF(&p2_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(2, 2) + Z_PARAM_ZVAL(p1) + Z_PARAM_ZVAL(p2) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(2, 0, &p1, &p2); @@ -306,6 +353,16 @@ PHP_METHOD(Stub_Vars, testVarDump3param) { ZVAL_UNDEF(&p1_sub); ZVAL_UNDEF(&p2_sub); ZVAL_UNDEF(&p3_sub); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(3, 3) + Z_PARAM_ZVAL(p1) + Z_PARAM_ZVAL(p2) + Z_PARAM_ZVAL(p3) + ZEND_PARSE_PARAMETERS_END(); + +#endif + zephir_fetch_params_without_memory_grow(3, 0, &p1, &p2, &p3); @@ -326,6 +383,14 @@ PHP_METHOD(Stub_Vars, testCountOptimizerVarDumpAndExport) { ZVAL_UNDEF(&testVar_sub); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_ZVAL(testVar) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &testVar); @@ -354,6 +419,15 @@ PHP_METHOD(Stub_Vars, testArrayTypeVarDumpAndExport) { ZVAL_UNDEF(&testVar); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); +#if PHP_VERSION_ID >= 80000 + bool is_null_true = 1; + ZEND_PARSE_PARAMETERS_START(0, 1) + Z_PARAM_OPTIONAL + Z_PARAM_ARRAY(testVar) + ZEND_PARSE_PARAMETERS_END(); + +#endif + ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &testVar_param); @@ -377,7 +451,7 @@ PHP_METHOD(Stub_Vars, testArrayTypeVarDumpAndExport) { } /** - * @link https://github.com/phalcon/zephir/issues/681 + * @link https://github.com/zephir-lang/zephir/issues/681 */ PHP_METHOD(Stub_Vars, testIntVarDump) { @@ -389,6 +463,7 @@ PHP_METHOD(Stub_Vars, testIntVarDump) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); a = 1; @@ -414,6 +489,7 @@ PHP_METHOD(Stub_Vars, testDoubleVarDump) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); a = (double) (1); @@ -439,6 +515,7 @@ PHP_METHOD(Stub_Vars, testBoolVarDump) { ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZEPHIR_MM_GROW(); a = 1; @@ -462,6 +539,7 @@ PHP_METHOD(Stub_Vars, testGetDefinedVars) { + a = 1; pi = 3.14; zephir_get_defined_vars(return_value); diff --git a/ext/stub/vars.zep.h b/ext/stub/vars.zep.h index be5239c828..eb1e2008ef 100644 --- a/ext/stub/vars.zep.h +++ b/ext/stub/vars.zep.h @@ -22,34 +22,24 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testparam, 0, 0, 1) ZEND_ARG_ARRAY_INFO(0, config, 0) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testvardump, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testvardump2, 0, 0, 1) ZEND_ARG_INFO(0, ret) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testvarexport, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_test88issue, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param1, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, param1) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param2, IS_STRING, 1) -#else - ZEND_ARG_INFO(0, param2) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_test88issueparam2initstring, 0, 0, 1) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param1, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, param1) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, param2, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, param2) -#endif ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testvardump2param, 0, 0, 2) @@ -71,20 +61,56 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testarraytypevardumpandexport, 0, 0, 0) ZEND_ARG_ARRAY_INFO(0, testVar, 0) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testintvardump, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testdoublevardump, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testboolvardump, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_stub_vars_testgetdefinedvars, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(stub_vars_method_entry) { PHP_ME(Stub_Vars, testParam, arginfo_stub_vars_testparam, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Vars, testVarDump, arginfo_stub_vars_testvardump, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Vars, testVarDump, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Vars, testVarDump2, arginfo_stub_vars_testvardump2, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Vars, testVarExport, arginfo_stub_vars_testvarexport, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Vars, testVarExport, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(Stub_Vars, test88Issue, arginfo_stub_vars_test88issue, ZEND_ACC_PUBLIC) PHP_ME(Stub_Vars, test88IssueParam2InitString, arginfo_stub_vars_test88issueparam2initstring, ZEND_ACC_PUBLIC) PHP_ME(Stub_Vars, testVarDump2param, arginfo_stub_vars_testvardump2param, ZEND_ACC_PUBLIC) PHP_ME(Stub_Vars, testVarDump3param, arginfo_stub_vars_testvardump3param, ZEND_ACC_PUBLIC) PHP_ME(Stub_Vars, testCountOptimizerVarDumpAndExport, arginfo_stub_vars_testcountoptimizervardumpandexport, ZEND_ACC_PUBLIC) PHP_ME(Stub_Vars, testArrayTypeVarDumpAndExport, arginfo_stub_vars_testarraytypevardumpandexport, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Vars, testIntVarDump, arginfo_stub_vars_testintvardump, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Vars, testIntVarDump, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Vars, testDoubleVarDump, arginfo_stub_vars_testdoublevardump, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Vars, testDoubleVarDump, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Vars, testBoolVarDump, arginfo_stub_vars_testboolvardump, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Vars, testBoolVarDump, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(Stub_Vars, testGetDefinedVars, arginfo_stub_vars_testgetdefinedvars, ZEND_ACC_PUBLIC) +#else PHP_ME(Stub_Vars, testGetDefinedVars, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/kernels/ZendEngine3/README.md b/kernels/ZendEngine3/README.md old mode 100644 new mode 100755 diff --git a/kernels/ZendEngine3/array.c b/kernels/ZendEngine3/array.c old mode 100644 new mode 100755 index 49267eb4df..0f64755a20 --- a/kernels/ZendEngine3/array.c +++ b/kernels/ZendEngine3/array.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -1052,8 +1052,6 @@ void zephir_fast_array_merge(zval *return_value, zval *array1, zval *array2) } array_init_size(return_value, init_size); - php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array1)); - php_array_merge(Z_ARRVAL_P(return_value), Z_ARRVAL_P(array2)); } diff --git a/kernels/ZendEngine3/array.h b/kernels/ZendEngine3/array.h old mode 100644 new mode 100755 index 643ba791f8..11d19b6f77 --- a/kernels/ZendEngine3/array.h +++ b/kernels/ZendEngine3/array.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/kernels/ZendEngine3/backtrace.c b/kernels/ZendEngine3/backtrace.c old mode 100644 new mode 100755 index df59d00654..994d9fcee9 --- a/kernels/ZendEngine3/backtrace.c +++ b/kernels/ZendEngine3/backtrace.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_RELEASE #if defined(linux) || defined(DARWIN) || defined(__APPLE__) diff --git a/kernels/ZendEngine3/backtrace.h b/kernels/ZendEngine3/backtrace.h old mode 100644 new mode 100755 index 3131224790..75444784ff --- a/kernels/ZendEngine3/backtrace.h +++ b/kernels/ZendEngine3/backtrace.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_BACKTRACE_H #define ZEPHIR_KERNEL_BACKTRACE_H diff --git a/kernels/ZendEngine3/debug.c b/kernels/ZendEngine3/debug.c old mode 100644 new mode 100755 index 8a68da4d11..6623a9793b --- a/kernels/ZendEngine3/debug.c +++ b/kernels/ZendEngine3/debug.c @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/kernels/ZendEngine3/debug.h b/kernels/ZendEngine3/debug.h old mode 100644 new mode 100755 index 9519fb65c9..d27e1facc6 --- a/kernels/ZendEngine3/debug.h +++ b/kernels/ZendEngine3/debug.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_DEBUG_H #define ZEPHIR_KERNEL_DEBUG_H diff --git a/kernels/ZendEngine3/exception.c b/kernels/ZendEngine3/exception.c old mode 100644 new mode 100755 index d8cd7c4adc..6d0a50ba3c --- a/kernels/ZendEngine3/exception.c +++ b/kernels/ZendEngine3/exception.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -63,8 +54,14 @@ void zephir_throw_exception_debug(zval *object, const char *file, uint32_t line) zephir_check_call_status(); if (ZEPHIR_IS_LONG(&curline, 0)) { default_exception_ce = zend_exception_get_default(); + +#if PHP_VERSION_ID >= 80000 + zend_update_property_string(default_exception_ce, Z_OBJ_P(object), SL("file"), file); + zend_update_property_long(default_exception_ce, Z_OBJ_P(object), SL("line"), line); +#else zend_update_property_string(default_exception_ce, object, SL("file"), file); zend_update_property_long(default_exception_ce, object, SL("line"), line); +#endif } } @@ -91,8 +88,13 @@ void zephir_throw_exception_string_debug(zend_class_entry *ce, const char *messa if (line > 0) { default_exception_ce = zend_exception_get_default(); +#if PHP_VERSION_ID >= 80000 + zend_update_property_string(default_exception_ce, Z_OBJ(object), "file", sizeof("file")-1, file); + zend_update_property_long(default_exception_ce, Z_OBJ(object), "line", sizeof("line")-1, line); +#else zend_update_property_string(default_exception_ce, &object, "file", sizeof("file")-1, file); zend_update_property_long(default_exception_ce, &object, "line", sizeof("line")-1, line); +#endif } if (ZEPHIR_LAST_CALL_STATUS != FAILURE) { diff --git a/kernels/ZendEngine3/exception.h b/kernels/ZendEngine3/exception.h old mode 100644 new mode 100755 index f570a456da..5ae19973ad --- a/kernels/ZendEngine3/exception.h +++ b/kernels/ZendEngine3/exception.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_EXCEPTIONS_H #define ZEPHIR_KERNEL_EXCEPTIONS_H diff --git a/kernels/ZendEngine3/exit.c b/kernels/ZendEngine3/exit.c old mode 100644 new mode 100755 index e7996af094..a4ba9edc68 --- a/kernels/ZendEngine3/exit.c +++ b/kernels/ZendEngine3/exit.c @@ -1,19 +1,13 @@ -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Song Yeung | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/kernels/ZendEngine3/exit.h b/kernels/ZendEngine3/exit.h old mode 100644 new mode 100755 index 6a5effe6c2..1c457ef7fb --- a/kernels/ZendEngine3/exit.h +++ b/kernels/ZendEngine3/exit.h @@ -1,20 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Song Yeung | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_EXIT_H #define ZEPHIR_KERNEL_EXIT_H diff --git a/kernels/ZendEngine3/fcall.c b/kernels/ZendEngine3/fcall.c old mode 100644 new mode 100755 index ad3d7950ef..447d281044 --- a/kernels/ZendEngine3/fcall.c +++ b/kernels/ZendEngine3/fcall.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -45,11 +45,7 @@ static int zephir_make_fcall_key(zend_string* s, zephir_call_type type, zend_cla const zend_class_entry *calling_scope; unsigned char t; -#if PHP_VERSION_ID >= 70100 calling_scope = zend_get_executed_scope(); -#else - calling_scope = EG(scope); -#endif switch (type) { case zephir_fcall_parent: @@ -205,15 +201,9 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze { zend_class_entry* calling_scope; -#if PHP_VERSION_ID < 70300 - fcic->initialized = 0; -#endif fcic->function_handler = NULL; if (type == zephir_fcall_function && Z_TYPE_P(func) == IS_STRING) { -#if PHP_VERSION_ID < 70300 - fcic->initialized = 1; -#endif fcic->called_scope = NULL; fcic->calling_scope = NULL; fcic->object = NULL; @@ -222,15 +212,30 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze fcic->called_scope = called_scope; -#if PHP_VERSION_ID >= 70100 - calling_scope = zend_get_executed_scope(); +#if PHP_VERSION_ID >= 80000 + calling_scope = zend_get_called_scope(EG(current_execute_data)); #else - calling_scope = EG(scope); + calling_scope = zend_get_executed_scope(); #endif fcic->object = this_ptr ? Z_OBJ_P(this_ptr) : NULL; switch (type) { case zephir_fcall_parent: + +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->parent->function_table, Z_STR_P(func)); + + fcic->calling_scope = ce->parent; + } else if (EXPECTED(calling_scope && calling_scope->parent)) { + if (Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->parent->function_table, Z_STR_P(func)); + } + fcic->calling_scope = calling_scope->parent; + } else { + return; + } +#endif if (UNEXPECTED(!calling_scope || !calling_scope->parent)) { return; } @@ -239,18 +244,52 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze break; case zephir_fcall_static: - fcic->calling_scope = fcic->called_scope; +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + fcic->calling_scope = ce; + } else if (calling_scope && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->function_table, Z_STR_P(func)); + fcic->calling_scope = called_scope; + } +#else + fcic->calling_scope = called_scope; if (UNEXPECTED(!calling_scope)) { return; } +#endif break; case zephir_fcall_self: +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + fcic->calling_scope = ce; + } else if (calling_scope && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->function_table, Z_STR_P(func)); + // TODO: Review when error will be enabled in zend_is_callable_ex() calls + //fcic->object = zend_get_this_object(EG(current_execute_data)); + //fcic->called_scope = zend_get_called_scope(EG(current_execute_data)); + fcic->calling_scope = calling_scope; + } +#else fcic->calling_scope = calling_scope; +#endif break; case zephir_fcall_ce: +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + + fcic->calling_scope = ce; + } else if (calling_scope && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&calling_scope->function_table, Z_STR_P(func)); + fcic->calling_scope = calling_scope; + } +#endif + // TODO: Check for PHP 7.4 and PHP 8.0, as it rewrite from above fcic->calling_scope = ce; fcic->called_scope = ce; break; @@ -258,7 +297,11 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze case zephir_fcall_function: case zephir_fcall_method: if (Z_TYPE_P(func) == IS_OBJECT) { +#if PHP_VERSION_ID >= 80000 + if (Z_OBJ_HANDLER_P(func, get_closure) && Z_OBJ_HANDLER_P(func, get_closure)(Z_OBJ_P(func), &fcic->calling_scope, &fcic->function_handler, &fcic->object, 0) == SUCCESS) { +#else if (Z_OBJ_HANDLER_P(func, get_closure) && Z_OBJ_HANDLER_P(func, get_closure)(func, &fcic->calling_scope, &fcic->function_handler, &fcic->object) == SUCCESS) { +#endif fcic->called_scope = fcic->calling_scope; break; } @@ -266,6 +309,11 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze return; } +#if PHP_VERSION_ID >= 80000 + if (ce && Z_TYPE_P(func) == IS_STRING) { + fcic->function_handler = zend_hash_find_ptr(&ce->function_table, Z_STR_P(func)); + } +#endif fcic->calling_scope = this_ptr ? Z_OBJCE_P(this_ptr) : NULL; fcic->called_scope = fcic->calling_scope; break; @@ -273,19 +321,22 @@ static void populate_fcic(zend_fcall_info_cache* fcic, zephir_call_type type, ze default: return; } - -#if PHP_VERSION_ID < 70300 - fcic->initialized = 1; -#endif } /** * Calls a function/method in the PHP userland */ -int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_call_type type, - zval *function_name, zval *retval_ptr, zephir_fcall_cache_entry **cache_entry, int cache_slot, uint32_t param_count, - zval *params[]) -{ +int zephir_call_user_function( + zval *object_pp, + zend_class_entry *obj_ce, + zephir_call_type type, + zval *function_name, + zval *retval_ptr, + zephir_fcall_cache_entry **cache_entry, + int cache_slot, + uint32_t param_count, + zval *params[] +) { zval local_retval_ptr; int status; zend_fcall_info fci; @@ -314,7 +365,7 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ if (reload_cache) { key_ok = zephir_make_fcall_key((zend_string*)fcall_key, type, (object_pp && type != zephir_fcall_ce ? Z_OBJCE_P(object_pp) : obj_ce), function_name, called_scope); if (SUCCESS == key_ok) { - zend_string* zs = (zend_string*)fcall_key; + zend_string* zs = (zend_string*)fcall_key; GC_SET_REFCOUNT(zs, 1); GC_TYPE_INFO(zs) = IS_STRING; @@ -327,55 +378,69 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ } } - fci.size = sizeof(fci); -#if PHP_VERSION_ID < 70100 - fci.function_table = obj_ce ? &obj_ce->function_table : EG(function_table); - fci.symbol_table = NULL; -#endif - fci.object = object_pp ? Z_OBJ_P(object_pp) : NULL; - fci.retval = retval_ptr ? retval_ptr : &local_retval_ptr; - fci.param_count = param_count; - fci.params = NULL; - fci.no_separation = 1; - -#if PHP_VERSION_ID < 70300 - fcic.initialized = 0; + fci.size = sizeof(fci); + fci.object = object_pp ? Z_OBJ_P(object_pp) : NULL; + ZVAL_COPY_VALUE(&fci.function_name, function_name); + fci.retval = retval_ptr ? retval_ptr : &local_retval_ptr; + fci.param_count = param_count; + +#if PHP_VERSION_ID < 80000 + fci.no_separation = 1; +#else + fci.named_params = NULL; #endif if (cache_entry && *cache_entry) { - /* We have a cache record, initialize scope */ + /* We have a cache record, initialize scope */ populate_fcic(&fcic, type, obj_ce, object_pp, function_name, called_scope); if (!fcic.function_handler) { fcic.function_handler = *cache_entry; } ZVAL_UNDEF(&fci.function_name); - } - else if ((cache_entry && !*cache_entry) || zephir_globals_ptr->cache_enabled) { - /* The caller is interested in caching OR we have the call cache enabled */ + } else if ((cache_entry && !*cache_entry) || zephir_globals_ptr->cache_enabled) { + /* The caller is interested in caching OR we have the call cache enabled */ resolve_callable(&callable, type, (object_pp && type != zephir_fcall_ce ? Z_OBJCE_P(object_pp) : obj_ce), object_pp, function_name); - zend_is_callable_ex(&callable, fci.object, IS_CALLABLE_CHECK_SILENT, NULL, &fcic, NULL); - } -#if PHP_VERSION_ID < 70300 - if (!fcic.initialized) { - resolve_callable(&callable, type, (object_pp && type != zephir_fcall_ce ? Z_OBJCE_P(object_pp) : obj_ce), object_pp, function_name); - ZVAL_COPY_VALUE(&fci.function_name, &callable); - } +#if PHP_VERSION_ID >= 80000 + char *is_callable_error = NULL; + zend_execute_data *frame = EG(current_execute_data); + if (obj_ce || !zend_is_callable_at_frame(&callable, fci.object, frame, 0, &fcic, &is_callable_error)) { + if (is_callable_error) { + zend_error(E_WARNING, "%s", is_callable_error); + efree(is_callable_error); + + return FAILURE; + } + + populate_fcic(&fcic, type, obj_ce, object_pp, function_name, called_scope); + } +#else + zend_is_callable_ex(&callable, fci.object, IS_CALLABLE_CHECK_SILENT, NULL, &fcic, NULL); #endif + } #ifdef _MSC_VER zval *p = emalloc(sizeof(zval) * (fci.param_count + 1)); #else zval p[fci.param_count]; #endif + uint32_t i; for (i = 0; i < fci.param_count; ++i) { ZVAL_COPY_VALUE(&p[i], params[i]); } fci.params = p; + +#if PHP_VERSION_ID >= 80000 + if (!fcic.function_handler) { + ZVAL_COPY_VALUE(&fci.function_name, &callable); + } +#endif + status = zend_call_function(&fci, &fcic); + #ifdef _MSC_VER efree(p); #endif @@ -386,12 +451,9 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ /* Skip caching IF: * call failed OR there was an exception (to be safe) OR cache key is not defined OR - * fcall cache was deinitialized OR we have a slot cache + * fcall cache was de-initialized OR we have a slot cache */ int initialized = 1; -#if PHP_VERSION_ID < 70300 - initialized = fcic.initialized; -#endif if (EXPECTED(status != FAILURE) && !EG(exception) && SUCCESS == key_ok && initialized && !temp_cache_entry) { zephir_fcall_cache_entry *cache_entry_temp = fcic.function_handler; @@ -411,8 +473,7 @@ int zephir_call_user_function(zval *object_pp, zend_class_entry *obj_ce, zephir_ if (!retval_ptr) { zval_ptr_dtor(&local_retval_ptr); - } - else if (FAILURE == status || EG(exception)) { + } else if (FAILURE == status || EG(exception)) { ZVAL_NULL(retval_ptr); } else if (Z_TYPE_P(retval_ptr) == IS_ARRAY) { SEPARATE_ARRAY(retval_ptr); @@ -488,11 +549,18 @@ int zephir_call_zval_func_aparams(zval *return_value_ptr, zval *func_name, return status; } -int zephir_call_class_method_aparams(zval *return_value, zend_class_entry *ce, zephir_call_type type, zval *object, - const char *method_name, uint32_t method_len, - zephir_fcall_cache_entry **cache_entry, int cache_slot, - uint32_t param_count, zval **params) -{ +int zephir_call_class_method_aparams( + zval *return_value, + zend_class_entry *ce, + zephir_call_type type, + zval *object, + const char *method_name, + uint32_t method_len, + zephir_fcall_cache_entry **cache_entry, + int cache_slot, + uint32_t param_count, + zval **params +) { int status; #ifndef ZEPHIR_RELEASE @@ -562,6 +630,7 @@ int zephir_call_user_func_array_noex(zval *return_value, zval *handler, zval *pa return FAILURE; } +#if PHP_VERSION_ID < 80000 zend_fcall_info_init(handler, 0, &fci, &fci_cache, NULL, &is_callable_error); if (is_callable_error) { @@ -583,6 +652,29 @@ int zephir_call_user_func_array_noex(zval *return_value, zval *handler, zval *pa if (EG(exception)) { status = SUCCESS; } +#else + zend_execute_data *frame = EG(current_execute_data); + if (!zend_is_callable_at_frame(handler, NULL, frame, 0, &fci_cache, &is_callable_error)) { + if (is_callable_error) { + zend_error(E_WARNING, "%s", is_callable_error); + efree(is_callable_error); + } + + return FAILURE; + } + + fci.size = sizeof(fci); + fci.object = fci_cache.object; + ZVAL_COPY_VALUE(&fci.function_name, handler); + fci.param_count = 0; + fci.params = NULL; + fci.retval = return_value; + fci.named_params = NULL; + + zend_fcall_info_args(&fci, params); + status = zend_call_function(&fci, &fci_cache); + zend_fcall_info_args_clear(&fci, 1); +#endif return status; } @@ -601,7 +693,11 @@ 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); +#else + new_op_array = zend_compile_string(Z_STR_P(str), context); +#endif CG(compiler_options) = original_compiler_options; if (new_op_array) diff --git a/kernels/ZendEngine3/fcall.h b/kernels/ZendEngine3/fcall.h old mode 100644 new mode 100755 index 592a11a2f9..2581360756 --- a/kernels/ZendEngine3/fcall.h +++ b/kernels/ZendEngine3/fcall.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -69,9 +69,6 @@ typedef enum _zephir_call_type { } \ else { ZEPHIR_SET_THIS_EXPLICIT_NULL(); } \ - -#if PHP_VERSION_ID >= 70100 - #define ZEPHIR_BACKUP_SCOPE() \ zend_class_entry *old_scope = EG(fake_scope); \ zend_execute_data *old_call = execute_data; \ @@ -97,36 +94,6 @@ typedef enum _zephir_call_type { EG(fake_scope) = _scope; \ zephir_set_called_scope(EG(current_execute_data), _scope_called); \ -#else - -#define ZEPHIR_BACKUP_SCOPE() \ - zend_class_entry *old_scope = EG(scope); \ - zend_execute_data *old_call = execute_data; \ - zend_execute_data *old_execute_data = EG(current_execute_data), new_execute_data; \ - if (!EG(current_execute_data)) { \ - memset(&new_execute_data, 0, sizeof(zend_execute_data)); \ - execute_data = EG(current_execute_data) = &new_execute_data; \ - } else { \ - new_execute_data = *EG(current_execute_data); \ - new_execute_data.prev_execute_data = EG(current_execute_data); \ - new_execute_data.call = NULL; \ - new_execute_data.opline = NULL; \ - new_execute_data.func = NULL; \ - execute_data = EG(current_execute_data) = &new_execute_data; \ - } -// TODO(serghei): Deprecated -#define ZEPHIR_RESTORE_SCOPE() \ - EG(scope) = old_scope; \ - execute_data = old_call; \ - EG(current_execute_data) = old_execute_data; - -// TODO(serghei): Deprecated -#define ZEPHIR_SET_SCOPE(_scope, _scope_called) \ - EG(scope) = _scope; \ - EG(current_execute_data)->called_scope = _scope_called; - -#endif - /* End internal calls */ #define ZEPHIR_RETURN_CALL_ZVAL_FUNCTION(func_name, cache, cache_slot, ...) \ @@ -200,11 +167,19 @@ typedef enum _zephir_call_type { ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, Z_TYPE_P(object) == IS_OBJECT ? Z_OBJCE_P(object) : NULL, zephir_fcall_method, object, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_RETURN_CALL_STATIC(method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_static, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_RETURN_CALL_STATIC(method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, NULL, zephir_fcall_static, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif #define ZEPHIR_RETURN_CALL_PARENT(class_entry, this_ptr, method, cache, cache_slot, ...) \ do { \ @@ -212,25 +187,51 @@ typedef enum _zephir_call_type { ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, class_entry, zephir_fcall_parent, this_ptr, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_CALL_SELF(return_value_ptr, method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ + ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_self, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_CALL_SELF(return_value_ptr, method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, NULL, zephir_fcall_self, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_RETURN_CALL_SELF(method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_self, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_RETURN_CALL_SELF(method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_LAST_CALL_STATUS = zephir_return_call_class_method(return_value, NULL, zephir_fcall_self, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif +#if PHP_VERSION_ID >= 80000 +#define ZEPHIR_CALL_STATIC(return_value_ptr, method, cache, cache_slot, ...) \ + do { \ + zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ + ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ + ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, (getThis() ? Z_OBJCE_P(getThis()) : NULL), zephir_fcall_static, getThis(), method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ + } while (0) +#else #define ZEPHIR_CALL_STATIC(return_value_ptr, method, cache, cache_slot, ...) \ do { \ zval *params_[] = {ZEPHIR_FETCH_VA_ARGS __VA_ARGS__}; \ ZEPHIR_OBSERVE_OR_NULLIFY_PPZV(return_value_ptr); \ ZEPHIR_LAST_CALL_STATUS = zephir_call_class_method_aparams(return_value_ptr, NULL, zephir_fcall_static, NULL, method, strlen(method), cache, cache_slot, ZEPHIR_CALL_NUM_PARAMS(params_), ZEPHIR_PASS_CALL_PARAMS(params_)); \ } while (0) +#endif #define ZEPHIR_CALL_CE_STATIC(return_value_ptr, class_entry, method, cache, cache_slot, ...) \ do { \ @@ -298,7 +299,8 @@ int zephir_call_zval_func_aparams(zval *return_value_ptr, zval *func_name, zephir_fcall_cache_entry **cache_entry, int cache_slot, uint32_t param_count, zval **params) ZEPHIR_ATTR_WARN_UNUSED_RESULT; -int zephir_call_class_method_aparams(zval *return_value_ptr, +int zephir_call_class_method_aparams( + zval *return_value_ptr, zend_class_entry *ce, zephir_call_type type, zval *object, @@ -365,12 +367,18 @@ ZEPHIR_ATTR_WARN_UNUSED_RESULT static inline int zephir_return_call_zval_functio return SUCCESS; } -ZEPHIR_ATTR_WARN_UNUSED_RESULT static inline int zephir_return_call_class_method(zval *return_value, - zend_class_entry *ce, zephir_call_type type, zval *object, - const char *method_name, uint32_t method_len, - zephir_fcall_cache_entry **cache_entry, int cache_slot, - uint32_t param_count, zval **params) -{ +ZEPHIR_ATTR_WARN_UNUSED_RESULT static inline int zephir_return_call_class_method( + zval *return_value, + zend_class_entry *ce, + zephir_call_type type, + zval *object, + const char *method_name, + uint32_t method_len, + zephir_fcall_cache_entry **cache_entry, + int cache_slot, + uint32_t param_count, + zval **params +) { zval rv, *rvp = return_value ? return_value : &rv; int status; diff --git a/kernels/ZendEngine3/file.c b/kernels/ZendEngine3/file.c old mode 100644 new mode 100755 index 96aabd071c..a0540f7d83 --- a/kernels/ZendEngine3/file.c +++ b/kernels/ZendEngine3/file.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -88,7 +79,6 @@ int zephir_file_exists(zval *filename) */ int zephir_compare_mtime(zval *filename1, zval *filename2) { - php_stream_statbuf statbuffer1, statbuffer2; if (Z_TYPE_P(filename1) != IS_STRING || Z_TYPE_P(filename2) != IS_STRING) { @@ -111,7 +101,6 @@ int zephir_compare_mtime(zval *filename1, zval *filename2) void zephir_fwrite(zval *return_value, zval *stream_zval, zval *data) { - int num_bytes; php_stream *stream; @@ -152,7 +141,6 @@ void zephir_fwrite(zval *return_value, zval *stream_zval, zval *data) int zephir_feof(zval *stream_zval) { - php_stream *stream; if (Z_TYPE_P(stream_zval) != IS_RESOURCE) { @@ -256,11 +244,7 @@ void zephir_file_put_contents(zval *return_value, zval *filename, zval *data) case IS_DOUBLE: case IS_TRUE: case IS_FALSE: -#if PHP_VERSION_ID < 70300 - case IS_CONSTANT: -#else case IS_CONSTANT_AST: -#endif use_copy = zend_make_printable_zval(data, ©); if (use_copy) { data = © @@ -315,7 +299,6 @@ void zephir_filemtime(zval *return_value, zval *path) */ void zephir_prepare_virtual_path(zval *return_value, zval *path, zval *virtual_separator) { - unsigned int i; unsigned char ch; smart_str virtual_str = {0}; diff --git a/kernels/ZendEngine3/file.h b/kernels/ZendEngine3/file.h old mode 100644 new mode 100755 index 924d83ca5c..90495c90f0 --- a/kernels/ZendEngine3/file.h +++ b/kernels/ZendEngine3/file.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_FILE_H #define ZEPHIR_KERNEL_FILE_H diff --git a/kernels/ZendEngine3/filter.c b/kernels/ZendEngine3/filter.c old mode 100644 new mode 100755 index 0cdc4faf4f..bd30aaed4d --- a/kernels/ZendEngine3/filter.c +++ b/kernels/ZendEngine3/filter.c @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -40,8 +32,8 @@ /** * Filter alphanum string */ -void zephir_filter_alphanum(zval *return_value, zval *param) { - +void zephir_filter_alphanum(zval *return_value, zval *param) +{ unsigned int i; unsigned char ch; smart_str filtered_str = {0}; @@ -83,7 +75,6 @@ void zephir_filter_alphanum(zval *return_value, zval *param) { */ void zephir_is_basic_charset(zval *return_value, const zval *param) { - unsigned int i; unsigned int ch; int iso88591 = 0; @@ -127,8 +118,8 @@ static long zephir_unpack(char *data, int size, int issigned, int *map) /** * Converts an unsigned long to a char* */ -static inline char *zephir_longtohex(unsigned long value) { - +static inline char *zephir_longtohex(unsigned long value) +{ static char digits[] = "0123456789abcdef"; char buf[(sizeof(unsigned long) << 3) + 1]; char *ptr, *end; @@ -148,7 +139,6 @@ static inline char *zephir_longtohex(unsigned long value) { */ void zephir_escape_multi(zval *return_value, zval *param, const char *escape_char, unsigned int escape_length, char escape_extra, int use_whitelist) { - unsigned int i; zval copy; smart_str escaped_str = {0}; diff --git a/kernels/ZendEngine3/filter.h b/kernels/ZendEngine3/filter.h old mode 100644 new mode 100755 index 951ba81a86..652d1e9040 --- a/kernels/ZendEngine3/filter.h +++ b/kernels/ZendEngine3/filter.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_FILTER_H #define ZEPHIR_KERNEL_FILTER_H diff --git a/kernels/ZendEngine3/globals.h b/kernels/ZendEngine3/globals.h old mode 100644 new mode 100755 index 3c065d4f8c..724e2e3feb --- a/kernels/ZendEngine3/globals.h +++ b/kernels/ZendEngine3/globals.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_GLOBALS_H #define ZEPHIR_KERNEL_GLOBALS_H @@ -94,4 +85,8 @@ typedef zend_function zephir_fcall_cache_entry; #define likely(x) EXPECTED(x) #define unlikely(x) UNEXPECTED(x) +#ifndef ZEND_ACC_DTOR + #define ZEND_ACC_DTOR 0 +#endif + #endif diff --git a/kernels/ZendEngine3/iterator.c b/kernels/ZendEngine3/iterator.c old mode 100644 new mode 100755 index b71e43e0c9..901f3efc2c --- a/kernels/ZendEngine3/iterator.c +++ b/kernels/ZendEngine3/iterator.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/kernels/ZendEngine3/iterator.h b/kernels/ZendEngine3/iterator.h old mode 100644 new mode 100755 index c2fdf0e96c..48d49629c1 --- a/kernels/ZendEngine3/iterator.h +++ b/kernels/ZendEngine3/iterator.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_ITERATOR_H #define ZEPHIR_KERNEL_ITERATOR_H diff --git a/kernels/ZendEngine3/main.c b/kernels/ZendEngine3/main.c old mode 100644 new mode 100755 index 69752c6e69..8014a65145 --- a/kernels/ZendEngine3/main.c +++ b/kernels/ZendEngine3/main.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -142,13 +142,21 @@ void zephir_fast_count(zval *result, zval *value) if (Z_OBJ_HT_P(value)->count_elements) { ZVAL_LONG(result, 1); +#if PHP_VERSION_ID >= 80000 + if (SUCCESS == Z_OBJ_HT(*value)->count_elements(Z_OBJ_P(value), &Z_LVAL_P(result))) { +#else if (SUCCESS == Z_OBJ_HT(*value)->count_elements(value, &Z_LVAL_P(result))) { +#endif return; } } if (instanceof_function(Z_OBJCE_P(value), spl_ce_Countable)) { +#if PHP_VERSION_ID >= 80000 + zend_call_method_with_0_params(Z_OBJ_P(value), NULL, NULL, "count", &retval); +#else zend_call_method_with_0_params(value, NULL, NULL, "count", &retval); +#endif if (Z_TYPE(retval) != IS_UNDEF) { convert_to_long_ex(&retval); ZVAL_LONG(result, Z_LVAL(retval)); @@ -185,12 +193,20 @@ int zephir_fast_count_ev(zval *value) zval retval; if (Z_OBJ_HT_P(value)->count_elements) { +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT(*value)->count_elements(Z_OBJ_P(value), &count); +#else Z_OBJ_HT(*value)->count_elements(value, &count); +#endif return (int) count > 0; } if (instanceof_function(Z_OBJCE_P(value), spl_ce_Countable)) { +#if PHP_VERSION_ID >= 80000 + zend_call_method_with_0_params(Z_OBJ_P(value), NULL, NULL, "count", &retval); +#else zend_call_method_with_0_params(value, NULL, NULL, "count", &retval); +#endif if (Z_TYPE(retval) != IS_UNDEF) { convert_to_long_ex(&retval); count = Z_LVAL(retval); @@ -222,16 +238,23 @@ int zephir_fast_count_int(zval *value) } if (Z_TYPE_P(value) == IS_OBJECT) { - zval retval; if (Z_OBJ_HT_P(value)->count_elements) { +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT(*value)->count_elements(Z_OBJ_P(value), &count); +#else Z_OBJ_HT(*value)->count_elements(value, &count); +#endif return (int) count; } if (instanceof_function(Z_OBJCE_P(value), spl_ce_Countable)) { +#if PHP_VERSION_ID >= 80000 + zend_call_method_with_0_params(Z_OBJ_P(value), NULL, NULL, "count", &retval); +#else zend_call_method_with_0_params(value, NULL, NULL, "count", &retval); +#endif if (Z_TYPE(retval) != IS_UNDEF) { convert_to_long_ex(&retval); count = Z_LVAL(retval); @@ -251,20 +274,6 @@ int zephir_fast_count_int(zval *value) return 1; } -/** - * Check if a function exists using explicit function length - * - * TODO: Deprecated. Will be removed in future - */ -int zephir_function_quick_exists_ex(const char *function_name, size_t function_len) -{ - if (zend_hash_str_exists(CG(function_table), function_name, function_len)) { - return SUCCESS; - } - - return FAILURE; -} - /** * Check if a function exists * @@ -273,7 +282,7 @@ int zephir_function_quick_exists_ex(const char *function_name, size_t function_l */ int zephir_function_exists(const zval *function_name) { - if (zend_hash_str_exists(CG(function_table), Z_STRVAL_P(function_name), Z_STRLEN_P(function_name))) { + if (zend_hash_str_exists(CG(function_table), Z_STRVAL_P(function_name), Z_STRLEN_P(function_name)) != NULL) { return SUCCESS; } @@ -283,13 +292,17 @@ int zephir_function_exists(const zval *function_name) /** * Check if a function exists using explicit function length * - * TODO: Deprecated. Will be removed in future + * TODO: Check if make sense to merge all logic of IS_STRING inside zephir_function_exists() function. * @param function_name * @param function_len strlen(function_name) + 1 */ int zephir_function_exists_ex(const char *function_name, unsigned int function_len) { - return zephir_function_quick_exists_ex(function_name, function_len); + if (zend_hash_str_exists(CG(function_table), function_name, function_len) != NULL) { + return SUCCESS; + } + + return FAILURE; } /** @@ -393,8 +406,7 @@ zend_class_entry* zephir_get_internal_ce(const char *class_name, unsigned int cl /* Declare constants */ int zephir_declare_class_constant(zend_class_entry *ce, const char *name, size_t name_length, zval *value) { -#if PHP_VERSION_ID >= 70200 - int ret; +#if PHP_VERSION_ID >= 80000 zend_string *key; if (ce->type == ZEND_INTERNAL_CLASS) { @@ -403,27 +415,30 @@ int zephir_declare_class_constant(zend_class_entry *ce, const char *name, size_t key = zend_string_init(name, name_length, 0); } - ret = zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); + zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); if (ce->type != ZEND_INTERNAL_CLASS) { zend_string_release(key); } - return ret; -#elif PHP_VERSION_ID >= 70100 + return SUCCESS; +#else int ret; + zend_string *key; + + if (ce->type == ZEND_INTERNAL_CLASS) { + key = zend_string_init_interned(name, name_length, 1); + } else { + key = zend_string_init(name, name_length, 0); + } - zend_string *key = zend_string_init(name, name_length, ce->type & ZEND_INTERNAL_CLASS); ret = zend_declare_class_constant_ex(ce, key, value, ZEND_ACC_PUBLIC, NULL); - zend_string_release(key); - return ret; -#else - if (Z_CONSTANT_P(value)) { - ce->ce_flags &= ~ZEND_ACC_CONSTANTS_UPDATED; + + if (ce->type != ZEND_INTERNAL_CLASS) { + zend_string_release(key); } - ZVAL_NEW_PERSISTENT_REF(value, value); - return zend_hash_str_update(&ce->constants_table, name, name_length, value) ? - SUCCESS : FAILURE; + + return ret; #endif } @@ -498,8 +513,7 @@ int zephir_is_php_version(unsigned int id) return ((php_major + php_minor + php_release) == id ? 1 : 0); } -void -zephir_get_args(zval *return_value) +void zephir_get_args(zval *return_value) { zend_execute_data *ex = EG(current_execute_data); uint32_t arg_count = ZEND_CALL_NUM_ARGS(ex); @@ -542,8 +556,7 @@ zephir_get_args(zval *return_value) } } -void -zephir_get_arg(zval *return_value, zend_long idx) +void zephir_get_arg(zval *return_value, zend_long idx) { zend_execute_data *ex = EG(current_execute_data); uint32_t arg_count; @@ -555,11 +568,9 @@ zephir_get_arg(zval *return_value, zend_long idx) } arg_count = ZEND_CALL_NUM_ARGS(ex); -#if PHP_VERSION_ID >= 70100 - if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { - RETURN_FALSE; - } -#endif + if (zend_forbid_dynamic_call("func_get_arg()") == FAILURE) { + RETURN_FALSE; + } 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/main.h b/kernels/ZendEngine3/main.h old mode 100644 new mode 100755 index 28d513a2e1..72278a569f --- a/kernels/ZendEngine3/main.h +++ b/kernels/ZendEngine3/main.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/kernels/ZendEngine3/math.c b/kernels/ZendEngine3/math.c old mode 100644 new mode 100755 index 0b0f7eeb12..437a2596c7 --- a/kernels/ZendEngine3/math.c +++ b/kernels/ZendEngine3/math.c @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -189,13 +181,10 @@ void zephir_round(zval *return_value, zval *op1, zval *op2, zval *op3) } } -zend_long -zephir_mt_rand(zend_long min, zend_long max) +zend_long zephir_mt_rand(zend_long min, zend_long max) { - zend_long number; - if (max < min) { - php_error_docref(NULL, E_WARNING, "max(%ld) is smaller than min(%ld)", max, min); + php_error_docref(NULL, E_WARNING, "max(" ZEND_LONG_FMT ") is smaller than min(" ZEND_LONG_FMT ")", max, min); return 0; } @@ -203,20 +192,7 @@ zephir_mt_rand(zend_long min, zend_long max) php_mt_srand(GENERATE_SEED()); } - number = (zend_long) (php_mt_rand() >> 1); - - /** - * The RAND_RANGE() macro has been removed since PHP 7.3. - * php_mt_rand_range() should be used instead. - * However, php_mt_rand_range() has been present since PHP 7.1. - */ -#if PHP_VERSION_ID < 70100 - RAND_RANGE(number, min, max, PHP_MT_RAND_MAX); -#else - number = php_mt_rand_range(min, max); -#endif - - return number; + return php_mt_rand_range(min, max); } double zephir_ldexp(zval *value, zval *expval) diff --git a/kernels/ZendEngine3/math.h b/kernels/ZendEngine3/math.h old mode 100644 new mode 100755 index d83637e09e..ba4c401664 --- a/kernels/ZendEngine3/math.h +++ b/kernels/ZendEngine3/math.h @@ -1,21 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_MATH_H #define ZEPHIR_KERNEL_MATH_H diff --git a/kernels/ZendEngine3/memory.c b/kernels/ZendEngine3/memory.c old mode 100644 new mode 100755 index 180f5ffc36..ac1f012fd0 --- a/kernels/ZendEngine3/memory.c +++ b/kernels/ZendEngine3/memory.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/kernels/ZendEngine3/memory.h b/kernels/ZendEngine3/memory.h old mode 100644 new mode 100755 index b7b0493a6d..269ed60920 --- a/kernels/ZendEngine3/memory.h +++ b/kernels/ZendEngine3/memory.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -179,10 +179,3 @@ int zephir_set_symbol_str(char *key_name, unsigned int key_length, zval *value); } while (0) #endif - -/* Backwards compatibility for GC API change in PHP 7.3 */ -#if PHP_VERSION_ID < 70300 -# define GC_ADDREF(p) ++GC_REFCOUNT(p) -# define GC_DELREF(p) --GC_REFCOUNT(p) -# define GC_SET_REFCOUNT(p, rc) GC_REFCOUNT(p) = rc -#endif diff --git a/kernels/ZendEngine3/object.c b/kernels/ZendEngine3/object.c old mode 100644 new mode 100755 index 0cb92673fd..655b2d38f6 --- a/kernels/ZendEngine3/object.c +++ b/kernels/ZendEngine3/object.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -95,7 +95,6 @@ int zephir_zval_is_traversable(zval *object) */ void zephir_get_called_class(zval *return_value) { -#if PHP_VERSION_ID >= 70100 zend_class_entry *called_scope = zend_get_called_scope(EG(current_execute_data)); if (called_scope) { ZVAL_STR(return_value, zend_string_dup(called_scope->name, 0)); @@ -104,17 +103,6 @@ void zephir_get_called_class(zval *return_value) if (!zend_get_executed_scope()) { php_error_docref(NULL, E_WARNING, "zephir_get_called_class() called from outside a class"); } -#else - if (EG(current_execute_data)->called_scope) { - zend_string *ret = EG(current_execute_data)->called_scope->name; - zend_string_addref(ret); - RETURN_STR(ret); - } - - if (!EG(scope)) { - php_error_docref(NULL, E_WARNING, "zephir_get_called_class() called from outside a class"); - } -#endif } zend_class_entry *zephir_fetch_class_str_ex(const char *class_name, size_t length, int fetch_type) @@ -150,7 +138,6 @@ void zephir_get_class(zval *result, zval *object, int lower) zval *z = Z_ISREF_P(object) ? Z_REFVAL_P(object) : object; if (Z_TYPE_P(z) == IS_OBJECT) { - ce = Z_OBJCE_P(z); //zval_ptr_dtor(result); class_name = zend_string_init(ZSTR_VAL(ce->name), ZSTR_LEN(ce->name), 0); @@ -223,7 +210,6 @@ void zephir_get_class_ns(zval *result, zval *object, int lower) if (lower) { zend_str_tolower(Z_STRVAL_P(result), Z_STRLEN_P(result)); } - } /** @@ -352,7 +338,11 @@ int zephir_clone(zval *destination, zval *obj) status = FAILURE; } else { if (!EG(exception)) { +#if PHP_VERSION_ID >= 80000 + ZVAL_OBJ(destination, clone_call(Z_OBJ_P(obj))); +#else ZVAL_OBJ(destination, clone_call(obj)); +#endif if (EG(exception)) { zval_ptr_dtor(destination); } @@ -369,19 +359,10 @@ int zephir_clone(zval *destination, zval *obj) int zephir_isset_property(zval *object, const char *property_name, unsigned int property_length) { if (Z_TYPE_P(object) == IS_OBJECT) { - /* - if (Z_OBJ_HANDLER_P(object, has_property)) { - zval member; - int retval; - ZVAL_STRINGL(&member, property_name, property_length); - retval = Z_OBJ_HT_P(object)->has_property(object, &member, 2, NULL); - zval_ptr_dtor(&member); - return retval; - } - */ if (EXPECTED(zend_hash_str_exists(&Z_OBJCE_P(object)->properties_info, property_name, property_length))) { return 1; } + #if PHP_VERSION_ID >= 80000 return zend_hash_str_exists( Z_OBJ_HT_P(object)->get_properties(Z_OBJ_P(object)), @@ -407,15 +388,9 @@ int zephir_isset_property_zval(zval *object, const zval *property) { if (Z_TYPE_P(object) == IS_OBJECT) { if (Z_TYPE_P(property) == IS_STRING) { - /* - if (Z_OBJ_HANDLER_P(object, has_property)) { - return Z_OBJ_HT_P(object)->has_property(object, property, 2, NULL); - } - */ if (EXPECTED(zend_hash_str_exists(&Z_OBJCE_P(object)->properties_info, Z_STRVAL_P(property), Z_STRLEN_P(property)))) { return 1; } else { - #if PHP_VERSION_ID >= 80000 return zend_hash_str_exists( Z_OBJ_HT_P(object)->get_properties(Z_OBJ_P(object)), @@ -439,10 +414,11 @@ int zephir_isset_property_zval(zval *object, const zval *property) /** * Lookup for the real owner of the property */ -static inline -zend_class_entry *zephir_lookup_class_ce(zend_class_entry *ce, - const char *property_name, - unsigned int property_length) { +static inline zend_class_entry *zephir_lookup_class_ce( + zend_class_entry *ce, + const char *property_name, + unsigned int property_length +) { zend_class_entry *original_ce = ce; zend_property_info *info; zend_class_entry *scope; @@ -483,9 +459,12 @@ zend_class_entry *zephir_lookup_class_ce(zend_class_entry *ce, * This function is intended to use in initializer. Do not use it for a * regular property updating. */ -int zephir_read_property_ex(zval *result, zval *object, const char *property_name, - uint32_t property_length, int flags) -{ +int zephir_read_property_ex( + zval *result, + zval *object, + const char *property_name, + uint32_t property_length, int flags +) { zend_class_entry *scope; int retval; @@ -518,9 +497,12 @@ int zephir_read_property_ex(zval *result, zval *object, const char *property_nam /** * Checks whether obj is an object and reads a property from this object */ -int zephir_read_property(zval *result, zval *object, const char *property_name, - uint32_t property_length, int flags) -{ +int zephir_read_property( + zval *result, + zval *object, + const char *property_name, + uint32_t property_length, int flags +) { zval property, tmp; zval *res; @@ -528,9 +510,7 @@ int zephir_read_property(zval *result, zval *object, const char *property_name, if (Z_TYPE_P(object) != IS_OBJECT) { if ((flags & PH_NOISY) == PH_NOISY) { - php_error_docref(NULL, E_NOTICE, - "Trying to get property '%s' of non-object", - property_name); + php_error_docref(NULL, E_NOTICE, "Trying to get property '%s' of non-object", property_name); } ZVAL_NULL(result); @@ -538,16 +518,20 @@ int zephir_read_property(zval *result, zval *object, const char *property_name, } if (!Z_OBJ_HT_P(object)->read_property) { - zend_error(E_CORE_ERROR, - "Property %s of class %s cannot be read", - property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); + zend_error(E_CORE_ERROR, "Property %s of class %s cannot be read", property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); } ZVAL_STRINGL(&property, property_name, property_length); - +#if PHP_VERSION_ID >= 80000 + res = Z_OBJ_HT_P(object)->read_property(Z_OBJ_P(object), Z_STR(property), + flags ? BP_VAR_IS : BP_VAR_R, + NULL, &tmp); +#else res = Z_OBJ_HT_P(object)->read_property(object, &property, flags ? BP_VAR_IS : BP_VAR_R, NULL, &tmp); +#endif + if ((flags & PH_READONLY) == PH_READONLY) { ZVAL_COPY_VALUE(result, res); } else { @@ -569,7 +553,6 @@ int zephir_fetch_property(zval *result, zval *object, const char *property_name, return 1; } - //zval_ptr_dtor(result); ZVAL_NULL(result); return 0; } @@ -622,9 +605,12 @@ int zephir_read_property_zval(zval *result, zval *object, zval *property, int fl * This function is intended to use in initializer. Do not use it for a * regular property updating. */ -int zephir_update_property_zval_ex(zval *object, const char *property_name, - unsigned int property_length, zval *value) -{ +int zephir_update_property_zval_ex( + zval *object, + const char *property_name, + unsigned int property_length, + zval *value +) { zend_class_entry *scope; int retval; @@ -657,22 +643,21 @@ int zephir_update_property_zval_ex(zval *object, const char *property_name, /** * Checks whether obj is an object and updates property with another zval */ -int zephir_update_property_zval(zval *object, const char *property_name, - unsigned int property_length, zval *value) -{ +int zephir_update_property_zval( + zval *object, + const char *property_name, + unsigned int property_length, + zval *value +) { zval property, sep_value; if (Z_TYPE_P(object) != IS_OBJECT) { - php_error_docref(NULL, E_WARNING, - "Attempt to assign property '%s' of non-object", - property_name); + php_error_docref(NULL, E_WARNING, "Attempt to assign property '%s' of non-object", property_name); return FAILURE; } if (!Z_OBJ_HT_P(object)->write_property) { - zend_error(E_CORE_ERROR, - "Property %s of class %s cannot be updated", - property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); + zend_error(E_CORE_ERROR, "Property %s of class %s cannot be updated", property_name, ZSTR_VAL(Z_OBJCE_P(object)->name)); } ZVAL_STRINGL(&property, property_name, property_length); @@ -688,7 +673,12 @@ int zephir_update_property_zval(zval *object, const char *property_name, /* write_property will add 1 to refcount, so no Z_TRY_ADDREF_P(value) is necessary */ +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT_P(object)->write_property(Z_OBJ_P(object), Z_STR(property), &sep_value, 0); +#else Z_OBJ_HT_P(object)->write_property(object, &property, &sep_value, 0); +#endif + zval_ptr_dtor(&property); if (UNEXPECTED(EG(exception))) { @@ -952,9 +942,11 @@ int zephir_unset_property(zval* object, const char* name) /* Use caller's scope */ zephir_set_scope(Z_OBJCE_P(object)); - +#if PHP_VERSION_ID >= 80000 + Z_OBJ_HT_P(object)->unset_property(Z_OBJ_P(object), Z_STR(member), 0); +#else Z_OBJ_HT_P(object)->unset_property(object, &member, 0); - +#endif /* Restore original scope */ zephir_set_scope(scope); @@ -970,7 +962,6 @@ int zephir_unset_property_array(zval *object, char *property, unsigned int prope int separated = 0; if (Z_TYPE_P(object) == IS_OBJECT) { - zephir_read_property(&tmp, object, property, property_length, PH_NOISY_CC); Z_TRY_DELREF(tmp); @@ -1050,9 +1041,11 @@ int zephir_method_exists(zval *object, const zval *method_name) zend_error(E_WARNING, "method_exists expected a string"); return 0; } + char *lcname = zend_str_tolower_dup(Z_STRVAL_P(method_name), Z_STRLEN_P(method_name)); int res = zephir_method_exists_ex(object, lcname, Z_STRLEN_P(method_name)); efree(lcname); + return res; } @@ -1060,43 +1053,26 @@ int zephir_read_static_property_ce(zval *result, zend_class_entry *ce, const cha { zval *tmp = zend_read_static_property(ce, property, len, (zend_bool) ZEND_FETCH_CLASS_SILENT); - //zval_ptr_dtor(result); ZVAL_NULL(result); - if (tmp) - { + if (tmp) { if ((flags & PH_READONLY) == PH_READONLY) { ZVAL_COPY_VALUE(result, tmp); } else { ZVAL_COPY(result, tmp); } + return SUCCESS; } + return FAILURE; } +/** + * TODO: Use directly zend_update_static_property() + */ int zephir_update_static_property_ce(zend_class_entry *ce, const char *property_name, uint32_t property_length, zval *value) { -// Disabled due to: -// https://github.com/phalcon/zephir/issues/1941#issuecomment-538654340 -// -//#if PHP_VERSION_ID < 70300 -// zval *property, garbage; -// property = zend_read_static_property(ce, property_name, property_length, (zend_bool)ZEND_FETCH_CLASS_SILENT); -// if (property) { -// if (Z_ISREF_P(property)) { -// ZVAL_DEREF(property); -// } -// if (Z_ISREF_P(value)) { -// ZVAL_DEREF(value); -// } -// ZVAL_COPY_VALUE(&garbage, property); -// ZVAL_COPY(property, value); -// zval_ptr_dtor(&garbage); -// return 1; -// } -//#else return zend_update_static_property(ce, property_name, property_length, value); -//#endif } int zephir_add_static_property_ce(zend_class_entry *ce, const char *property_name, uint32_t property_length, zval *value) @@ -1118,8 +1094,16 @@ int zephir_sub_static_property_ce(zend_class_entry *ce, const char *property_nam /* * Multiple array-offset update */ -int zephir_update_static_property_array_multi_ce(zend_class_entry *ce, const char *property, uint32_t property_length, zval *value, const char *types, int types_length, int types_count, ...) -{ +int zephir_update_static_property_array_multi_ce( + zend_class_entry *ce, + const char *property, + uint32_t property_length, + zval *value, + const char *types, + int types_length, + int types_count, + ... +) { va_list ap; zval tmp_arr; int separated = 0; @@ -1156,6 +1140,7 @@ int zephir_update_static_property_array_multi_ce(zend_class_entry *ce, const cha array_init(&tmp_arr); separated = 1; } + if (Z_REFCOUNTED(tmp_arr)) { if (Z_REFCOUNT(tmp_arr) > 1) { if (!Z_ISREF(tmp_arr)) { @@ -1208,7 +1193,6 @@ int zephir_property_incr_decr(zval *object, char *property_name, unsigned int pr zephir_read_property(&tmp, object, property_name, property_length, 0); if (Z_TYPE(tmp) > IS_UNDEF) { - Z_TRY_DELREF(tmp); /** Separation only when refcount > 1 */ @@ -1250,11 +1234,7 @@ typedef struct _zend_closure { zend_function func; zval this_ptr; zend_class_entry *called_scope; -#if PHP_VERSION_ID >= 70300 zif_handler orig_internal_handler; -#else - void (*orig_internal_handler)(INTERNAL_FUNCTION_PARAMETERS); -#endif } zend_closure; /** @@ -1309,20 +1289,18 @@ int zephir_create_instance(zval *return_value, const zval *class_name) zend_class_entry* ce = Z_OBJCE_P(return_value); fci.size = sizeof(fci); -#if PHP_VERSION_ID < 70100 - fci.function_table = &ce->function_table; - fci.symbol_table = NULL; -#endif fci.object = obj; fci.retval = 0; fci.param_count = 0; fci.params = 0; - fci.no_separation = 1; +#if PHP_VERSION_ID < 80000 + fci.no_separation = 1; +#else + fci.named_params = NULL; +#endif + ZVAL_NULL(&fci.function_name); -#if PHP_VERSION_ID < 70300 - fcc.initialized = 1; -#endif fcc.object = obj; fcc.called_scope = ce; fcc.calling_scope = ce; @@ -1373,20 +1351,17 @@ int zephir_create_instance_params(zval *return_value, const zval *class_name, zv zend_class_entry* ce = Z_OBJCE_P(return_value); fci.size = sizeof(fci); -#if PHP_VERSION_ID < 70100 - fci.function_table = &ce->function_table; - fci.symbol_table = NULL; -#endif fci.object = obj; fci.retval = 0; fci.param_count = 0; fci.params = 0; - fci.no_separation = 1; +#if PHP_VERSION_ID < 80000 + fci.no_separation = 1; +#else + fci.named_params = NULL; +#endif ZVAL_NULL(&fci.function_name); -#if PHP_VERSION_ID < 70300 - fcc.initialized = 1; -#endif fcc.object = obj; fcc.called_scope = ce; fcc.calling_scope = ce; diff --git a/kernels/ZendEngine3/object.h b/kernels/ZendEngine3/object.h old mode 100644 new mode 100755 index 36598823f3..6a24e728be --- a/kernels/ZendEngine3/object.h +++ b/kernels/ZendEngine3/object.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -19,13 +19,8 @@ #include "kernel/main.h" /* Working with scopes */ -#if PHP_VERSION_ID >= 70100 # define zephir_get_scope(e) ((e) ? zend_get_executed_scope() : EG(fake_scope)) # define zephir_set_scope(s) EG(fake_scope) = (s) -#else -# define zephir_get_scope(e) EG(scope) -# define zephir_set_scope(s) EG(scope) = (s) -#endif /** Class Retrieving/Checking */ int zephir_class_exists(zval *class_name, int autoload); diff --git a/kernels/ZendEngine3/operators.c b/kernels/ZendEngine3/operators.c old mode 100644 new mode 100755 index cd1d48035c..1cc0064ead --- a/kernels/ZendEngine3/operators.c +++ b/kernels/ZendEngine3/operators.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/kernels/ZendEngine3/operators.h b/kernels/ZendEngine3/operators.h old mode 100644 new mode 100755 index 77c1fc1789..881f30f0b6 --- a/kernels/ZendEngine3/operators.h +++ b/kernels/ZendEngine3/operators.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Vladimir Kolesnikov | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_OPERATORS_H #define ZEPHIR_KERNEL_OPERATORS_H diff --git a/kernels/ZendEngine3/require.c b/kernels/ZendEngine3/require.c old mode 100644 new mode 100755 index a0d5ccfad9..2bab5554c5 --- a/kernels/ZendEngine3/require.c +++ b/kernels/ZendEngine3/require.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -45,19 +45,10 @@ int zephir_require_ret(zval *return_value_ptr, const char *require_path) } #endif -#if PHP_VERSION_ID < 70400 - file_handle.filename = require_path; - file_handle.free_filename = 0; - file_handle.type = ZEND_HANDLE_FILENAME; - file_handle.opened_path = NULL; - file_handle.handle.fp = NULL; -#else - ret = php_stream_open_for_zend_ex(require_path, &file_handle, USE_PATH|STREAM_OPEN_FOR_INCLUDE); - - if (ret != SUCCESS) { - return FAILURE; - } -#endif + ret = php_stream_open_for_zend_ex(require_path, &file_handle, USE_PATH|STREAM_OPEN_FOR_INCLUDE); + if (ret != SUCCESS) { + return FAILURE; + } new_op_array = zend_compile_file(&file_handle, ZEND_REQUIRE); if (new_op_array) { @@ -72,11 +63,7 @@ int zephir_require_ret(zval *return_value_ptr, const char *require_path) zend_destroy_file_handle(&file_handle); } -#if PHP_VERSION_ID >= 70100 new_op_array->scope = EG(fake_scope) ? EG(fake_scope) : zend_get_executed_scope(); -#else - new_op_array->scope = EG(scope); -#endif zend_execute(new_op_array, &local_retval); if (return_value_ptr) { diff --git a/kernels/ZendEngine3/require.h b/kernels/ZendEngine3/require.h old mode 100644 new mode 100755 index 6cb3f60cfd..30a2bca866 --- a/kernels/ZendEngine3/require.h +++ b/kernels/ZendEngine3/require.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/kernels/ZendEngine3/string.c b/kernels/ZendEngine3/string.c old mode 100644 new mode 100755 index 039ce406cd..dd5ba9d432 --- a/kernels/ZendEngine3/string.c +++ b/kernels/ZendEngine3/string.c @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team @@ -151,7 +151,6 @@ void zephir_fast_strtoupper(zval *return_value, zval *str) */ int zephir_start_with(const zval *str, const zval *compared, zval *case_sensitive) { - int i; int sensitive = 0; char *op1_cursor, *op2_cursor; @@ -175,7 +174,6 @@ int zephir_start_with(const zval *str, const zval *compared, zval *case_sensitiv op1_cursor = Z_STRVAL_P(str); op2_cursor = Z_STRVAL_P(compared); for (i = 0; i < Z_STRLEN_P(compared); i++) { - if (tolower(*op1_cursor) != tolower(*op2_cursor)) { return 0; } @@ -217,7 +215,6 @@ int zephir_start_with_str_str(char *str, unsigned int str_length, char *compared */ int zephir_end_with(const zval *str, const zval *compared, zval *case_sensitive) { - int sensitive = 0; int i; char *op1_cursor, *op2_cursor; @@ -259,7 +256,6 @@ int zephir_end_with(const zval *str, const zval *compared, zval *case_sensitive) */ int zephir_end_with_str(const zval *str, char *compared, unsigned int compared_length) { - if (Z_TYPE_P(str) != IS_STRING) { return 0; } @@ -433,7 +429,6 @@ void zephir_append_printable_array(smart_str *implstr, const zval *value) */ void zephir_unique_key(zval *return_value, const zval *prefix, zval *value) { - smart_str implstr = {0}; if (Z_TYPE_P(prefix) == IS_STRING) { @@ -466,8 +461,11 @@ void zephir_fast_join(zval *result, zval *glue, zval *pieces) zend_error(E_WARNING, "Invalid arguments supplied for join()"); return; } - +#if PHP_VERSION_ID < 80000 php_implode(Z_STR_P(glue), pieces, result); +#else + php_implode(Z_STR_P(glue), Z_ARRVAL_P(pieces), result); +#endif } /** @@ -565,7 +563,6 @@ void zephir_fast_join_str(zval *return_value, char *glue, unsigned int glue_leng */ void zephir_camelize(zval *return_value, const zval *str, const zval *delimiter) { - int i, len, delim_len, pre_del = 1; smart_str camelize_str = {0}; char *marker, ch, *delim; @@ -666,7 +663,6 @@ void zephir_uncamelize(zval *return_value, const zval *str, const zval *delimite */ int zephir_memnstr(const zval *haystack, const zval *needle ZEPHIR_DEBUG_PARAMS) { - if (Z_TYPE_P(haystack) != IS_STRING || Z_TYPE_P(needle) != IS_STRING) { #ifndef ZEPHIR_RELEASE zend_error(E_WARNING, "Invalid arguments supplied for memnstr in %s on line %d", file, line); @@ -886,6 +882,7 @@ static zend_string* php_char_to_str_ex(zend_string *str, char from, char *to, si } } } + *target = 0; return result; } @@ -1068,19 +1065,11 @@ void zephir_preg_match(zval *return_value, zval *regex, zval *subject, zval *mat ZVAL_UNDEF(&tmp_matches); -#if PHP_VERSION_ID < 70400 - if (flags != 0 || offset != 0) { - php_pcre_match_impl(pce, Z_STRVAL_P(subject), Z_STRLEN_P(subject), return_value, &tmp_matches, global, 1, flags, offset); - } else { - php_pcre_match_impl(pce, Z_STRVAL_P(subject), Z_STRLEN_P(subject), return_value, &tmp_matches, global, 0, 0, 0); - } -#else if (flags != 0 || offset != 0) { php_pcre_match_impl(pce, Z_STR_P(subject), return_value, &tmp_matches, global, 1, flags, offset); } else { php_pcre_match_impl(pce, Z_STR_P(subject), return_value, &tmp_matches, global, 0, 0, 0); } -#endif if (matches) { zval *php_matches = &tmp_matches; @@ -1300,11 +1289,7 @@ void zephir_addslashes(zval *return_value, zval *str) } } -#if PHP_VERSION_ID < 70300 - ZVAL_STR(return_value, php_addslashes(Z_STR_P(str), 0)); -#else - ZVAL_STR(return_value, php_addslashes(Z_STR_P(str))); -#endif + ZVAL_STR(return_value, php_addslashes(Z_STR_P(str))); if (UNEXPECTED(use_copy)) { zval_dtor(©); diff --git a/kernels/ZendEngine3/string.h b/kernels/ZendEngine3/string.h old mode 100644 new mode 100755 index 014c246785..9d98e515ef --- a/kernels/ZendEngine3/string.h +++ b/kernels/ZendEngine3/string.h @@ -1,4 +1,4 @@ -/* +/** * This file is part of the Zephir. * * (c) Phalcon Team diff --git a/kernels/ZendEngine3/time.c b/kernels/ZendEngine3/time.c old mode 100644 new mode 100755 index f94c0148ce..a70760cce0 --- a/kernels/ZendEngine3/time.c +++ b/kernels/ZendEngine3/time.c @@ -1,18 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/kernels/ZendEngine3/time.h b/kernels/ZendEngine3/time.h old mode 100644 new mode 100755 index 6a282a3af0..9aab8f71e0 --- a/kernels/ZendEngine3/time.h +++ b/kernels/ZendEngine3/time.h @@ -1,18 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_TIME_H #define ZEPHIR_KERNEL_TIME_H diff --git a/kernels/ZendEngine3/variables.c b/kernels/ZendEngine3/variables.c old mode 100644 new mode 100755 index ab6f49c631..8559d26654 --- a/kernels/ZendEngine3/variables.c +++ b/kernels/ZendEngine3/variables.c @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Rack Lin | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/kernels/ZendEngine3/variables.h b/kernels/ZendEngine3/variables.h old mode 100644 new mode 100755 index 72b943e9fa..364eeebd89 --- a/kernels/ZendEngine3/variables.h +++ b/kernels/ZendEngine3/variables.h @@ -1,22 +1,13 @@ - -/* - +------------------------------------------------------------------------+ - | Zephir Language | - +------------------------------------------------------------------------+ - | Copyright (c) 2011-2017 Phalcon Team (http://www.zephir-lang.com) | - +------------------------------------------------------------------------+ - | This source file is subject to the New BSD License that is bundled | - | with this package in the file docs/LICENSE.txt. | - | | - | If you did not receive a copy of the license and are unable to | - | obtain it through the world-wide-web, please send an email | - | to license@zephir-lang.com so we can send you a copy immediately. | - +------------------------------------------------------------------------+ - | Authors: Andres Gutierrez | - | Eduar Carvajal | - | Rack Lin | - +------------------------------------------------------------------------+ -*/ +/** + * This file is part of the Zephir. + * + * (c) Phalcon Team + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. If you did not receive + * a copy of the license it is available through the world-wide-web at the + * following url: https://docs.zephir-lang.com/en/latest/license + */ #ifndef ZEPHIR_KERNEL_VARIABLES_H #define ZEPHIR_KERNEL_VARIABLES_H diff --git a/phpunit b/phpunit deleted file mode 100755 index 3b109670c5..0000000000 --- a/phpunit +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view - * the LICENSE file that was distributed with this source code. - */ - -// Cache-Id: https://github.com/symfony/phpunit-bridge/commit/66ffffcd8a6bb23aec847c8bdfb918610399499a - -if (!file_exists(__DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit')) { - echo "Unable to find the `simple-phpunit` script in `vendor/symfony/phpunit-bridge/bin/`.\n"; - echo "Please run `composer update` before running this command.\n"; - exit(1); -} - -if (!getenv('SYMFONY_PHPUNIT_VERSION')) { - putenv('SYMFONY_PHPUNIT_VERSION=6.5'); -} - -putenv('SYMFONY_PHPUNIT_DIR='.__DIR__.'/.phpunit'); -require __DIR__.'/vendor/symfony/phpunit-bridge/bin/simple-phpunit'; diff --git a/phpunit.xml.dist b/phpunit.xml.dist index e0e2f8a651..cd5c47b241 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,40 +1,26 @@ - + xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd" backupGlobals="false" + bootstrap="./Library/autoload.php" colors="true" verbose="true"> + + + ./Library + + + + + - - - ./tests/Extension - tests/Extension/Php56 - tests/Extension/Php72 - - - - + ./tests/Extension - tests/Extension/Php56 - tests/Extension/Php70 - ./tests/Zephir tests/Zephir/KernelTestCase.php - - - ./Library - - - @@ -46,12 +32,10 @@ - - + - diff --git a/prototypes/gd.php b/prototypes/gd.php index 39000ae9e6..ec7bc0236b 100644 --- a/prototypes/gd.php +++ b/prototypes/gd.php @@ -85,23 +85,6 @@ function image_type_to_mime_type($imagetype) } } -if (!function_exists('image2wbmp') && PHP_VERSION_ID < 70400) { - /** - * Output image to browser or file. - * - * @see https://www.php.net/manual/en/function.image2wbmp.php - * - * @param resource $image - * @param string $filename - * @param int $threshold - * - * @return bool - */ - function image2wbmp($image, $filename, $threshold) - { - } -} - if (!function_exists('imageaffine')) { /** * Return an image containing the affine transformed src image, using an optional clipping area. diff --git a/stub/arraysearch.zep b/stub/arraysearch.zep index 2ba718d315..c3f4698cb8 100644 --- a/stub/arraysearch.zep +++ b/stub/arraysearch.zep @@ -2,13 +2,13 @@ namespace Stub; class ArraySearch { - /** @issue https://github.com/phalcon/zephir/issues/1609 */ + /** @issue https://github.com/zephir-lang/zephir/issues/1609 */ public function simpleSearch(var needle, array haystack, bool strict = false) -> var { return array_search(needle, haystack, strict); } - /** @issue https://github.com/phalcon/zephir/issues/1609 */ + /** @issue https://github.com/zephir-lang/zephir/issues/1609 */ public function searchUsingArrayInsideZephir() -> var { array itoA64 = [".", "/", "0", "1", "2", "3", "4", "value", "OtherValue"]; diff --git a/stub/assign.zep b/stub/assign.zep index 559f834aae..26d0e1eb8f 100644 --- a/stub/assign.zep +++ b/stub/assign.zep @@ -349,7 +349,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/1573 + * @link https://github.com/zephir-lang/zephir/issues/1573 */ public function testAssign41(int num) -> int { @@ -361,7 +361,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/1573 + * @link https://github.com/zephir-lang/zephir/issues/1573 */ public function testAssign42(int num) -> int { @@ -882,7 +882,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/159 + * @link https://github.com/zephir-lang/zephir/issues/159 */ public function testGlobalVarAssign(var index, var value) { @@ -890,7 +890,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/523 + * @link https://github.com/zephir-lang/zephir/issues/523 */ public function testConstantKeyAssign() { @@ -899,7 +899,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/746 + * @link https://github.com/zephir-lang/zephir/issues/746 * */ public function testArrayBoolExpressionAssign() @@ -912,7 +912,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/725 + * @link https://github.com/zephir-lang/zephir/issues/725 */ public function testAssignSuperGlobals() { @@ -925,7 +925,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/1917 + * @link https://github.com/zephir-lang/zephir/issues/1917 */ public function testAssignSuperGlobalsSERVER() { @@ -933,7 +933,7 @@ class Assign } /** - * @link https://github.com/phalcon/zephir/issues/1917 + * @link https://github.com/zephir-lang/zephir/issues/1917 */ public function testAssignSuperGlobalsGET() { diff --git a/stub/bitwise.zep b/stub/bitwise.zep index 9fc335847c..91cd4ed33a 100644 --- a/stub/bitwise.zep +++ b/stub/bitwise.zep @@ -954,7 +954,7 @@ class Bitwise } /** - * @issue https://github.com/phalcon/zephir/issues/1581 + * @issue https://github.com/zephir-lang/zephir/issues/1581 */ public function testbitwiseXor() { diff --git a/stub/cast.zep b/stub/cast.zep index 626cdea05f..a31e88ed4d 100644 --- a/stub/cast.zep +++ b/stub/cast.zep @@ -10,7 +10,7 @@ class Cast // To char cast /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testCharCastFromChar() -> char { @@ -18,7 +18,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testCharCastFromVariableChar() -> char { @@ -29,7 +29,7 @@ class Cast // To string cast /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testStringCastChar() -> string { @@ -37,7 +37,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testStringCastVariableChar() -> string { @@ -59,7 +59,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testIntCastFromChar() -> int { @@ -67,7 +67,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testIntCastFromVariableChar() -> int { @@ -171,7 +171,7 @@ class Cast // To long cast /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testLongCastFromChar() -> long { @@ -179,7 +179,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testLongCastFromVariableChar() -> long { @@ -278,7 +278,7 @@ class Cast // To double cast /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testDoubleCastFromVChar() -> double { @@ -286,7 +286,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testDoubleCastFromVariableChar() -> double { @@ -337,7 +337,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testBooleanCastFromChar() -> boolean { @@ -345,7 +345,7 @@ class Cast } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ public function testBooleanCastFromVariableChar() -> boolean { diff --git a/stub/compare.zep b/stub/compare.zep index c927bc11b8..ad6082e24d 100644 --- a/stub/compare.zep +++ b/stub/compare.zep @@ -30,7 +30,7 @@ class Compare } /** - * @link https://github.com/phalcon/zephir/issues/411 + * @link https://github.com/zephir-lang/zephir/issues/411 */ public function testVarWithStringEquals(string! str) { diff --git a/stub/concat.zep b/stub/concat.zep index c8dbb38a3e..990930916a 100644 --- a/stub/concat.zep +++ b/stub/concat.zep @@ -34,7 +34,7 @@ class Concat } /** - * @link https://github.com/phalcon/zephir/issues/1573 + * @link https://github.com/zephir-lang/zephir/issues/1573 */ public function testConcat3() -> string { @@ -46,7 +46,7 @@ class Concat } /** - * @link https://github.com/phalcon/zephir/issues/1893 + * @link https://github.com/zephir-lang/zephir/issues/1893 */ public function testConcat4(var value) -> string { @@ -63,7 +63,7 @@ class Concat } /** - * @link https://github.com/phalcon/zephir/issues/1893 + * @link https://github.com/zephir-lang/zephir/issues/1893 */ public function testConcat5(double number) -> string { diff --git a/stub/constants.zep b/stub/constants.zep index 17621670b7..93c2bfac2a 100644 --- a/stub/constants.zep +++ b/stub/constants.zep @@ -115,7 +115,7 @@ class Constants extends ConstantsParent /** * Test Delimiters as String Constants * - * @link https://github.com/phalcon/zephir/issues/1571 + * @link https://github.com/zephir-lang/zephir/issues/1571 */ public function testStringDelimiterConstantDoubleQuoted() { diff --git a/stub/exception.zep b/stub/exception.zep index 09caa00d7d..fa328fc7cd 100644 --- a/stub/exception.zep +++ b/stub/exception.zep @@ -7,7 +7,7 @@ namespace Stub; class Exception extends \Exception { /** - * @link https://github.com/phalcon/zephir/issues/915 + * @link https://github.com/zephir-lang/zephir/issues/915 */ public function testRuntimePropertyFetch(string! message) { diff --git a/stub/functions.zep b/stub/functions.zep new file mode 100644 index 0000000000..9bc4104f15 --- /dev/null +++ b/stub/functions.zep @@ -0,0 +1,27 @@ + +namespace Stub; + +class Functions +{ + /** + * @issue https://github.com/zephir-lang/zephir/issues/658 + */ + public function filterVar1() -> bool + { + var ret; + let ret = "0"; + + return false === filter_var(ret, FILTER_VALIDATE_FLOAT, 20480); + } + + /** + * @issue https://github.com/zephir-lang/zephir/issues/658 + */ + public function filterVar2() -> bool + { + var ret; + let ret = "0"; + + return false == filter_var(ret, FILTER_VALIDATE_FLOAT, 20480); + } +} diff --git a/stub/globals/env.zep b/stub/globals/env.zep index 2c95508ef0..b39480350f 100644 --- a/stub/globals/env.zep +++ b/stub/globals/env.zep @@ -5,6 +5,6 @@ class Env { public function read(string name) -> var { - return _ENV[name]; + return isset _ENV[name] ? _ENV[name] : false; } } diff --git a/stub/globals/post.zep b/stub/globals/post.zep index 77e097c84c..b7bed04f9c 100644 --- a/stub/globals/post.zep +++ b/stub/globals/post.zep @@ -6,7 +6,7 @@ class Post /** * Tests "Invalid superglobal for _POST" * - * @issue https://github.com/phalcon/zephir/issues/1623 + * @issue https://github.com/zephir-lang/zephir/issues/1623 */ public function hasValue(string name) -> boolean { diff --git a/stub/globals/server.zep b/stub/globals/server.zep index 10aeb0ed61..f0f8b4c04c 100644 --- a/stub/globals/server.zep +++ b/stub/globals/server.zep @@ -3,7 +3,7 @@ namespace Stub\Globals; class Server { /** - * @see https://github.com/phalcon/zephir/issues/1961 + * @see https://github.com/zephir-lang/zephir/issues/1961 */ public function f1() -> void { @@ -18,7 +18,7 @@ class Server } /** - * @see https://github.com/phalcon/zephir/issues/1970 + * @see https://github.com/zephir-lang/zephir/issues/1970 */ public function check() -> var { diff --git a/stub/globals/serverrequestfactory.zep b/stub/globals/serverrequestfactory.zep index b6e9786ad9..cc4b3a0b18 100644 --- a/stub/globals/serverrequestfactory.zep +++ b/stub/globals/serverrequestfactory.zep @@ -3,7 +3,7 @@ namespace Stub\Globals; class ServerRequestFactory { /** - * @link https://github.com/phalcon/zephir/issues/1934 + * @link https://github.com/zephir-lang/zephir/issues/1934 */ public function load( array server = null, diff --git a/stub/interfaces/implementint.zep b/stub/interfaces/implementint.zep new file mode 100644 index 0000000000..2aafd93b62 --- /dev/null +++ b/stub/interfaces/implementint.zep @@ -0,0 +1,16 @@ +namespace Stub\Interfaces; + +class ImplementInt implements InterfaceInt +{ + protected val = null; + + public function set(int val) -> void + { + let this->val = val; + } + + public function get() -> int + { + return this->val; + } +} diff --git a/stub/interfaces/implementinterface.zep b/stub/interfaces/implementinterface.zep new file mode 100644 index 0000000000..9434492dee --- /dev/null +++ b/stub/interfaces/implementinterface.zep @@ -0,0 +1,21 @@ +namespace Stub\Interfaces; + +class ImplementInterface implements InterfaceIntSignature +{ + protected obj; + + public function get( obj) -> int + { + return obj->get(); + } + + public function getVoid( obj) -> void + { + let this->obj = obj; + } + + public function getObj() -> + { + return this->obj; + } +} diff --git a/stub/interfaces/interfaceint.zep b/stub/interfaces/interfaceint.zep new file mode 100644 index 0000000000..da7a5f0bb6 --- /dev/null +++ b/stub/interfaces/interfaceint.zep @@ -0,0 +1,8 @@ +namespace Stub\Interfaces; + +interface InterfaceInt +{ + public function set(int val) -> void; + + public function get() -> int; +} diff --git a/stub/interfaces/interfaceintsignature.zep b/stub/interfaces/interfaceintsignature.zep new file mode 100644 index 0000000000..97e4ee7f87 --- /dev/null +++ b/stub/interfaces/interfaceintsignature.zep @@ -0,0 +1,6 @@ +namespace Stub\Interfaces; + +interface InterfaceIntSignature +{ + public function get( obj) -> int; +} diff --git a/stub/invokes/abstractinvoker.zep b/stub/invokes/abstractinvoker.zep new file mode 100644 index 0000000000..f3001e6303 --- /dev/null +++ b/stub/invokes/abstractinvoker.zep @@ -0,0 +1,15 @@ + +namespace Stub\Invokes; + +abstract class AbstractInvoker extends AbstractProtected +{ + public function __toString() + { + return this->renderArrayElements(this->text); + } + + public function __invoke() -> + { + return this; + } +} diff --git a/stub/invokes/abstractinvokercomplex.zep b/stub/invokes/abstractinvokercomplex.zep new file mode 100644 index 0000000000..9d131d11f2 --- /dev/null +++ b/stub/invokes/abstractinvokercomplex.zep @@ -0,0 +1,15 @@ + +namespace Stub\Invokes; + +abstract class AbstractInvokerComplex extends AbstractProtected +{ + public function __toString() + { + return this->renderArrayElementsComplex(this->text); + } + + public function __invoke() -> + { + return this; + } +} diff --git a/stub/invokes/abstractprotected.zep b/stub/invokes/abstractprotected.zep new file mode 100644 index 0000000000..bb72701e46 --- /dev/null +++ b/stub/invokes/abstractprotected.zep @@ -0,0 +1,51 @@ + +namespace Stub\Invokes; + +abstract class AbstractProtected +{ + protected text; + + protected function protectedMethod1(string text) -> string + { + var ret; + let ret = text . "1"; + + return ret; + } + + protected function protectedMethod2(string text) -> string + { + var ret; + let ret = text . "2"; + + return ret; + } + + protected function renderArrayElements(string text) + { + return call_user_func_array([this, "protectedMethod2"], [text]); + } + + protected function renderArrayElementsComplex(string text) + { + var item; + string result = ""; + + array elements = [ + [ + "protectedMethod1", + [text] + ], + [ + "protectedMethod2", + [text] + ] + ]; + + for item in elements { + let result .= call_user_func_array([this, item[0]], item[1]); + } + + return result; + } +} diff --git a/stub/invokes/invokeprotected.zep b/stub/invokes/invokeprotected.zep new file mode 100644 index 0000000000..89c12af16b --- /dev/null +++ b/stub/invokes/invokeprotected.zep @@ -0,0 +1,10 @@ + +namespace Stub\Invokes; + +class InvokeProtected extends AbstractInvoker +{ + public function __construct(string text) + { + let this->text = text; + } +} diff --git a/stub/invokes/invokeprotectedcomplex.zep b/stub/invokes/invokeprotectedcomplex.zep new file mode 100644 index 0000000000..57327b546e --- /dev/null +++ b/stub/invokes/invokeprotectedcomplex.zep @@ -0,0 +1,10 @@ + +namespace Stub\Invokes; + +class InvokeProtectedComplex extends AbstractInvokerComplex +{ + public function __construct(string text) + { + let this->text = text; + } +} diff --git a/stub/issue2165/issue.zep b/stub/issue2165/issue.zep new file mode 100644 index 0000000000..85a5096148 --- /dev/null +++ b/stub/issue2165/issue.zep @@ -0,0 +1,96 @@ +namespace Stub\Issue2165; + +use InvalidArgumentException; + +/** + * @issue https://github.com/zephir-lang/zephir/issues/2165 + */ +class Issue implements IssueInterface +{ + protected m; + protected n; + + public static function build(array a = []) -> + { + return new self(a, true); + } + + public function __construct(array a, const bool validate = true) + { + var i, rowA, valueA; + + int m = count(a); + int n = count(current(a)); + + if validate { + let a = array_values(a); + + for i, rowA in a { + if unlikely count(rowA) !== n { + throw new InvalidArgumentException("The number of columns" + . " must be equal for all rows, " . strval(n) + . " needed but " . count(rowA) . " given" + . " at row offset " . i . "."); + } + + for valueA in rowA { + if unlikely !is_int(valueA) && !is_float(valueA) { + throw new InvalidArgumentException("Matrix element must" + . " be an integer or floating point number, " + . gettype(valueA) . " given."); + } + } + + let rowA[] = array_values(rowA); + } + } + + let this->a = a; + let this->m = m; + let this->n = n; + } + + public static function quick(const array a = []) -> + { + return new self(a, false); + } + + public static function ones(const int m, const int n) -> + { + return self::fill(1, m, n); + } + + public static function fill(const value, const int m, const int n) -> + { + if unlikely !is_int(value) && !is_float(value) { + throw new InvalidArgumentException("Value must be an" + . " integer or floating point number, " + . gettype(value) . " given."); + } + + if unlikely m < 1 { + throw new InvalidArgumentException("M must be" + . " greater than 0, " . strval(m) . " given."); + } + + if unlikely n < 1 { + throw new InvalidArgumentException("N must be" + . " greater than 0, " . strval(n) . " given."); + } + + return self::quick(array_fill(0, m, array_fill(0, n, value))); + } + + public function reciprocal() -> + { + return self::ones(this->m, this->n) + ->divideMatrix(this); + } + + public function divideMatrix(const b) -> + { + array c = []; + + return self::quick(c); + } +} diff --git a/stub/issue2165/issueextendinterface.zep b/stub/issue2165/issueextendinterface.zep new file mode 100644 index 0000000000..8181f01f3a --- /dev/null +++ b/stub/issue2165/issueextendinterface.zep @@ -0,0 +1,6 @@ +namespace Stub\Issue2165; + +interface IssueExtendInterface +{ + +} diff --git a/stub/issue2165/issueinterface.zep b/stub/issue2165/issueinterface.zep new file mode 100644 index 0000000000..044bc9b233 --- /dev/null +++ b/stub/issue2165/issueinterface.zep @@ -0,0 +1,6 @@ +namespace Stub\Issue2165; + +interface IssueInterface extends IssueExtendInterface +{ + const EPSILON = 0.00000001; +} diff --git a/stub/mcall.zep b/stub/mcall.zep index 1c018efcaf..30491e46ff 100644 --- a/stub/mcall.zep +++ b/stub/mcall.zep @@ -206,7 +206,7 @@ class Mcall } /** - * @link https://github.com/phalcon/zephir/issues/142 + * @link https://github.com/zephir-lang/zephir/issues/142 */ public function testArrayParamWithDefaultEmptyArray(array driverOptions = []) { diff --git a/stub/mcalldynamic.zep b/stub/mcalldynamic.zep index 66f2bce1ef..ea52ba0c35 100644 --- a/stub/mcalldynamic.zep +++ b/stub/mcalldynamic.zep @@ -28,7 +28,7 @@ class McallDynamic } /** - * @link https://github.com/phalcon/zephir/issues/1751 + * @link https://github.com/zephir-lang/zephir/issues/1751 */ public function testCallAnonymousFunctionWithContext() -> var { diff --git a/stub/methodargs.zep b/stub/methodargs.zep index e310a3d0c6..cf4be53904 100644 --- a/stub/methodargs.zep +++ b/stub/methodargs.zep @@ -38,7 +38,7 @@ class MethodArgs } /** - * @link https://github.com/phalcon/zephir/issues/336 + * @link https://github.com/zephir-lang/zephir/issues/336 */ public function methodOptionalValueWithDefaultStaticConstantAccess(var method = self::GET) { @@ -47,7 +47,7 @@ class MethodArgs /** * For string parameter - * @link https://github.com/phalcon/zephir/issues/696 + * @link https://github.com/zephir-lang/zephir/issues/696 */ public function methodOptionalStringValueWithDefaultStaticConstantAccess(string parameter = self::GET) { @@ -56,7 +56,7 @@ class MethodArgs /** * For double parameter - * @link https://github.com/phalcon/zephir/issues/696 + * @link https://github.com/zephir-lang/zephir/issues/696 */ public function methodOptionalDoubleValueWithDefaultStaticConstantAccess(double parameter = self::MY_DOUBLE) { @@ -65,7 +65,7 @@ class MethodArgs /** * For bool parameter - * @link https://github.com/phalcon/zephir/issues/696 + * @link https://github.com/zephir-lang/zephir/issues/696 */ public function methodOptionalBoolValueWithDefaultStaticConstantAccess(bool parameter = self::MY_BOOL) { @@ -74,7 +74,7 @@ class MethodArgs /** * For int parameter - * @link https://github.com/phalcon/zephir/issues/728 + * @link https://github.com/zephir-lang/zephir/issues/728 */ public function methodOptionalIntValueWithDefaultStaticConstantAccess(int parameter = self::MY_INT) { diff --git a/stub/namespaces/a/b/sub.zep b/stub/namespaces/a/b/sub.zep new file mode 100644 index 0000000000..1a74f7f96b --- /dev/null +++ b/stub/namespaces/a/b/sub.zep @@ -0,0 +1,6 @@ +namespace Stub\Namespaces\A\B; + +class Sub +{ + public value; +} diff --git a/stub/namespaces/classentry.zep b/stub/namespaces/classentry.zep new file mode 100644 index 0000000000..9697882c16 --- /dev/null +++ b/stub/namespaces/classentry.zep @@ -0,0 +1,16 @@ +namespace Stub\Namespaces; + +use Stub\Namespaces\A\B\Sub; + +class ClassEntry +{ + public function setParam(<\Stub\Namespaces\A\B\Sub> param) -> <\Stub\Namespaces\A\B\Sub> + { + return param; + } + + public function setParamImported( param) -> + { + return param; + } +} diff --git a/stub/nativearray.zep b/stub/nativearray.zep index 2607391b52..d955b79816 100644 --- a/stub/nativearray.zep +++ b/stub/nativearray.zep @@ -579,7 +579,7 @@ class NativeArray } /** - * @link https://github.com/phalcon/zephir/issues/110 + * @link https://github.com/zephir-lang/zephir/issues/110 */ public function issue110()-> string { @@ -614,7 +614,7 @@ class NativeArray } /** - * @link https://github.com/phalcon/zephir/issues/709 + * @link https://github.com/zephir-lang/zephir/issues/709 */ public function issue709() -> bool { diff --git a/stub/oo/concretestatic.zep b/stub/oo/concretestatic.zep index 97d443e3f7..e94ca87b42 100644 --- a/stub/oo/concretestatic.zep +++ b/stub/oo/concretestatic.zep @@ -11,4 +11,14 @@ class ConcreteStatic extends AbstractStatic { return self::parentFunction(); } + + public static function callParentFunction() -> string + { + return parent::getCalledClass(); + } + + public static function simpleStaticIntReturn() -> int + { + return 1337; + } } diff --git a/stub/oo/propertyaccess.zep b/stub/oo/propertyaccess.zep index 3aa0c4ad56..6197a0e38b 100644 --- a/stub/oo/propertyaccess.zep +++ b/stub/oo/propertyaccess.zep @@ -25,7 +25,7 @@ class PropertyAccess } /** - * @issue https://github.com/phalcon/zephir/issues/1851 + * @issue https://github.com/zephir-lang/zephir/issues/1851 */ public function setPrivatevariable(value) -> { @@ -35,7 +35,7 @@ class PropertyAccess } /** - * @issue https://github.com/phalcon/zephir/issues/1851 + * @issue https://github.com/zephir-lang/zephir/issues/1851 */ public function getPrivatevariable() -> var { diff --git a/stub/oo/scopes/privatescopetester.zep b/stub/oo/scopes/privatescopetester.zep index df152764f4..3bf5466cf0 100644 --- a/stub/oo/scopes/privatescopetester.zep +++ b/stub/oo/scopes/privatescopetester.zep @@ -8,7 +8,7 @@ class PrivateScopeTester extends HasPrivateMethod implements ScopeTesterInterfac } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ public function setPropertyObj(var obj, string property, var value) -> var { @@ -18,7 +18,7 @@ class PrivateScopeTester extends HasPrivateMethod implements ScopeTesterInterfac } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ public function setPropertyNew(string className, string property, var value) -> var { @@ -31,7 +31,7 @@ class PrivateScopeTester extends HasPrivateMethod implements ScopeTesterInterfac } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ public function getObjVars(var obj) -> var { @@ -39,7 +39,7 @@ class PrivateScopeTester extends HasPrivateMethod implements ScopeTesterInterfac } /** - * @issue https://github.com/phalcon/zephir/issues/2057 + * @issue https://github.com/zephir-lang/zephir/issues/2057 */ public function getNewVars(string className) -> var { diff --git a/stub/optimizers/strreplace.zep b/stub/optimizers/strreplace.zep index ff5aaa9df5..a8ecd4f59e 100644 --- a/stub/optimizers/strreplace.zep +++ b/stub/optimizers/strreplace.zep @@ -4,7 +4,7 @@ namespace Stub\Optimizers; class StrReplace { /** - * @link https://github.com/phalcon/zephir/issues/1055 + * @link https://github.com/zephir-lang/zephir/issues/1055 */ static public function issue1055() { diff --git a/stub/pregmatch.zep b/stub/pregmatch.zep index 363a35768d..fbd6c672d2 100644 --- a/stub/pregmatch.zep +++ b/stub/pregmatch.zep @@ -88,7 +88,7 @@ class Pregmatch } /** - * @link https://github.com/phalcon/zephir/issues/287 + * @link https://github.com/zephir-lang/zephir/issues/287 */ public function testPregMatchSaveMatches(string str, string pattern) { diff --git a/stub/properties/propertyarray.zep b/stub/properties/propertyarray.zep index dff14198f8..887057bdf2 100644 --- a/stub/properties/propertyarray.zep +++ b/stub/properties/propertyarray.zep @@ -2,7 +2,7 @@ namespace Stub\Properties; /** - * @link https://github.com/phalcon/zephir/issues/520 + * @link https://github.com/zephir-lang/zephir/issues/520 */ class PropertyArray { diff --git a/stub/properties/publicproperties.zep b/stub/properties/publicproperties.zep index 992d8c1fe4..9bee7eb07f 100644 --- a/stub/properties/publicproperties.zep +++ b/stub/properties/publicproperties.zep @@ -52,13 +52,13 @@ class PublicProperties /** * It's needed to test ide stubs - * @link https://github.com/phalcon/zephir/issues/731 + * @link https://github.com/zephir-lang/zephir/issues/731 */ protected someArrayWithSpecifyKeys = ["a": "A", "b": "B", "c": "C"]; /** * It's needed to test ide stubs - * @link https://github.com/phalcon/zephir/issues/731 + * @link https://github.com/zephir-lang/zephir/issues/731 */ protected someArrayWithSubArray = [ "success": ["class": "alert alert-success"], diff --git a/stub/properties/staticpropertyarray.zep b/stub/properties/staticpropertyarray.zep index 0adeb591ac..0c1517adca 100644 --- a/stub/properties/staticpropertyarray.zep +++ b/stub/properties/staticpropertyarray.zep @@ -2,8 +2,8 @@ namespace Stub\Properties; /** - * @link https://github.com/phalcon/zephir/issues/367 - * @link https://github.com/phalcon/zephir/issues/188 + * @link https://github.com/zephir-lang/zephir/issues/367 + * @link https://github.com/zephir-lang/zephir/issues/188 */ class StaticPropertyArray { diff --git a/stub/reflection.zep b/stub/reflection.zep new file mode 100644 index 0000000000..f8be13a4a6 --- /dev/null +++ b/stub/reflection.zep @@ -0,0 +1,39 @@ + +namespace Stub; + +use ReflectionClass; +use ReflectionFunction; +use ReflectionParameter; + +class Reflection +{ + private reflectionParameter = null; + + public function getReflectionClass() -> + { + var r; + let r = new ReflectionClass(this); + + return r; + } + + public function getReflectionFunction() -> + { + var r; + let r = new ReflectionFunction("abs"); + + return r; + } + + public function setReflectionParameter( parameter) -> + { + let this->reflectionParameter = parameter; + + return this->reflectionParameter; + } + + public function getReflectionParameter() -> | null + { + return this->reflectionParameter; + } +} diff --git a/stub/regexdna.zep b/stub/regexdna.zep index e29bf4141a..342af0e1e3 100644 --- a/stub/regexdna.zep +++ b/stub/regexdna.zep @@ -8,7 +8,6 @@ namespace Stub; */ class RegexDNA { - public function process(var path) { var variants, vIUB, vIUBnew, stuffToRemove, contents, initialLength, @@ -42,23 +41,22 @@ class RegexDNA let stuffToRemove = "^>.*$|\n", discard = null; - //read in file + // Read in file let contents = file_get_contents(path), initialLength = strlen(contents); - //remove things + // Remove things let contents = preg_replace("/" . stuffToRemove . "/mS", "", contents), codeLength = strlen(contents); - //do regexp counts + // Do regexp counts for regex in variants { echo regex , " " , preg_match_all("/" . regex . "/iS", contents, discard), '\n'; } - // do replacements + // Do replacements let contents = preg_replace(vIUB, vIUBnew, contents); echo '\n', initialLength, '\n', codeLength, '\n', strlen(contents), '\n'; } - } diff --git a/stub/scall.zep b/stub/scall.zep index 3c7141adcb..dabdcfa2b1 100644 --- a/stub/scall.zep +++ b/stub/scall.zep @@ -6,7 +6,6 @@ namespace Stub; class Scall extends ScallParent { - static public function testMethod1() -> string { return "hello public"; diff --git a/stub/scalllateconstruct.zep b/stub/scalllateconstruct.zep new file mode 100644 index 0000000000..e5464452e7 --- /dev/null +++ b/stub/scalllateconstruct.zep @@ -0,0 +1,30 @@ +/** + * Static Function call via constructor and late binding + */ + +namespace Stub; + +class ScallLateConstruct +{ + protected protectedVar; + + public function __construct() + { + this->testPublicInit(); + } + + static public function testStaticInit() -> string + { + return "hello public"; + } + + public function testPublicInit() + { + let this->protectedVar = self::testStaticInit(); + } + + public function varValue() -> string + { + return this->protectedVar; + } +} diff --git a/stub/spropertyaccess.zep b/stub/spropertyaccess.zep index cef94f8500..e6660bb1ed 100644 --- a/stub/spropertyaccess.zep +++ b/stub/spropertyaccess.zep @@ -54,7 +54,7 @@ class SPropertyAccess } /** - * @see https://github.com/phalcon/zephir/issues/1494 + * @see https://github.com/zephir-lang/zephir/issues/1494 */ public static function mutateIntVarInsideCycle() -> int { @@ -69,7 +69,7 @@ class SPropertyAccess } /** - * @see https://github.com/phalcon/zephir/issues/1494 + * @see https://github.com/zephir-lang/zephir/issues/1494 */ public static function mutateDoubleVarInsideCycle() -> double { diff --git a/stub/statements.zep b/stub/statements.zep index 9dd5aaf791..aba67588e4 100644 --- a/stub/statements.zep +++ b/stub/statements.zep @@ -6,7 +6,7 @@ class Statements public tmp2 = "test string"; /** - * @issue https://github.com/phalcon/zephir/issues/544 + * @issue https://github.com/zephir-lang/zephir/issues/544 */ private totalSteps = 100; diff --git a/stub/ternary.zep b/stub/ternary.zep index 409ec22111..809724db0a 100644 --- a/stub/ternary.zep +++ b/stub/ternary.zep @@ -33,7 +33,7 @@ class Ternary } /** - * @link https://github.com/phalcon/zephir/issues/665 + * @link https://github.com/zephir-lang/zephir/issues/665 */ public function testTernaryWithPromotedTemporaryVariable() { @@ -47,7 +47,7 @@ class Ternary } /** - * @link https://github.com/phalcon/zephir/issues/297 + * @link https://github.com/zephir-lang/zephir/issues/297 */ public function testTernaryAfterLetVariable() { diff --git a/stub/vars.zep b/stub/vars.zep index 7af71ff6d1..9299bb732f 100644 --- a/stub/vars.zep +++ b/stub/vars.zep @@ -80,7 +80,7 @@ class Vars } /** - * @link https://github.com/phalcon/zephir/issues/681 + * @link https://github.com/zephir-lang/zephir/issues/681 */ public function testIntVarDump() { diff --git a/templates/ZendEngine3/config.m4 b/templates/ZendEngine3/config.m4 index 18a9059971..3fd237a24e 100644 --- a/templates/ZendEngine3/config.m4 +++ b/templates/ZendEngine3/config.m4 @@ -12,7 +12,9 @@ if test "$PHP_%PROJECT_UPPER%" = "yes"; then %PROJECT_LOWER%_sources="%PROJECT_LOWER_SAFE%.c kernel/main.c kernel/memory.c kernel/exception.c kernel/debug.c kernel/backtrace.c kernel/object.c kernel/array.c kernel/string.c kernel/fcall.c kernel/require.c kernel/file.c kernel/operators.c kernel/math.c kernel/concat.c kernel/variables.c kernel/filter.c kernel/iterator.c kernel/time.c kernel/exit.c %FILES_COMPILED% %EXTRA_FILES_COMPILED%" PHP_NEW_EXTENSION(%PROJECT_LOWER%, $%PROJECT_LOWER%_sources, $ext_shared,, %PROJECT_EXTRA_CFLAGS%) PHP_ADD_BUILD_DIR([$ext_builddir/kernel/]) - PHP_ADD_BUILD_DIR([$ext_builddir/%PROJECT_LOWER%/]) + for dir in "%PROJECT_BUILD_DIRS%"; do + PHP_ADD_BUILD_DIR([$ext_builddir/$dir]) + done PHP_SUBST(%PROJECT_UPPER%_SHARED_LIBADD) old_CPPFLAGS=$CPPFLAGS diff --git a/templates/ZendEngine3/project.c b/templates/ZendEngine3/project.c index 8984163655..aa2642fba2 100644 --- a/templates/ZendEngine3/project.c +++ b/templates/ZendEngine3/project.c @@ -44,7 +44,7 @@ static PHP_MINIT_FUNCTION(%PROJECT_LOWER%) static PHP_MSHUTDOWN_FUNCTION(%PROJECT_LOWER%) { %MOD_DESTRUCTORS% - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); UNREGISTER_INI_ENTRIES(); return SUCCESS; } @@ -53,7 +53,7 @@ static PHP_MSHUTDOWN_FUNCTION(%PROJECT_LOWER%) /** * Initialize globals on each request or each thread started */ -static void php_zephir_init_globals(zend_%PROJECT_LOWER%_globals *%PROJECT_LOWER%_globals TSRMLS_DC) +static void php_zephir_init_globals(zend_%PROJECT_LOWER%_globals *%PROJECT_LOWER%_globals) { %PROJECT_LOWER%_globals->initialized = 0; @@ -72,7 +72,7 @@ static void php_zephir_init_globals(zend_%PROJECT_LOWER%_globals *%PROJECT_LOWER /** * Initialize globals only on each thread started */ -static void php_zephir_init_module_globals(zend_%PROJECT_LOWER%_globals *%PROJECT_LOWER%_globals TSRMLS_DC) +static void php_zephir_init_module_globals(zend_%PROJECT_LOWER%_globals *%PROJECT_LOWER%_globals) { %INIT_MODULE_GLOBALS% } @@ -92,7 +92,7 @@ static PHP_RINIT_FUNCTION(%PROJECT_LOWER%) static PHP_RSHUTDOWN_FUNCTION(%PROJECT_LOWER%) { %REQ_DESTRUCTORS% - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); return SUCCESS; } diff --git a/tests/Extension/ArithmeticTest.php b/tests/Extension/ArithmeticTest.php index c403cc2f0e..cc504d6bbf 100644 --- a/tests/Extension/ArithmeticTest.php +++ b/tests/Extension/ArithmeticTest.php @@ -1,35 +1,38 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Arithmetic; -class ArithmeticTest extends TestCase +final class ArithmeticTest extends TestCase { - protected $class; + protected Arithmetic $class; protected function setUp(): void { - $this->class = new \Stub\Arithmetic(); + $this->class = new Arithmetic(); } - public function testIntSum() + public function testIntSum(): void { $this->assertSame($this->class->intSum(), 3); $this->assertSame($this->class->int2Sum(), 3); $this->assertSame($this->class->intSumSimple(), 3); } - public function testDoubleSum() + public function testDoubleSum(): void { $this->assertSame($this->class->doubleSum(), 3.0); $this->assertSame($this->class->double2Sum(), 3.0); @@ -37,7 +40,7 @@ public function testDoubleSum() $this->assertSame($this->class->doubleSum2Simple(), 3.0); } - public function testSummTest() + public function testSummTest(): void { $this->assertSame($this->class->varSum(), 3); $this->assertSame($this->class->varSumSimple(), 3); @@ -74,7 +77,7 @@ public function testSummTest() $this->assertSame($this->class->complex24Sum(), 3.0); } - public function testBoolSum() + public function testBoolSum(): void { $this->assertTrue($this->class->boolSum()); $this->assertTrue($this->class->bool2Sum()); @@ -82,7 +85,7 @@ public function testBoolSum() $this->assertTrue($this->class->boolSumSimple()); } - public function testVarLess() + public function testVarLess(): void { $this->assertTrue($this->class->less1()); $this->assertFalse($this->class->less2()); @@ -104,7 +107,7 @@ public function testVarLess() $this->assertTrue($this->class->less4(4)); } - public function testVarGreater() + public function testVarGreater(): void { $this->assertFalse($this->class->greater1()); $this->assertTrue($this->class->greater2()); @@ -126,7 +129,7 @@ public function testVarGreater() $this->assertFalse($this->class->greater4(4)); } - public function testAddSum() + public function testAddSum(): void { $this->assertSame($this->class->addSum1(), 10); $this->assertSame($this->class->addSum2(), 0); @@ -159,7 +162,7 @@ public function testAddSum() $this->assertSame($this->class->addSum24(1), 1 + (1 << 10)); } - public function testSubTest() + public function testSubTest(): void { $this->assertSame($this->class->intSub(), -1); $this->assertSame($this->class->intSub2(), -1); @@ -235,27 +238,27 @@ public function testSubTest() $this->assertSame($this->class->sub24(1), 1 - (1 << 10)); } - public function testMul() + public function testMul(): void { $this->assertSame($this->class->mul1(), 5); $this->assertSame($this->class->mul2(5), 25); $this->assertSame($this->class->mul3(), 1 * (1 << 10)); } - public function testDiv() + public function testDiv(): void { $this->assertSame(24.75, $this->class->div1()); $this->assertSame(24.75, $this->class->div2()); } - public function testLetStatement() + public function testLetStatement(): void { $this->assertSame($this->class->letStatementIntMinus(), -1); $this->assertSame($this->class->letStatementVarMinus(1), -1); $this->assertSame($this->class->letStatementVarMinus(-1), 1); $this->assertSame($this->class->letStatementVarMinus(true), -true); $this->assertSame($this->class->letStatementVarMinus(false), -false); - $this->assertSame($this->class->letStatementVarMinus(''), @-''); + $this->assertSame($this->class->letStatementVarMinus(''), @-(int)''); $this->assertTrue($this->class->letStatementBoolMinus(-1)); // it is zend_bool not zend_var $this->assertTrue($this->class->letStatementBoolMinus(1)); $this->assertTrue($this->class->letStatementBoolMinus(true)); diff --git a/tests/Extension/ArrayAccessTest.php b/tests/Extension/ArrayAccessTest.php index 000654e464..e350920045 100644 --- a/tests/Extension/ArrayAccessTest.php +++ b/tests/Extension/ArrayAccessTest.php @@ -1,25 +1,27 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class ArrayAccessTest extends TestCase +final class ArrayAccessTest extends TestCase { - public function testTest() + public function testTest(): void { - $arrtest = new \Stub\ArrayAccessTest(); + $class = new \Stub\ArrayAccessTest(); - $this->assertTrue($arrtest->exits('one')); - $this->assertSame(2, $arrtest->get()); + $this->assertTrue($class->exits('one')); + $this->assertSame(2, $class->get()); } } diff --git a/tests/Extension/ArrayIteratorTest.php b/tests/Extension/ArrayIteratorTest.php index fe13708bce..1a1a669745 100644 --- a/tests/Extension/ArrayIteratorTest.php +++ b/tests/Extension/ArrayIteratorTest.php @@ -1,24 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class ArrayIteratorTest extends TestCase +final class ArrayIteratorTest extends TestCase { - public function testTest() + public function testTest(): void { - $itertest = new \Stub\ArrayIteratorTest(); + $class = new \Stub\ArrayIteratorTest(); - $this->assertTrue(!empty($itertest->test())); + $this->assertTrue(!empty($class->test())); } } diff --git a/tests/Extension/ArrayObjectTest.php b/tests/Extension/ArrayObjectTest.php index 2e45f75c4a..c5dc6d3e4f 100644 --- a/tests/Extension/ArrayObjectTest.php +++ b/tests/Extension/ArrayObjectTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\ArrayObject; -class ArrayObjectTest extends TestCase +final class ArrayObjectTest extends TestCase { - public function testSetGet() + public function testSetGet(): void { $test = new ArrayObject(); $this->assertInstanceOf('\ArrayObject', $test); diff --git a/tests/Extension/ArraySearchTest.php b/tests/Extension/ArraySearchTest.php index 1006b82e17..3db6ce70cb 100644 --- a/tests/Extension/ArraySearchTest.php +++ b/tests/Extension/ArraySearchTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,10 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\ArraySearch; -class ArraySearchTest extends TestCase +final class ArraySearchTest extends TestCase { - /** @var ArraySearch */ - private $test; + private ArraySearch $test; protected function setUp(): void { @@ -25,9 +26,9 @@ protected function setUp(): void } /** - * @issue https://github.com/phalcon/zephir/issues/1609 + * @issue https://github.com/zephir-lang/zephir/issues/1609 */ - public function testShouldSearchInTheExternalArrayForAGivenValueAndReturnTheFirstCorrespondingKey() + public function testShouldSearchInTheExternalArrayForAGivenValueAndReturnTheFirstCorrespondingKey(): void { $needle = 'value'; $haystack = ['.', '/', '0', '1', '2', '3', '4', 'value', 'OtherValue']; @@ -36,9 +37,9 @@ public function testShouldSearchInTheExternalArrayForAGivenValueAndReturnTheFirs } /** - * @issue https://github.com/phalcon/zephir/issues/1609 + * @issue https://github.com/zephir-lang/zephir/issues/1609 */ - public function testShouldSearchInTheInternalArrayForAGivenValueAndReturnTheFirstCorrespondingKey() + public function testShouldSearchInTheInternalArrayForAGivenValueAndReturnTheFirstCorrespondingKey(): void { $this->assertEquals(7, $this->test->searchUsingArrayInsideZephir()); } diff --git a/tests/Extension/AssignTest.php b/tests/Extension/AssignTest.php index b7b74eefb2..3750b4b0eb 100644 --- a/tests/Extension/AssignTest.php +++ b/tests/Extension/AssignTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,10 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Assign; -class AssignTest extends TestCase +final class AssignTest extends TestCase { - /** @var Assign */ - private $test; + private Assign $test; protected function setUp(): void { @@ -31,12 +32,12 @@ protected function setUp(): void * @param string $test * @param mixed $testParams */ - public function testShouldPerformAssignment($expected, $test, $testParams = null) + public function testShouldPerformAssignment($expected, $test, $testParams = null): void { $this->assertSame($expected, \call_user_func([$this->test, $test], $testParams)); } - public function variableAssignProvider() + public function variableAssignProvider(): array { $arry = [ 'a' => [ @@ -102,7 +103,7 @@ public function variableAssignProvider() * @param string $test * @param mixed $testParams */ - public function testShouldPerformAssignmentForProperties($expected, $test, $testParams = null) + public function testShouldPerformAssignmentForProperties($expected, $test, $testParams = null): void { if ('array' === \gettype($testParams)) { $this->assertSame($expected, \call_user_func_array([$this->test, $test], $testParams)); @@ -111,7 +112,7 @@ public function testShouldPerformAssignmentForProperties($expected, $test, $test } } - public function propertyAssignProvider() + public function propertyAssignProvider(): array { $arry = [ 'a' => [ @@ -142,7 +143,7 @@ public function propertyAssignProvider() ]; } - public function testGlobalVarAssign() + public function testGlobalVarAssign(): void { /* * @see LetStatement::_assignArrayIndexSingle(); @@ -160,19 +161,17 @@ public function testGlobalVarAssign() $this->assertSame($_GET['stest2'], 'testval'); } - public function testGlobalVarAssignSERVER() + public function testGlobalVarAssignSERVER(): void { $serverCount = \count($_SERVER); - $this->test->testAssignSuperGlobalsSERVER(); $this->assertCount($serverCount + 2, $_SERVER); } - public function testGlobalVarAssignGET() + public function testGlobalVarAssignGET(): void { $getCount = \count($_GET); - $this->test->testAssignSuperGlobalsGET(); $this->assertCount($getCount + 2, $_GET); diff --git a/tests/Extension/BitwiseTest.php b/tests/Extension/BitwiseTest.php index 656102825e..99f469239f 100644 --- a/tests/Extension/BitwiseTest.php +++ b/tests/Extension/BitwiseTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Bitwise; -class BitwiseTest extends TestCase +final class BitwiseTest extends TestCase { public function testBitwise() { - $test = new \Stub\Bitwise(); + $test = new Bitwise(); // OR TESTS $this->assertSame($test->intAnd(), 0); @@ -123,9 +126,9 @@ public function testBitwise() $this->assertSame($test->testBitwiseNot(666), -667); $this->assertSame($test->testBitwiseAndNot(5, 4), 1); - /* + /** * Bitwise XOR - * @issue https://github.com/phalcon/zephir/issues/1581 + * @issue https://github.com/zephir-lang/zephir/issues/1581 */ $this->assertSame(123 ^ 321, $test->testbitwiseXor()); } diff --git a/tests/Extension/BranchPredictionTest.php b/tests/Extension/BranchPredictionTest.php index 4d5f0da4af..d9196a9ee1 100644 --- a/tests/Extension/BranchPredictionTest.php +++ b/tests/Extension/BranchPredictionTest.php @@ -1,21 +1,23 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class BranchPredictionTest extends TestCase +final class BranchPredictionTest extends TestCase { - public function testVariants() + public function testVariants(): void { $br = new \Stub\BranchPrediction(); diff --git a/tests/Extension/BuiltIn/CharMethodTest.php b/tests/Extension/BuiltIn/CharMethodTest.php index 7b942d8c3c..ea44123a17 100644 --- a/tests/Extension/BuiltIn/CharMethodTest.php +++ b/tests/Extension/BuiltIn/CharMethodTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\BuiltIn; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\BuiltIn\CharMethods; -class CharMethodTest extends TestCase +final class CharMethodTest extends TestCase { - public function testModifications() + public function testModifications(): void { $charm = new CharMethods(); diff --git a/tests/Extension/BuiltIn/IntMethodTest.php b/tests/Extension/BuiltIn/IntMethodTest.php index 2af22fc4c6..013c900d89 100644 --- a/tests/Extension/BuiltIn/IntMethodTest.php +++ b/tests/Extension/BuiltIn/IntMethodTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\BuiltIn; @@ -14,17 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\BuiltIn\IntMethods; -class IntMethodTest extends TestCase +final class IntMethodTest extends TestCase { - /** @var IntMethods */ - private $test; + private IntMethods $test; protected function setUp(): void { $this->test = new IntMethods(); } - public function testMath() + public function testMath(): void { $this->assertSame(abs(10), $this->test->getAbs(10)); $this->assertSame(abs(-5), $this->test->getAbs1()); @@ -36,7 +37,7 @@ public function testMath() $this->assertSame(log(10, 10), $this->test->getLog(10, 10)); } - public function testTrigonometry() + public function testTrigonometry(): void { $this->assertSame(sin(1), $this->test->getSin(1)); $this->assertSame(cos(1), $this->test->getCos(1)); @@ -46,7 +47,7 @@ public function testTrigonometry() $this->assertSame(atan(1), $this->test->getAtan(1)); } - public function testTransforms() + public function testTransforms(): void { $this->assertSame(decbin(255), $this->test->getBinary(255)); $this->assertSame(dechex(255), $this->test->getHex(255)); diff --git a/tests/Extension/BuiltIn/StringMethodTest.php b/tests/Extension/BuiltIn/StringMethodTest.php index 659d7bebea..809a22e689 100644 --- a/tests/Extension/BuiltIn/StringMethodTest.php +++ b/tests/Extension/BuiltIn/StringMethodTest.php @@ -1,24 +1,24 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\BuiltIn; -use PHPUnit\Framework\Error\Warning; use PHPUnit\Framework\TestCase; use Stub\BuiltIn\StringMethods; -class StringMethodTest extends TestCase +final class StringMethodTest extends TestCase { - /** @var StringMethods */ - private $test; + private ?StringMethods $test = null; protected function setUp(): void { @@ -32,7 +32,7 @@ protected function setUp(): void * @param mixed $expected * @param mixed $delimiter */ - public function testCamelize($actual, $expected, $delimiter) + public function testCamelize($actual, $expected, $delimiter): void { $this->assertSame($expected, $this->test->camelize($actual, $delimiter)); } @@ -42,9 +42,9 @@ public function testCamelize($actual, $expected, $delimiter) * * @param mixed $delimiter */ - public function testCamelizeWrongSecondParam($delimiter) + public function testCamelizeWrongSecondParam($delimiter): void { - $this->expectException(Warning::class); + $this->expectWarning(); $this->expectExceptionMessage( 'The second argument passed to the camelize() must be a string containing at least one character' ); @@ -59,7 +59,7 @@ public function testCamelizeWrongSecondParam($delimiter) * @param mixed $expected * @param mixed $delimiter */ - public function testUnCamelize($actual, $expected, $delimiter) + public function testUnCamelize($actual, $expected, $delimiter): void { $this->assertSame($expected, $this->test->uncamelize($actual, $delimiter)); } @@ -69,9 +69,9 @@ public function testUnCamelize($actual, $expected, $delimiter) * * @param mixed $delimiter */ - public function testUnCamelizeWrongSecondParam($delimiter) + public function testUnCamelizeWrongSecondParam($delimiter): void { - $this->expectException(Warning::class); + $this->expectWarning(); $this->expectExceptionMessage( 'Second argument passed to the uncamelize() must be a string of one character' ); @@ -79,7 +79,7 @@ public function testUnCamelizeWrongSecondParam($delimiter) $this->test->uncamelize('CameLiZe', $delimiter); } - public function testLength() + public function testLength(): void { $this->assertSame(5, $this->test->getLength1()); $this->assertSame(5, $this->test->getLength2()); @@ -88,13 +88,13 @@ public function testLength() $this->assertSame(8, $this->test->getLength5('bar')); } - public function testIndex() + public function testIndex(): void { $this->assertSame(0, $this->test->getIndex('test', 't')); $this->assertSame(3, $this->test->getIndexWithPosition('test', 't', 1)); } - public function testTrim() + public function testTrim(): void { $this->assertSame('hello', $this->test->getTrimmed()); $this->assertSame('foo bar', $this->test->getTrimmed1(' foo bar ')); @@ -102,7 +102,7 @@ public function testTrim() $this->assertSame(' foo bar', $this->test->getRightTrimmed(' foo bar ')); } - public function testChangeCase() + public function testChangeCase(): void { $this->assertSame('FOO', $this->test->getUpper('foo')); $this->assertSame('foo', $this->test->getLower('FOO')); @@ -111,12 +111,12 @@ public function testChangeCase() $this->assertSame('fOO', $this->test->getLowerFirst('FOO')); } - public function testFormat() + public function testFormat(): void { $this->assertSame('hello zephir!', $this->test->getFormatted('zephir')); } - public function testHashes() + public function testHashes(): void { $str = 'hello world!'; @@ -124,7 +124,7 @@ public function testHashes() $this->assertSame(sha1($str), $this->test->getSha1($str)); } - public function testModifications() + public function testModifications(): void { $this->assertSame("
\nfoo
\n", $this->test->getNl2br("\nfoo\n")); $this->assertSame('foobarfoobar', $this->test->getRepeatted('foobar', 2)); @@ -136,15 +136,12 @@ public function testModifications() $this->assertSame('olleh', $this->test->getReversed('hello')); } - public function testParsers() + public function testParsers(): void { - // TODO: Do we still need this? - // $this->assertSame(['foo' => 'bar'], $t->getParsedJson('{ "foo" : "bar" }', true)); - $this->assertSame(['foo', 'bar', 'baz'], $this->test->getParsedCsv('foo,bar,"baz"')); } - public function providerCamelize() + public function providerCamelize(): array { return [ ['=_camelize', '=Camelize', '_'], @@ -162,7 +159,7 @@ public function providerCamelize() ]; } - public function providerUnCamelize() + public function providerUnCamelize(): array { return [ ['=Camelize', '=_camelize', '_'], @@ -177,7 +174,7 @@ public function providerUnCamelize() ]; } - public function providerCamelizeWrongSecondParam() + public function providerCamelizeWrongSecondParam(): array { return [ [''], diff --git a/tests/Extension/CastTest.php b/tests/Extension/CastTest.php index f97bf5eea7..d92482886c 100644 --- a/tests/Extension/CastTest.php +++ b/tests/Extension/CastTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,12 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Cast; -class CastTest extends TestCase +final class CastTest extends TestCase { - /** - * @var Cast - */ - private $test; + private ?Cast $test = null; protected function setUp(): void { @@ -32,46 +31,42 @@ protected function tearDown(): void } /** - * @see https://github.com/phalcon/zephir/issues/1988 + * @see https://github.com/zephir-lang/zephir/issues/1988 */ - public function testCharCast() + public function testCharCast(): void { - /* + /** * Value */ - $this->assertSame(97, $this->test->testCharCastFromChar()); - /* + /** * Variable types */ - $this->assertSame(65, $this->test->testCharCastFromVariableChar()); } - public function testStringCast() + /** + * @issue https://github.com/zephir-lang/zephir/issues/1988 + */ + public function testStringCast(): void { - /* + /** * Value */ - - // https://github.com/phalcon/zephir/issues/1988 $this->assertSame('z', $this->test->testStringCastChar()); - /* + /** * Variable types */ - - // https://github.com/phalcon/zephir/issues/1988 $this->assertSame('X', $this->test->testStringCastVariableChar()); } - public function testIntCast() + public function testIntCast(): void { - /* + /** * Value */ - $this->assertSame(5, $this->test->testIntCastFromFloat()); $this->assertSame(1, $this->test->testIntCastFromBooleanTrue()); $this->assertSame(0, $this->test->testIntCastFromBooleanFalse()); @@ -82,16 +77,17 @@ public function testIntCast() $this->assertSame(1, $this->test->testIntCastFromStdClass()); $this->assertSame(65, $this->test->testIntCastFromChar()); - /* + /** * Variable types */ - $this->assertSame(5, $this->test->testIntCastFromVariableFloat()); $this->assertSame(1, $this->test->testIntCastFromVariableBooleanTrue()); $this->assertSame(0, $this->test->testIntCastFromVariableBooleanFalse()); $this->assertSame(0, $this->test->testIntCastFromVariableNull()); - // https://github.com/phalcon/zephir/issues/1988 + /** + * @issue https://github.com/zephir-lang/zephir/issues/1988 + */ $this->assertSame(97, $this->test->testIntCastFromVariableChar()); $this->assertSame(0, $this->test->testIntCastFromVariableString()); @@ -106,24 +102,23 @@ public function testIntCast() $this->assertSame(1, $this->test->testIntCastFromVariableStdClass()); } - public function testLongCast() + /** + * @issue https://github.com/zephir-lang/zephir/issues/1988 + */ + public function testLongCast(): void { - /* + /** * Value */ - - // https://github.com/phalcon/zephir/issues/1988 $this->assertSame(97, $this->test->testLongCastFromChar()); - /* + /** * Variable types */ - - // https://github.com/phalcon/zephir/issues/1988 $this->assertSame(65, $this->test->testLongCastFromVariableChar()); } - public function testFloatCast() + public function testFloatCast(): void { $this->assertSame(5.0, $this->test->testFloatCastFromFloat()); $this->assertSame(1.0, $this->test->testFloatCastFromBooleanTrue()); @@ -142,50 +137,51 @@ public function testFloatCast() $this->assertSame(1.0, $this->test->testFloatCastFromVariableStdClass()); } - public function testDoubleCast() + /** + * @issue https://github.com/zephir-lang/zephir/issues/1988 + */ + public function testDoubleCast(): void { - /* + /** * Value */ - - // https://github.com/phalcon/zephir/issues/1988 $this->assertSame(97.0, $this->test->testDoubleCastFromVChar()); - /* + /** * Variable types */ - - // https://github.com/phalcon/zephir/issues/1988 $this->assertSame(65.0, $this->test->testDoubleCastFromVariableChar()); } - public function testBooleanCast() + public function testBooleanCast(): void { - /* + /** * Value */ - $this->assertTrue($this->test->testBooleanCastFromIntTrue1()); $this->assertTrue($this->test->testBooleanCastFromIntTrue2()); $this->assertFalse($this->test->testBooleanCastFromIntFalse()); - // https://github.com/phalcon/zephir/issues/1988 + /** + * @issue https://github.com/zephir-lang/zephir/issues/1988 + */ $this->assertTrue($this->test->testBooleanCastFromChar()); - /* + /** * Variable types */ - $this->assertTrue($this->test->testBooleanCastFromObject()); $this->assertFalse($this->test->testBooleanCastFromEmptyArray()); $this->assertTrue($this->test->testBooleanCastFromArray()); $this->assertFalse($this->test->testBooleanCastFromNull()); - // https://github.com/phalcon/zephir/issues/1988 + /** + * @issue https://github.com/zephir-lang/zephir/issues/1988 + */ $this->assertTrue($this->test->testBooleanCastFromVariableChar()); } - public function testObjectCast() + public function testObjectCast(): void { $this->assertEquals((object) 5, $this->test->testObjectCastFromInt()); $this->assertEquals((object) 5.0, $this->test->testObjectCastFromFloat()); @@ -198,7 +194,7 @@ public function testObjectCast() $this->assertEquals((object) 'test string', $this->test->testObjectCastFromString()); } - public function testArrayCast() + public function testArrayCast(): void { $this->assertEquals((array) [1, 2, 3], $this->test->testArrayCastFromVariableArray()); $this->assertEquals((array) true, $this->test->testArrayCastFromVariableTrue()); diff --git a/tests/Extension/CblockTest.php b/tests/Extension/CblockTest.php index 73a9b4d3da..8dc60ef1fd 100644 --- a/tests/Extension/CblockTest.php +++ b/tests/Extension/CblockTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Cblock; -class CblockTest extends TestCase +final class CblockTest extends TestCase { - public function testBlock() + public function testBlock(): void { - $test = new \Stub\Cblock(); + $test = new Cblock(); $this->assertSame($test->testCblock1(), 10); $this->assertSame($test->testCblock2(), 55); } diff --git a/tests/Extension/CharsTest.php b/tests/Extension/CharsTest.php index 93b06897a3..8886e0374f 100644 --- a/tests/Extension/CharsTest.php +++ b/tests/Extension/CharsTest.php @@ -1,35 +1,37 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Chars; -class CharsTest extends TestCase +final class CharsTest extends TestCase { - /** @var \Stub\Chars */ - private $test; + private Chars $test; protected function setUp(): void { - $this->test = new \Stub\Chars(); + $this->test = new Chars(); } - public function testSumChars() + public function testSumChars(): void { $this->assertSame(\chr($this->test->sumChars1()), 'a'); $this->assertSame(\chr($this->test->sumChars2('A')), 'a'); } - public function testDiffChars() + public function testDiffChars(): void { $this->assertSame(\chr($this->test->diffChars1()), 'A'); $this->assertSame(\chr($this->test->diffChars2('a')), 'A'); diff --git a/tests/Extension/ClosureTest.php b/tests/Extension/ClosureTest.php index 6f423a9907..ebe5636014 100644 --- a/tests/Extension/ClosureTest.php +++ b/tests/Extension/ClosureTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Closures; -class ClosureTest extends TestCase +final class ClosureTest extends TestCase { - public function testUseCommand() + public function testUseCommand(): void { - $test = new \Stub\Closures(); + $test = new Closures(); $this->assertSame(2, $test->testUseCommand()()); } diff --git a/tests/Extension/CompareTest.php b/tests/Extension/CompareTest.php index c8da7187f1..d6c4edfe4a 100644 --- a/tests/Extension/CompareTest.php +++ b/tests/Extension/CompareTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,37 +16,36 @@ use PHPUnit\Framework\TestCase; use Stub\Compare; -class CompareTest extends TestCase +final class CompareTest extends TestCase { - /** @var Compare */ - private $test; + private Compare $test; protected function setUp(): void { $this->test = new Compare(); } - public function testLess() + public function testLess(): void { $this->assertTrue($this->test->isLessInt(1, 2)); $this->assertTrue($this->test->isLessDouble(1.1, 1.2)); $this->assertFalse($this->test->isLessInt(20, 10)); } - public function testGreaterEqual() + public function testGreaterEqual(): void { $this->assertTrue($this->test->isGreaterEqual(3, 2)); $this->assertTrue($this->test->isGreaterEqual(2, 2)); $this->assertFalse($this->test->isGreaterEqual(1, 2)); } - public function testConst() + public function testConst(): void { $this->assertTrue($this->test->isLessThenPi(3.12)); $this->assertTrue($this->test->isMoreThenPi(3.15)); } - public function testVarWithStringEquals() + public function testVarWithStringEquals(): void { $this->assertSame('NOK', $this->test->testVarWithStringEquals('wrong testing')); $this->assertSame('NOK', $this->test->testVarWithStringEquals('another testing')); @@ -52,7 +53,7 @@ public function testVarWithStringEquals() $this->assertSame('NOK', $this->test->testVarWithStringEquals('testing nok')); } - public function testEquals() + public function testEquals(): void { $this->assertTrue($this->test->testVarEqualsNull(null)); $this->assertFalse($this->test->testVarEqualsNull(1)); @@ -61,7 +62,7 @@ public function testEquals() $this->assertFalse($this->test->testNullEqualsVar(1)); } - public function testNotEquals() + public function testNotEquals(): void { $this->assertTrue($this->test->testNotIdenticalZeroVar()); $this->assertTrue($this->test->testNotIdenticalZeroInt()); diff --git a/tests/Extension/ConcatTest.php b/tests/Extension/ConcatTest.php index 947951e538..4653a09c08 100644 --- a/tests/Extension/ConcatTest.php +++ b/tests/Extension/ConcatTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,17 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\Concat; -class ConcatTest extends TestCase +final class ConcatTest extends TestCase { - /** @var Concat */ - private $test; + private Concat $test; protected function setUp(): void { $this->test = new Concat(); } - public function testShouldConcatenateLocalVariableAndSelfVariable() + public function testShouldConcatenateLocalVariableAndSelfVariable(): void { $this->assertNull($this->test->getTestProperty()); @@ -35,28 +36,28 @@ public function testShouldConcatenateLocalVariableAndSelfVariable() $this->assertSame('test string', $this->test->getTestProperty()); } - public function testShouldAppendVariableToString() + public function testShouldAppendVariableToString(): void { $this->assertSame('appendtest', $this->test->testConcat1()); } - public function testShouldConcatenateVariableWithString() + public function testShouldConcatenateVariableWithString(): void { $this->assertSame('appendotherappendother', $this->test->testConcat2()); } /** - * @issue https://github.com/phalcon/zephir/issues/1573 + * @issue https://github.com/zephir-lang/zephir/issues/1573 */ - public function testShouldConcatenateStringsSimilarToIntegersNumbers() + public function testShouldConcatenateStringsSimilarToIntegersNumbers(): void { $this->assertSame('21', $this->test->testConcat3()); } /** - * @issue https://github.com/phalcon/zephir/issues/1893 + * @issue https://github.com/zephir-lang/zephir/issues/1893 */ - public function testShouldConcatenateStringWithVarDouble() + public function testShouldConcatenateStringWithVarDouble(): void { $this->assertSame( 'SELECT * FROM TEST WHERE value <= 946.5 AND value >= 473.25', @@ -65,9 +66,9 @@ public function testShouldConcatenateStringWithVarDouble() } /** - * @issue https://github.com/phalcon/zephir/issues/1893 + * @issue https://github.com/zephir-lang/zephir/issues/1893 */ - public function testShouldConcatenateStringWithDouble() + public function testShouldConcatenateStringWithDouble(): void { $this->assertSame( 'Concatenated string with number 18.93000001', diff --git a/tests/Extension/ConstantsInterfaceTest.php b/tests/Extension/ConstantsInterfaceTest.php index 589e5fef31..2d169a5485 100644 --- a/tests/Extension/ConstantsInterfaceTest.php +++ b/tests/Extension/ConstantsInterfaceTest.php @@ -1,41 +1,44 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\ConstantsInterface; +use Stub\TestInterface; -class ConstantsInterfaceTest extends TestCase +final class ConstantsInterfaceTest extends TestCase { - /** @var \Stub\ConstantsInterface */ - private $test; + private ConstantsInterface $test; protected function setUp(): void { - $this->test = new \Stub\ConstantsInterface(); + $this->test = new ConstantsInterface(); } - public function testConstants() + public function testConstants(): void { - $this->assertSame(\Stub\TestInterface::C1, null); - $this->assertSame(\Stub\TestInterface::C2, false); - $this->assertSame(\Stub\TestInterface::C3, true); - $this->assertSame(\Stub\TestInterface::C4, 10); - $this->assertSame(\Stub\TestInterface::C5, 10.25); - $this->assertSame(\Stub\TestInterface::C6, 'test'); + $this->assertSame(TestInterface::C1, null); + $this->assertSame(TestInterface::C2, false); + $this->assertSame(TestInterface::C3, true); + $this->assertSame(TestInterface::C4, 10); + $this->assertSame(TestInterface::C5, 10.25); + $this->assertSame(TestInterface::C6, 'test'); } - public function testClassOfInterface() + public function testClassOfInterface(): void { - $this->assertInternalType('object', $this->test); + $this->assertIsObject($this->test); $this->assertSame($this->test->testReadInterfaceConstant1(), null); $this->assertSame($this->test->testReadInterfaceConstant2(), false); $this->assertSame($this->test->testReadInterfaceConstant3(), true); @@ -44,19 +47,19 @@ public function testClassOfInterface() $this->assertSame($this->test->testReadInterfaceConstant6(), 'test'); } - public function testStaticConstantsInheritanceFromInterface() + public function testStaticConstantsInheritanceFromInterface(): void { - $this->assertSame(\Stub\ConstantsInterface::C1, null); - $this->assertSame(\Stub\ConstantsInterface::C2, false); - $this->assertSame(\Stub\ConstantsInterface::C3, true); - $this->assertSame(\Stub\ConstantsInterface::C4, 10); - $this->assertSame(\Stub\ConstantsInterface::C5, 10.25); - $this->assertSame(\Stub\ConstantsInterface::C6, 'test'); + $this->assertSame(ConstantsInterface::C1, null); + $this->assertSame(ConstantsInterface::C2, false); + $this->assertSame(ConstantsInterface::C3, true); + $this->assertSame(ConstantsInterface::C4, 10); + $this->assertSame(ConstantsInterface::C5, 10.25); + $this->assertSame(ConstantsInterface::C6, 'test'); } - public function testInstanceConstantsInheritanceFromInterface() + public function testInstanceConstantsInheritanceFromInterface(): void { - $this->assertInternalType('object', $this->test); + $this->assertIsObject($this->test); $this->assertSame($this->test->testReadInheritanceFromInterfaceConstant1(), null); $this->assertSame($this->test->testReadInheritanceFromInterfaceConstant2(), false); $this->assertSame($this->test->testReadInheritanceFromInterfaceConstant3(), true); diff --git a/tests/Extension/ConstantsTest.php b/tests/Extension/ConstantsTest.php index cdf2180b44..d8bbf9a965 100644 --- a/tests/Extension/ConstantsTest.php +++ b/tests/Extension/ConstantsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -15,12 +17,12 @@ use Stub\Constants; use Stub\Oo\ConstantsInterface; -class ConstantsTest extends TestCase +final class ConstantsTest extends TestCase { const EXPECTED_DOUBLE_DELIMITER = '.'; const EXPECTED_CONST_VARS = '$SOME/CSRF/KEY$'; - protected $test; + protected ?Constants $test = null; protected function setUp(): void { @@ -32,7 +34,7 @@ protected function tearDown(): void $this->test = null; } - public function testConstantsDeclaration() + public function testConstantsDeclaration(): void { $this->assertNull(Constants::C1); $this->assertFalse(Constants::C2); @@ -44,7 +46,7 @@ public function testConstantsDeclaration() $this->assertSame(Constants::STD_PROP_LIST, \ArrayObject::STD_PROP_LIST); } - public function testConstantGetters() + public function testConstantGetters(): void { $this->assertNull($this->test->getPropertyC1()); $this->assertFalse($this->test->getPropertyC2()); @@ -55,7 +57,7 @@ public function testConstantGetters() $this->assertSame($this->test->getPropertyC9(), 'some-value'); } - public function testConstantsRead() + public function testConstantsRead(): void { $this->assertSame($this->test->testReadConstant(), ENT_QUOTES); $this->assertSame($this->test->testReadClassConstant1(), Constants::C4); @@ -63,7 +65,7 @@ public function testConstantsRead() $this->assertSame($this->test->testReadClassConstant3(), \Stub\ConstantsParent::P4); } - public function testEnvConstants() + public function testEnvConstants(): void { $phpVersion = $this->test->testPHPVersionEnvConstant(); $this->assertTrue(\is_string($phpVersion) && !empty($phpVersion)); @@ -72,7 +74,7 @@ public function testEnvConstants() $this->assertTrue(\is_string($phpVersion) && !empty($phpVersion)); } - public function testMagickConstants() + public function testMagickConstants(): void { $this->assertSame($this->test->testNamespaceMagicConstant(), 'Stub'); $this->assertSame($this->test->testClassMagicConstant(), 'Stub\Constants'); @@ -85,29 +87,24 @@ public function testMagickConstants() } /** - * Test Constant declaration as String. - * - * @author Alexnder Andriiako - * - * @since 2017-08-09 - * @see https://github.com/phalcon/zephir/issues/1571 + * @issue https://github.com/zephir-lang/zephir/issues/1571 */ - public function testStringDelimiterAsConstDoubleQuoted() + public function testStringDelimiterAsConstDoubleQuoted(): void { $this->assertSame($this->test->testStringDelimiterConstantDoubleQuoted(), self::EXPECTED_DOUBLE_DELIMITER); } - public function testStringConstWithPhpVars() + public function testStringConstWithPhpVars(): void { $this->assertSame($this->test->testStringConstantWithVars(), self::EXPECTED_CONST_VARS); } - public function testStringConstWithPhpVarsAssigned() + public function testStringConstWithPhpVarsAssigned(): void { $this->assertSame($this->test->testStringPropertyWithVarsAssigned(), self::EXPECTED_CONST_VARS); } - public function testStringConstWithPhpVarsGet() + public function testStringConstWithPhpVarsGet(): void { $this->assertSame($this->test->testStringPropertyWithVarsGet(), self::EXPECTED_CONST_VARS); } diff --git a/tests/Extension/DeclareTest.php b/tests/Extension/DeclareTest.php index 5ff208953f..78a5a15bfe 100644 --- a/tests/Extension/DeclareTest.php +++ b/tests/Extension/DeclareTest.php @@ -1,21 +1,23 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class DeclareTest extends TestCase +final class DeclareTest extends TestCase { - public function testDeclareMcallExpression() + public function testDeclareMcallExpression(): void { $test = new \Stub\DeclareTest(); $this->assertSame($test->testDeclareMcallExpression(), 'hello'); diff --git a/tests/Extension/DynamicPropTest.php b/tests/Extension/DynamicPropTest.php index e665a669dc..f30372a8be 100644 --- a/tests/Extension/DynamicPropTest.php +++ b/tests/Extension/DynamicPropTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Oo\DynamicProp; -class DynamicPropTest extends TestCase +final class DynamicPropTest extends TestCase { - public function testSetProperty() + public function testSetProperty(): void { - $class = new \Stub\Oo\DynamicProp(); + $class = new DynamicProp(); $this->assertNull($class->test); $class->setPropertyInt('test'); diff --git a/tests/Extension/EmptyTest.php b/tests/Extension/EmptyTest.php index d07dd57856..3ccb6fefc2 100644 --- a/tests/Extension/EmptyTest.php +++ b/tests/Extension/EmptyTest.php @@ -1,21 +1,23 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class EmptyTest extends TestCase +final class EmptyTest extends TestCase { - public function testEmpty() + public function testEmpty(): void { $test = new \Stub\EmptyTest(); diff --git a/tests/Extension/EvalTest.php b/tests/Extension/EvalTest.php index 04881abf91..27c82ed023 100644 --- a/tests/Extension/EvalTest.php +++ b/tests/Extension/EvalTest.php @@ -1,21 +1,23 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class EvalTest extends TestCase +final class EvalTest extends TestCase { - public function testEval() + public function testEval(): void { $test = new \Stub\EvalTest(); diff --git a/tests/Extension/ExceptionsTest.php b/tests/Extension/ExceptionsTest.php index 2e21b7609e..d992b3428d 100644 --- a/tests/Extension/ExceptionsTest.php +++ b/tests/Extension/ExceptionsTest.php @@ -1,12 +1,12 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -15,116 +15,104 @@ use Stub\Exception; use Stub\Exceptions; -class ExceptionsTest extends TestCase +final class ExceptionsTest extends TestCase { - /** @var Exceptions */ - private $test; + private Exceptions $test; protected function setUp(): void { $this->test = new Exceptions(); } - /** - * @expectedException \Stub\Exception - * @expectedExceptionMessage hello1 - */ - public function testException1() + public function testException1(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('hello1'); + $this->test->testException1(); } - /** - * @expectedException \Stub\Exception - * @expectedExceptionMessage hello2 - */ - public function testException2() + public function testException2(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('hello2'); + $this->test->testException2(); } - /** - * @expectedException \Stub\Exception - * @expectedExceptionMessage hello3 - */ - public function testException3() + public function testException3(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('hello3'); + $this->test->testException3(); } - /** - * @expectedException \Stub\Exception - * @expectedExceptionMessage hello4 - */ - public function testException4() + public function testException4(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('hello4'); + $this->test->testException4(); } - /** - * @expectedException \Stub\Exception - * @expectedExceptionMessage hello5 - */ - public function testException5() + public function testException5(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('hello5'); + $this->test->testException5(); } - /** - * @expectedException \Exception - * @expectedExceptionMessage Test - */ - public function testExceptionString() + public function testExceptionString(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Test'); + $this->test->testExceptionLiteral('string'); } - /** - * @expectedException \Exception - * @expectedExceptionMessage t - */ - public function testExceptionChar() + public function testExceptionChar(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('t'); + $this->test->testExceptionLiteral('char'); } - /** - * @expectedException \Exception - * @expectedExceptionMessage 123 - */ - public function testExceptionInt() + public function testExceptionInt(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage(123); + $this->test->testExceptionLiteral('int'); } - /** - * @expectedException \Exception - * @expectedExceptionMessage 123.123 - */ - public function testExceptionDouble() + public function testExceptionDouble(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage(123.123); + $this->test->testExceptionLiteral('double'); } - /** - * @expectedException \Exception - * @expectedExceptionMessage Hello, Zephir - */ - public function testExceptionSprintf() + public function testExceptionSprintf(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Hello, Zephir'); + $this->test->testExceptionSprintf('Zephir'); } - /** - * @expectedException \Exception - * @expectedExceptionMessage Framework Phalcon written using Zephir - */ - public function testExceptionConcat() + public function testExceptionConcat(): void { + $this->expectException(\Exception::class); + $this->expectExceptionMessage('Framework Phalcon written using Zephir'); + $this->test->testExceptionConcat('Phalcon', 'Zephir'); } - public function testExceptionRethrow() + public function testExceptionRethrow(): void { try { $this->test->testExceptionRethrow(); @@ -134,30 +122,35 @@ public function testExceptionRethrow() } } - public function testMultiException() + public function testMultiException(): void { try { $this->test->testMultiException('test', new Exception('Some Exception')); - } catch (Exception $e) { + } catch (\Exception $e) { $this->assertSame($e->getMessage(), 'Some Exception'); } + $this->test->internalExceptionCallable = function () { return false; }; + try { $value = $this->test->testMultiException('test', new Exception('Some Exception')); $this->assertSame($value, 'test'); - } catch (Exception $e) { + } catch (\Exception $e) { $this->assertTrue(false); } + try { $this->test->testMultiException('test', new \Exception('Some Exception')); } catch (\Exception $e) { $this->assertSame($e->getMessage(), 'Some Exception'); } + $this->test->exceptionCallable = function () { return false; }; + try { $this->test->testMultiException('test', new \Exception('Some Exception')); $this->assertSame($value, 'test'); @@ -166,7 +159,7 @@ public function testMultiException() } } - public function testIssue1325() + public function testIssue1325(): void { $res = $this->test->issue1325(); $this->assertSame(1, $res); diff --git a/tests/Extension/ExistsTest.php b/tests/Extension/ExistsTest.php index 22548ad68f..59306d8874 100644 --- a/tests/Extension/ExistsTest.php +++ b/tests/Extension/ExistsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Exists; -class ExistsTest extends TestCase +final class ExistsTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { $test = new Exists(); diff --git a/tests/Extension/ExitDieTest.php b/tests/Extension/ExitDieTest.php index f5813b5a23..0ebb1ff900 100644 --- a/tests/Extension/ExitDieTest.php +++ b/tests/Extension/ExitDieTest.php @@ -1,48 +1,52 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Extension; use PHPUnit\Framework\TestCase; -class ExitDieTest extends TestCase +use function constant; +use function defined; + +final class ExitDieTest extends TestCase { - /** @var string */ - private $phpBinary; + private string $phpBinary; /** * {@inheritdoc} */ protected function setUp(): void { - $this->phpBinary = \constant('PHP_BINARY'); + $this->phpBinary = constant('PHP_BINARY'); /* If we use phpdbg, you need to add options -qrr */ - if (\defined('PHP_SAPI') && 'phpdbg' == \constant('PHP_SAPI')) { + if (defined('PHP_SAPI') && 'phpdbg' == constant('PHP_SAPI')) { $this->phpBinary .= ' -qrr'; } $this->phpBinary .= " -d 'enable_dl=true'"; $extension = realpath(__DIR__.'/../../ext/modules/stub.so'); - if (file_exists($extension)) { + if ($extension !== false && file_exists($extension)) { $this->phpBinary .= sprintf(" -d 'extension=%s'", $extension); } parent::setUp(); } - public function testShouldExitWthoutAnyMessage() + public function testShouldExitWithoutAnyMessage(): void { - $testfile = __DIR__.'/../fixtures/exit.php'; - $command = "$this->phpBinary $testfile"; + $testFile = __DIR__.'/../fixtures/exit.php'; + $command = "$this->phpBinary $testFile"; $output = []; exec($command, $output, $exitStatus); @@ -60,7 +64,7 @@ public function testShouldExitWthoutAnyMessage() )); } - public function testShouldExitWthProvidedStatusMessage() + public function testShouldExitWthProvidedStatusMessage(): void { $testfile = __DIR__.'/../fixtures/exit_string.php'; $statusMessage = 'Hello World'; @@ -82,11 +86,11 @@ public function testShouldExitWthProvidedStatusMessage() )); } - public function testShouldExitWthProvidedStatusCode() + public function testShouldExitWthProvidedStatusCode(): void { - $testfile = __DIR__.'/../fixtures/exit_int.php'; + $testFile = __DIR__.'/../fixtures/exit_int.php'; $statusCode = 220; - $command = "$this->phpBinary $testfile $statusCode"; + $command = "$this->phpBinary $testFile $statusCode"; $output = []; exec($command, $output, $exitStatus); @@ -104,7 +108,7 @@ public function testShouldExitWthProvidedStatusCode() )); } - private function prepareOutput($output) + private function prepareOutput(array $output): string { if (empty($output)) { return '(empty output)'; diff --git a/tests/Extension/ExtendedInterfaceTest.php b/tests/Extension/ExtendedInterfaceTest.php index c6affcd0a4..8678866047 100644 --- a/tests/Extension/ExtendedInterfaceTest.php +++ b/tests/Extension/ExtendedInterfaceTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,17 +16,11 @@ use PHPUnit\Framework\TestCase; use Stub\ExtendedInterface; -class ExtendedInterfaceTest extends TestCase +final class ExtendedInterfaceTest extends TestCase { - public function testShouldExtendsInterfaces() + public function testShouldExtendsInterfaces(): void { - try { - $reflection = new \ReflectionClass(ExtendedInterface::class); - } catch (\ReflectionException $e) { - $this->fail($e->getMessage()); - - return; - } + $reflection = new \ReflectionClass(ExtendedInterface::class); $this->assertTrue($reflection->isInterface()); $this->assertContains('IteratorAggregate', $reflection->getInterfaceNames()); diff --git a/tests/Extension/ExtensionInfoTest.php b/tests/Extension/ExtensionInfoTest.php index 4ab6332564..6d081f66ac 100644 --- a/tests/Extension/ExtensionInfoTest.php +++ b/tests/Extension/ExtensionInfoTest.php @@ -1,26 +1,28 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class ExtensionInfoTest extends TestCase +final class ExtensionInfoTest extends TestCase { /** * @see config.json for Directive keys * * @return array */ - public function directiveProvider() + public function directiveProvider(): array { return [ ['Test Extension => enabled', true], @@ -42,7 +44,7 @@ public function directiveProvider() * @param string $var * @param bool $contains */ - public function testShouldBeWithoutDuplicatesNamespace($var, $contains) + public function testShouldBeWithoutDuplicatesNamespace(string $var, bool $contains): void { ob_start(); @@ -52,9 +54,9 @@ public function testShouldBeWithoutDuplicatesNamespace($var, $contains) ob_end_clean(); if ($contains) { - $this->assertContains($var, $phpinfo); + $this->assertStringContainsString($var, $phpinfo); } else { - $this->assertNotContains($var, $phpinfo); + $this->assertStringNotContainsString($var, $phpinfo); } } } diff --git a/tests/Extension/FcallTest.php b/tests/Extension/FcallTest.php index 25529512fd..96939b1bfc 100644 --- a/tests/Extension/FcallTest.php +++ b/tests/Extension/FcallTest.php @@ -1,6 +1,8 @@ @@ -15,24 +17,28 @@ use Stub\Fcall; use Stub\Oo\PropertyAccess; -class FcallTest extends TestCase +use function Stub\test_call_object_hint; +use function Stub\test_call_relative_object_hint; +use function Stub\zephir_namespaced_method_test; +use function Stub\zephir_namespaced_method_with_type_casting; + +final class FcallTest extends TestCase { - /** @var Fcall */ - private $test; + private Fcall $test; protected function setUp(): void { $this->test = new Fcall(); } - public function testCall() + public function testCall(): void { $this->assertSame(0, $this->test->testCall1()); $this->assertGreaterThan(-1, $this->test->testCall2()); $this->assertSame(2, $this->test->testCall1FromVar()); } - public function testStrtok() + public function testStrtok(): void { $this->assertFalse($this->test->testStrtokFalse()); $this->assertSame('test', $this->test->testStrtokVarBySlash('test')); @@ -44,7 +50,7 @@ public function testStrtok() * @param mixed $param1 * @param mixed $param2 */ - public function testFunctionGetArgs($param1, $param2) + public function testFunctionGetArgs($param1, $param2): void { $this->assertSame([$param1, $param2], $this->test->testFunctionGetArgs($param1, $param2)); } @@ -55,7 +61,7 @@ public function testFunctionGetArgs($param1, $param2) * @param mixed $param1 * @param mixed $param2 */ - public function testShouldGetArgsUsingAllExtraParams($param1, $param2) + public function testShouldGetArgsUsingAllExtraParams($param1, $param2): void { $this->assertSame([$param1, $param2], $this->test->testFunctionGetArgsAllExtra($param1, $param2)); } @@ -66,12 +72,12 @@ public function testShouldGetArgsUsingAllExtraParams($param1, $param2) * @param mixed $param1 * @param mixed $param2 */ - public function testShouldGetArgsUsingAllExtraParamsAndStaticFunction($param1, $param2) + public function testShouldGetArgsUsingAllExtraParamsAndStaticFunction($param1, $param2): void { $this->assertSame([$param1, $param2], Fcall::testStaticFunctionGetArgsAllExtra($param1, $param2)); } - public function getArgsDataProvider() + public function getArgsDataProvider(): array { return [ [true, false], @@ -84,17 +90,17 @@ public function getArgsDataProvider() ]; } - public function testShouldGedDesiredArgUsingAllExtraParams() + public function testShouldGedDesiredArgUsingAllExtraParams(): void { $this->assertSame([true, false], $this->test->testFunctionGetArgAllExtra(true, false)); } - public function testShouldGedDesiredArgUsingAllExtraParamsAndStaticFunction() + public function testShouldGedDesiredArgUsingAllExtraParamsAndStaticFunction(): void { $this->assertSame([true, false], Fcall::testStaticFunctionGetArgAllExtra(true, false)); } - public function testArrayFill() + public function testArrayFill(): void { $this->assertSame( [array_fill(0, 5, '?'), array_fill(0, 6, '?')], @@ -102,15 +108,15 @@ public function testArrayFill() ); } - public function testFunctionDeclaration() + public function testFunctionDeclaration(): void { - $this->assertSame('aaaaa', \Stub\zephir_namespaced_method_test('a')); - $this->assertTrue(\Stub\test_call_relative_object_hint(new PropertyAccess())); - $this->assertTrue(\Stub\test_call_object_hint(new PropertyAccess())); + $this->assertSame('aaaaa', zephir_namespaced_method_test('a')); + $this->assertTrue(test_call_relative_object_hint(new PropertyAccess())); + $this->assertTrue(test_call_object_hint(new PropertyAccess())); $this->assertSame('ab', zephir_global_method_test('ab/c')); - $this->assertInstanceOf(\stdClass::class, \Stub\zephir_namespaced_method_with_type_casting(new \stdClass())); + $this->assertInstanceOf(\stdClass::class, zephir_namespaced_method_with_type_casting(new \stdClass())); $this->assertInstanceOf(\stdClass::class, zephir_global_method_with_type_casting(new \stdClass())); } } diff --git a/tests/Extension/FetchTest.php b/tests/Extension/FetchTest.php index 8c4a766059..e07f16e380 100644 --- a/tests/Extension/FetchTest.php +++ b/tests/Extension/FetchTest.php @@ -1,21 +1,21 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class FetchTest extends TestCase +final class FetchTest extends TestCase { - public static $test; + public static ?\Stub\FetchTest $test = null; public static function setUpBeforeClass(): void { @@ -40,7 +40,7 @@ public static function tearDownAfterClass(): void self::$test = null; } - public function testPost() + public function testPost(): void { $this->assertSame(self::$test->testFetchPost(1), 'one'); $this->assertSame(self::$test->testFetchPost('two'), 2); @@ -54,17 +54,19 @@ public function testPost() * @param mixed $expected * @param mixed $has */ - public function testValue($input, $expected, $has) + public function testValue($input, $expected, $has): void { $this->assertSame(self::$test->hasValue($input), $has); $this->assertSame(self::$test->getValue($input), $expected); } - public function fieldProvider() + /** + * input, expected, exist + * + * @return array[] + */ + public function fieldProvider(): array { - /* - * input, expected, exist - */ return [ ['somePOST', 'some_post', true], ['VALUEPOST', 'some_post2', true], diff --git a/tests/Extension/FibonnaciTest.php b/tests/Extension/FibonnaciTest.php index 4bf6ffa34f..c74d3ca16b 100644 --- a/tests/Extension/FibonnaciTest.php +++ b/tests/Extension/FibonnaciTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Fibonnaci; -class FibonnaciTest extends TestCase +final class FibonnaciTest extends TestCase { - public function testMethods() + public function testMethods(): void { - $test = new \Stub\Fibonnaci(); + $test = new Fibonnaci(); $this->assertSame($test->fibInt(), 13); $this->assertSame($test->fibDouble(), 13.0); diff --git a/tests/Extension/Flow/SwitchFlowTest.php b/tests/Extension/Flow/SwitchFlowTest.php index 63b57e8c92..be80ecddea 100644 --- a/tests/Extension/Flow/SwitchFlowTest.php +++ b/tests/Extension/Flow/SwitchFlowTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Flow; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Flow\SwitchFlow; -class SwitchFlowTest extends TestCase +final class SwitchFlowTest extends TestCase { - public function testSwitch() + public function testSwitch(): void { $test = new SwitchFlow(); diff --git a/tests/Extension/FlowTest.php b/tests/Extension/FlowTest.php index fd3ddef4cc..a59d1e3154 100644 --- a/tests/Extension/FlowTest.php +++ b/tests/Extension/FlowTest.php @@ -1,29 +1,31 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Flow; -class FlowTest extends TestCase +final class FlowTest extends TestCase { - /** @var \Stub\Flow */ - private $test; + private Flow $test; protected function setUp(): void { - $this->test = new \Stub\Flow(); + $this->test = new Flow(); } - public function testIf() + public function testIf(): void { $this->assertSame($this->test->testIf1(), 1); $this->assertSame($this->test->testIf2(), 0); @@ -45,14 +47,14 @@ public function testIf() $this->assertFalse($this->test->testIf16(' ')); } - public function testLoop() + public function testLoop(): void { $this->assertTrue($this->test->testLoop1()); $this->assertSame($this->test->testLoop2(), 5); $this->assertSame($this->test->testLoop3(), 5); } - public function testWhile() + public function testWhile(): void { $this->assertSame($this->test->testWhile1(), 0); $this->assertSame($this->test->testWhile2(), 0); @@ -79,7 +81,7 @@ public function testWhile() ); } - public function testFor() + public function testFor(): void { $this->assertSame($this->test->testFor1(), 10); $this->assertSame($this->test->testFor2(), 6.0); diff --git a/tests/Extension/FunctionExistsTest.php b/tests/Extension/FunctionExistsTest.php index 629c0795e6..48c45b6df1 100644 --- a/tests/Extension/FunctionExistsTest.php +++ b/tests/Extension/FunctionExistsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,10 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\FunctionExists; -class FunctionExistsTest extends TestCase +final class FunctionExistsTest extends TestCase { - /** @var FunctionExists */ - private $test; + private FunctionExists $test; protected function setUp(): void { @@ -26,19 +27,19 @@ protected function setUp(): void /** * @dataProvider providerInternalFunctions - * @issue https://github.com/phalcon/zephir/issues/1547 + * @issue https://github.com/zephir-lang/zephir/issues/1547 * * @param string $func The internal (built-in) function name */ - public function testShouldCorrectDetectestExistenceWithPassedName($func) + public function testShouldCorrectDetectestExistenceWithPassedName(string $func): void { $this->assertTrue($this->test->testWithPassedName($func)); } /** - * @issue https://github.com/phalcon/zephir/issues/1547 + * @issue https://github.com/zephir-lang/zephir/issues/1547 */ - public function testShouldCorrectDetectestExistenceInsideTheZephirCode() + public function testShouldCorrectDetectestExistenceInsideTheZephirCode(): void { $expected = [ 'substr' => true, @@ -55,14 +56,14 @@ public function testShouldCorrectDetectestExistenceInsideTheZephirCode() } /** - * @issue https://github.com/phalcon/zephir/issues/1547 + * @issue https://github.com/zephir-lang/zephir/issues/1547 */ - public function testShouldCorrectDetectestExistenceByUsingString() + public function testShouldCorrectDetectestExistenceByUsingString(): void { $this->assertTrue($this->test->testWithString()); } - public function providerInternalFunctions() + public function providerInternalFunctions(): array { $allFunctions = get_defined_functions(); shuffle($allFunctions['internal']); diff --git a/tests/Extension/FunctionsTest.php b/tests/Extension/FunctionsTest.php new file mode 100644 index 0000000000..b37ffdeede --- /dev/null +++ b/tests/Extension/FunctionsTest.php @@ -0,0 +1,28 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Extension; + +use PHPUnit\Framework\TestCase; +use Stub\Functions; + +class FunctionsTest extends TestCase +{ + public function testFilterVar(): void + { + $class = new Functions(); + + $this->assertFalse($class->filterVar1()); + $this->assertTrue($class->filterVar2()); + } +} diff --git a/tests/Extension/Globals/EnvTest.php b/tests/Extension/Globals/EnvTest.php index fa4be4c402..16e46d2470 100644 --- a/tests/Extension/Globals/EnvTest.php +++ b/tests/Extension/Globals/EnvTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Globals; @@ -14,7 +16,7 @@ use PHPUnit\Framework\TestCase; use Stub\Globals\Env; -class EnvTest extends TestCase +final class EnvTest extends TestCase { protected function setUp(): void { @@ -32,7 +34,16 @@ protected function setUp(): void } } - public function testReadStandard() + public function testEmpty(): void + { + $tester = new Env(); + $var = 'non-existing'; + + $this->assertSame(false, $tester->read($var)); + $this->assertSame(false, getenv($var)); + } + + public function testReadStandard(): void { $tester = new Env(); @@ -46,7 +57,7 @@ public function testReadStandard() $this->assertSame($_ENV[$var], getenv($var)); } - public function testReadNew() + public function testReadNew(): void { $_ENV['NEW_VARIABLEFROM'] = __FUNCTION__; $tester = new Env(); diff --git a/tests/Extension/Globals/PostTest.php b/tests/Extension/Globals/PostTest.php index 3a1dcc18a9..21f8a8af68 100644 --- a/tests/Extension/Globals/PostTest.php +++ b/tests/Extension/Globals/PostTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Globals; @@ -14,12 +16,12 @@ use PHPUnit\Framework\TestCase; use Stub\Globals\Post; -class PostTest extends TestCase +final class PostTest extends TestCase { /** - * @issue https://github.com/phalcon/zephir/issues/1623 + * @issue https://github.com/zephir-lang/zephir/issues/1623 */ - public function testShouldNotTriggerAnyErrorIfPostIsUndefined() + public function testShouldNotTriggerAnyErrorIfPostIsUndefined(): void { $tester = new Post(); @@ -30,9 +32,9 @@ public function testShouldNotTriggerAnyErrorIfPostIsUndefined() } /** - * @issue https://github.com/phalcon/zephir/issues/1623 + * @issue https://github.com/zephir-lang/zephir/issues/1623 */ - public function testShouldReturnFalseIfVariableIsUndefined() + public function testShouldReturnFalseIfVariableIsUndefined(): void { $tester = new Post(); @@ -43,9 +45,9 @@ public function testShouldReturnFalseIfVariableIsUndefined() } /** - * @issue https://github.com/phalcon/zephir/issues/1623 + * @issue https://github.com/zephir-lang/zephir/issues/1623 */ - public function testShouldReturnTrueIfVariableIsDefined() + public function testShouldReturnTrueIfVariableIsDefined(): void { $tester = new Post(); diff --git a/tests/Extension/Globals/ServerRequestFactoryTest.php b/tests/Extension/Globals/ServerRequestFactoryTest.php index d3efa4b56e..84efef0de0 100644 --- a/tests/Extension/Globals/ServerRequestFactoryTest.php +++ b/tests/Extension/Globals/ServerRequestFactoryTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Globals; @@ -14,11 +16,11 @@ use PHPUnit\Framework\TestCase; use Stub\Globals\ServerRequestFactory; -class ServerRequestFactoryTest extends TestCase +final class ServerRequestFactoryTest extends TestCase { - private $server; - private $get; - private $post; + private array $server; + private array $get; + private array $post; protected function setUp(): void { @@ -35,9 +37,9 @@ protected function tearDown(): void } /** - * @issue https://github.com/phalcon/zephir/issues/1934 + * @issue https://github.com/zephir-lang/zephir/issues/1934 */ - public function testShouldNotTriggerAnyErrorIfPostIsUndefined() + public function testShouldNotTriggerAnyErrorIfPostIsUndefined(): void { $tester = new ServerRequestFactory(); diff --git a/tests/Extension/Globals/ServerTest.php b/tests/Extension/Globals/ServerTest.php index 4f8dd86fa7..40aa574403 100644 --- a/tests/Extension/Globals/ServerTest.php +++ b/tests/Extension/Globals/ServerTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Globals; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Globals\Server; -class ServerTest extends TestCase +final class ServerTest extends TestCase { - private $server; + private array $server; protected function setUp(): void { @@ -29,9 +31,9 @@ protected function tearDown(): void } /** - * @see https://github.com/phalcon/zephir/issues/1961 + * @see https://github.com/zephir-lang/zephir/issues/1961 */ - public function testShouldPrintPhpSelf() + public function testShouldPrintPhpSelf(): void { $test = new Server(); @@ -44,9 +46,9 @@ public function testShouldPrintPhpSelf() } /** - * @see https://github.com/phalcon/zephir/issues/1961 + * @see https://github.com/zephir-lang/zephir/issues/1961 */ - public function testShouldPrintUserAgent() + public function testShouldPrintUserAgent(): void { $test = new Server(); $_SERVER['HTTP_USER_AGENT'] = 'Test'; diff --git a/tests/Extension/Globals/SessionTest.php b/tests/Extension/Globals/SessionTest.php index 40344fc8ac..6d917fa536 100644 --- a/tests/Extension/Globals/SessionTest.php +++ b/tests/Extension/Globals/SessionTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Globals; @@ -14,7 +16,7 @@ use PHPUnit\Framework\TestCase; use Stub\Globals\Session\Child; -class SessionTest extends TestCase +final class SessionTest extends TestCase { /** * This method is called before a test is executed. @@ -28,7 +30,12 @@ protected function setUp(): void } } - public function testDestroy() + protected function tearDown(): void + { + unset($_SESSION); + } + + public function testDestroy(): void { $this->assertSame([], $_SESSION); @@ -36,7 +43,7 @@ public function testDestroy() $tester->test = 'Some session data here'; $this->assertArrayHasKey('test', $_SESSION); - $this->assertContains('Some session data here', $_SESSION['test']); + $this->assertStringContainsString('Some session data here', $_SESSION['test']); $result = $tester->destroy(); @@ -45,7 +52,7 @@ public function testDestroy() $this->assertSame($_SESSION, $result); } - public function testDirectUnset() + public function testDirectUnset(): void { $this->assertSame([], $_SESSION); $_SESSION['bar'] = 'foo'; @@ -56,7 +63,7 @@ public function testDirectUnset() $this->assertSame([], $_SESSION); } - public function testRemove() + public function testRemove(): void { $this->assertSame([], $_SESSION); $_SESSION['foo'] = 'bar'; @@ -67,7 +74,7 @@ public function testRemove() $this->assertSame([], $_SESSION); } - public function testRemoveFromUnset() + public function testRemoveFromUnset(): void { $this->assertSame([], $_SESSION); $_SESSION['bar'] = 'foo'; diff --git a/tests/Extension/GlobalsTest.php b/tests/Extension/GlobalsTest.php index 02318633f3..c95191f1e8 100644 --- a/tests/Extension/GlobalsTest.php +++ b/tests/Extension/GlobalsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -17,17 +19,16 @@ /** * Extension\GlobalsTest. */ -class GlobalsTest extends TestCase +final class GlobalsTest extends TestCase { - /** @var \Stub\Globals */ - private $test; + private Globals $test; protected function setUp(): void { $this->test = new Globals(); } - public function testShouldGetGlobalExtensionSettings() + public function testShouldGetGlobalExtensionSettings(): void { $this->assertFalse($this->test->getDefaultGlobals1()); @@ -40,42 +41,42 @@ public function testShouldGetGlobalExtensionSettings() $this->assertSame(65, $this->test->getDefaultGlobals7()); } - public function testShouldSetGlobalExtensionSetting() + public function testShouldSetGlobalExtensionSetting(): void { $this->test->setBoolValueUsingDotNotation(false); $this->assertFalse($this->test->getDefaultGlobals1()); } - public function testSetIntValueUsingDotNotation() + public function testSetIntValueUsingDotNotation(): void { $this->test->setIntValueUsingDotNotation(900); $this->assertSame(900, $this->test->getDefaultGlobals2()); } - public function testSetCharValueUsingString() + public function testSetCharValueUsingString(): void { $this->test->setCharValue('B'); $this->assertSame(66, $this->test->getDefaultGlobals7()); } - public function testSetCharValueUsingInt() + public function testSetCharValueUsingInt(): void { $this->test->setCharValue(90); $this->assertSame(90, $this->test->getDefaultGlobals7()); } - public function testSetBoolValueUsingInt() + public function testSetBoolValueUsingInt(): void { $this->test->setBoolValue(0); $this->assertFalse($this->test->getDefaultGlobals4()); } - public function testSetBoolValueUsingBool() + public function testSetBoolValueUsingBool(): void { $this->test->setBoolValue(true); $this->assertTrue($this->test->getDefaultGlobals4()); @@ -84,7 +85,7 @@ public function testSetBoolValueUsingBool() $this->assertFalse($this->test->getDefaultGlobals4()); } - public function testShouldSetGlobalExtensionOrmCacheLevel() + public function testShouldSetGlobalExtensionOrmCacheLevel(): void { $this->test->setDefaultGlobalsOrmCacheLevel(3); diff --git a/tests/Extension/InstanceOffTest.php b/tests/Extension/InstanceOffTest.php index d570e1afd9..ff3cc51904 100644 --- a/tests/Extension/InstanceOffTest.php +++ b/tests/Extension/InstanceOffTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -16,30 +18,29 @@ class InstanceOffTest extends TestCase { - /** @var InstanceOff */ - private $test; + private InstanceOff $test; protected function setUp(): void { $this->test = new InstanceOff(); } - public function testInstanceOf1() + public function testInstanceOf1(): void { $this->assertTrue($this->test->testInstanceOf1()); } - public function testInstanceOf2() + public function testInstanceOf2(): void { $this->assertTrue($this->test->testInstanceOf2()); } - public function testInstanceOf3() + public function testInstanceOf3(): void { $this->assertFalse($this->test->testInstanceOf3()); } - public function testInstanceOf4() + public function testInstanceOf4(): void { $this->assertTrue($this->test->testInstanceOf4(new \ArrayIterator([]))); $this->assertTrue($this->test->testInstanceOf4(new \ArrayObject())); @@ -54,47 +55,42 @@ public function testInstanceOf4() } /** - * @see https://github.com/phalcon/zephir/issues/776 + * @issue https://github.com/zephir-lang/zephir/issues/776 + * @issue https://github.com/zephir-lang/zephir/issues/822 */ - public function testInstanceOf5() + public function testInstanceOf5(): void { $this->assertTrue($this->test->testInstanceOf5($this->test)); - - /* - * Cannot test instance of for not objects - * @link https://github.com/phalcon/zephir/issues/822 - */ - $this->assertFalse($this->test->testInstanceOf5(new \stdClass())); } - public function testInstanceOf6() + public function testInstanceOf6(): void { $this->assertTrue($this->test->testInstanceOf6()); } /** - * @see https://github.com/phalcon/zephir/issues/1828 + * @issue https://github.com/zephir-lang/zephir/issues/1828 */ - public function testInstanceOf7() + public function testInstanceOf7(): void { $this->assertTrue($this->test->testInstanceOf7($this->test)); $this->assertFalse($this->test->testInstanceOf7(new \stdClass())); } /** - * @see https://github.com/phalcon/zephir/issues/1828 + * @issue https://github.com/zephir-lang/zephir/issues/1828 */ - public function testInstanceOf8() + public function testInstanceOf8(): void { $this->assertTrue($this->test->testInstanceOf8('\\Stub\\InstanceOff')); $this->assertFalse($this->test->testInstanceOf8('\\stdClass')); } /** - * @see https://github.com/phalcon/zephir/issues/1828 + * @issue https://github.com/zephir-lang/zephir/issues/1828 */ - public function testInstanceOf9() + public function testInstanceOf9(): void { $this->assertTrue($this->test->testInstanceOf9($this->test, '\\Stub\\InstanceOff')); $this->assertFalse($this->test->testInstanceOf9($this->test, '\\stdClass')); diff --git a/tests/Extension/InstanceTest.php b/tests/Extension/InstanceTest.php index f0d5be5788..268b67d533 100644 --- a/tests/Extension/InstanceTest.php +++ b/tests/Extension/InstanceTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,12 +16,12 @@ use PHPUnit\Framework\TestCase; use Stub\Instance; -class InstanceTest extends TestCase +final class InstanceTest extends TestCase { /** - * @issue https://github.com/phalcon/zephir/issues/1339 + * @issue https://github.com/zephir-lang/zephir/issues/1339 */ - public function testShouldCreateAnInstanceUsingMoreThan10Parameters() + public function testShouldCreateAnInstanceUsingMoreThan10Parameters(): void { $this->assertInstanceOf(Instance::class, Instance::testIssue1339()); } diff --git a/tests/Extension/Integral/FannkuchTest.php b/tests/Extension/Integral/FannkuchTest.php index 9bc33dc586..c724a9a35e 100644 --- a/tests/Extension/Integral/FannkuchTest.php +++ b/tests/Extension/Integral/FannkuchTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Integral; use PHPUnit\Framework\TestCase; +use Stub\Fannkuch; -class FannkuchTest extends TestCase +final class FannkuchTest extends TestCase { - public function testFannkuch() + public function testFannkuch(): void { - $test = new \Stub\Fannkuch(); + $test = new Fannkuch(); $this->assertSame($test->process(5), [11, 5, 7]); } } diff --git a/tests/Extension/Integral/RegexDNATest.php b/tests/Extension/Integral/RegexDNATest.php index 348086a35c..d95548fb3b 100644 --- a/tests/Extension/Integral/RegexDNATest.php +++ b/tests/Extension/Integral/RegexDNATest.php @@ -1,31 +1,41 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Extension\Integral; use PHPUnit\Framework\TestCase; +use Stub\RegexDNA; + +use function dirname; +use function Zephir\is_windows; -class RegexDNATest extends TestCase +final class RegexDNATest extends TestCase { - public function testProcess() + public function testProcess(): void { - $test = new \Stub\RegexDNA(); + if (is_windows()) { + $this->markTestSkipped('Different strlen() in Windows.'); + } + + $test = new RegexDNA(); ob_start(); - $test->process(\dirname(__DIR__).'/../fixtures/regexdna/input.txt'); + $test->process(dirname(__DIR__).'/../fixtures/regexdna/input.txt'); $content = ob_get_clean(); $this->assertSame( $content, - file_get_contents(\dirname(__DIR__).'/../fixtures/regexdna/output.txt') + file_get_contents(dirname(__DIR__).'/../fixtures/regexdna/output.txt') ); } } diff --git a/tests/Extension/Integral/SortTest.php b/tests/Extension/Integral/SortTest.php index 8104257bfd..8158f07b35 100644 --- a/tests/Extension/Integral/SortTest.php +++ b/tests/Extension/Integral/SortTest.php @@ -1,26 +1,29 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Integral; use PHPUnit\Framework\TestCase; +use Stub\Sort; -class SortTest extends TestCase +final class SortTest extends TestCase { - public function testSort() + public function testSort(): void { $data = $original = range(1, 50); shuffle($data); - $test = new \Stub\Sort(); + $test = new Sort(); $this->assertSame($test->quick($data), $original); } } diff --git a/tests/Extension/Interfaces/InterfaceMethodSignatureTest.php b/tests/Extension/Interfaces/InterfaceMethodSignatureTest.php new file mode 100644 index 0000000000..ff77315a95 --- /dev/null +++ b/tests/Extension/Interfaces/InterfaceMethodSignatureTest.php @@ -0,0 +1,49 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Extension\Interfaces; + +use PHPUnit\Framework\TestCase; +use Stub\Interfaces\ImplementInt; +use Stub\Interfaces\ImplementInterface; + +final class InterfaceMethodSignatureTest extends TestCase +{ + public function testImplementInterfaceInMethodSignature(): void + { + $class = new ImplementInt(); + + $this->assertNull($class->get()); + $class->set(1); + $this->assertSame(1, $class->get()); + $this->assertSame(1, (new ImplementInterface())->get($class)); + } + + public function testImplementInterfaceInMethodSignatureInt(): void + { + $this->expectException(\TypeError::class); + $this->expectExceptionMessageMatches('/must be of (the\s)?type int, bool given/'); + + (new ImplementInt())->set(true); + } + + public function testImplementInterfaceInMethodSignatureInterface(): void + { + $this->expectException(\TypeError::class); + $this->expectExceptionMessageMatches( + '/(must be of type|implement interface) Stub\\\\Interfaces\\\\InterfaceInt, bool given/' + ); + + (new ImplementInterface())->getVoid(true); + } +} diff --git a/tests/Extension/InternalClassesTest.php b/tests/Extension/InternalClassesTest.php index 0335a0eca2..a95ee585d9 100644 --- a/tests/Extension/InternalClassesTest.php +++ b/tests/Extension/InternalClassesTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -16,9 +18,9 @@ use PHPUnit\Framework\TestCase; use Stub\InternalClasses; -class InternalClassesTest extends TestCase +final class InternalClassesTest extends TestCase { - public function testStaticMethodCall() + public function testStaticMethodCall(): void { if (false === class_exists(Di::class)) { $this->markTestSkipped('Class Phalcon\Di not found'); @@ -28,7 +30,7 @@ public function testStaticMethodCall() $this->assertSame(Di::getDefault(), $class->testStaticCall()); } - public function testStaticPropertyFetch() + public function testStaticPropertyFetch(): void { if (false === class_exists(Query::class)) { $this->markTestSkipped('Class Phalcon\Mvc\Model\Query not found'); diff --git a/tests/Extension/InvokeTest.php b/tests/Extension/InvokeTest.php index 12672db1ba..ee3ab11202 100644 --- a/tests/Extension/InvokeTest.php +++ b/tests/Extension/InvokeTest.php @@ -1,25 +1,49 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Invoke; +use Stub\Invokes\InvokeProtected; +use Stub\Invokes\InvokeProtectedComplex; -class InvokeTest extends TestCase +final class InvokeTest extends TestCase { - public function testIssue1522() + public function testIssue1522(): void { - $x1 = \Stub\Invoke::test(); - $x2 = \Stub\Invoke::test(); + $x1 = Invoke::test(); + $x2 = Invoke::test(); $this->assertSame('string', $x1); $this->assertSame('string', $x2); } + + public function testProtectedMethod(): void + { + $fromProtected = new InvokeProtected('random'); + + $this->assertInstanceOf(InvokeProtected::class, $fromProtected()); + $this->assertSame('random2', (string)$fromProtected()); + $this->assertSame('random2', $fromProtected()->__toString()); + } + + public function testProtectedMethodComplex(): void + { + $expected = 'random1random2'; + $fromProtected = new InvokeProtectedComplex('random'); + + $this->assertInstanceOf(InvokeProtectedComplex::class, $fromProtected()); + $this->assertSame($expected, (string)$fromProtected()); + $this->assertSame($expected, $fromProtected()->__toString()); + } } diff --git a/tests/Extension/IssetTest.php b/tests/Extension/IssetTest.php index c6c5891dd7..34c598a36f 100644 --- a/tests/Extension/IssetTest.php +++ b/tests/Extension/IssetTest.php @@ -1,32 +1,38 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class IssetTest extends TestCase +final class IssetTest extends TestCase { - public $b = 'a'; - private $test2 = 'b'; + public string $b = 'a'; + private \Stub\IssetTest $test; - /** @var \Stub\IssetTest */ - private $test; + /** + * This property is used during test + * + * @var mixed + */ + private $test2; protected function setUp(): void { $this->test = new \Stub\IssetTest(); } - public function testIssetArray() + public function testIssetArray(): void { $testArray = ['a', 'abc' => 'def', 'gef' => '123']; $this->assertTrue($this->test->testIssetArray1($testArray, 'abc')); @@ -36,15 +42,15 @@ public function testIssetArray() $this->assertTrue(!$this->test->testIssetArray5($testArray)); } - public function testIssetProperties() + public function testIssetProperties(): void { $this->assertTrue($this->test->testIssetProperty1($this)); $this->assertTrue($this->test->testIssetProperty2($this, 'test2')); - $this->assertTrue(!$this->test->testIssetProperty2($this, 'test3')); + $this->assertFalse($this->test->testIssetProperty2($this, 'test3')); $this->assertTrue($this->test->testIssetProperty3($this)); } - public function testIssetDynamicProperty() + public function testIssetDynamicProperty(): void { $this->assertTrue($this->test->testIssetDynamicProperty1()); $this->assertTrue(!$this->test->testIssetDynamicProperty2($this)); diff --git a/tests/Extension/Issue1521Test.php b/tests/Extension/Issue1521Test.php index 0e35f5247e..0819557ae7 100644 --- a/tests/Extension/Issue1521Test.php +++ b/tests/Extension/Issue1521Test.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Issue1521; -class Issue1521Test extends TestCase +final class Issue1521Test extends TestCase { - public function testIssue1521() + public function testIssue1521(): void { - $test = new \Stub\Issue1521(); + $test = new Issue1521(); $actual = $test->test(); $this->assertTrue('0' === $actual['zero']); diff --git a/tests/Extension/Issue2165Test.php b/tests/Extension/Issue2165Test.php new file mode 100644 index 0000000000..49e99b6328 --- /dev/null +++ b/tests/Extension/Issue2165Test.php @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Extension; + +use PHPUnit\Framework\TestCase; +use Stub\Issue2165\Issue as Issue2165Class; + +/** + * @issue https://github.com/zephir-lang/zephir/issues/2165 + */ +final class Issue2165Test extends TestCase +{ + public function testIssue2165(): void + { + $class = Issue2165Class::build([ + [22, -17, 12], + [4, 11, -2], + [20, -6, -9], + ]); + + $this->assertInstanceOf(Issue2165Class::class, $class); + $this->assertInstanceOf(Issue2165Class::class, $class->reciprocal()); + $this->assertInstanceOf(Issue2165Class::class, Issue2165Class::ones(4, 2)); + } +} diff --git a/tests/Extension/JsonTest.php b/tests/Extension/JsonTest.php index e33016cf6d..f2487c87eb 100644 --- a/tests/Extension/JsonTest.php +++ b/tests/Extension/JsonTest.php @@ -1,36 +1,38 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Json; -class JsonTest extends TestCase +final class JsonTest extends TestCase { - /** @var \Stub\Json */ - private $test; + private Json $test; protected function setUp(): void { - $this->test = new \Stub\Json(); + $this->test = new Json(); } - public function testEncode() + public function testEncode(): void { $this->assertSame($this->test->testEncodeObject(), '{"a":"hello","b":"world","c":128}'); $this->assertSame($this->test->testEncodeArray(), '[1,2,3]'); $this->assertSame($this->test->testEncodeOptions(), '["\\u003Cfoo\\u003E","\'bar\'","&blong&","\\u00e9"]'); } - public function testDecode() + public function testDecode(): void { $obj1 = $this->test->testDecodeObject(); $this->assertSame($obj1->a, 'hello'); diff --git a/tests/Extension/MCallDynamicTest.php b/tests/Extension/MCallDynamicTest.php index 2a3061dc4a..8175e0349d 100644 --- a/tests/Extension/MCallDynamicTest.php +++ b/tests/Extension/MCallDynamicTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\McallDynamic; -class MCallDynamicTest extends TestCase +final class MCallDynamicTest extends TestCase { - public function testCallDynamic() + public function testCallDynamic(): void { $test = new McallDynamic(); $this->assertSame(1, $test->method1()); @@ -24,9 +26,9 @@ public function testCallDynamic() } /** - * @see https://github.com/phalcon/zephir/issues/1751 + * @issue https://github.com/zephir-lang/zephir/issues/1751 */ - public function testCallAnonymousFunctionWithContext() + public function testCallAnonymousFunctionWithContext(): void { $test = new McallDynamic(); diff --git a/tests/Extension/MCallTest.php b/tests/Extension/MCallTest.php index 6db8b1fcfc..30cb08ca2a 100644 --- a/tests/Extension/MCallTest.php +++ b/tests/Extension/MCallTest.php @@ -1,43 +1,49 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use ReflectionClass; +use ReflectionException; +use ReflectionParameter; use Stub\Mcall; +use Stub\Oo\Param; -class MCallTest extends TestCase +final class MCallTest extends TestCase { - /** @var \ReflectionClass */ + /** + * @var mixed + */ private $reflection; - - /** @var Mcall */ - private $test; + private Mcall $test; protected function setUp(): void { $this->test = new Mcall(); } - public function assertNumberOfParameters($number) + public function assertNumberOfParameters($number): void { $this->assertSame($number, $this->getReflection()->getMethod($this->getName())->getNumberOfParameters()); } - public function assertNumberOfRequiredParameters($number) + public function assertNumberOfRequiredParameters($number): void { $this->assertSame($number, $this->getReflection()->getMethod($this->getName())->getNumberOfRequiredParameters()); } - public function testCall() + public function testCall(): void { $this->assertSame($this->test->testCall1(), 'hello public'); $this->assertSame($this->test->testCall2(), 'hello protected'); @@ -60,27 +66,27 @@ public function testCall() $this->assertSame($this->test->testCall15(4, 5), 9); } - public function testOptionalParameterString() + public function testOptionalParameterString(): void { $this->assertSame($this->test->optionalParameterString('test'), 'test'); $this->assertSame($this->test->optionalParameterString(), 'test string'); $this->assertSame($this->test->optionalParameterStringNull(), ''); } - public function testOptionalParameterInt() + public function testOptionalParameterInt(): void { $this->assertSame($this->test->optionalParameterInt(1), 1); $this->assertSame($this->test->optionalParameterInt(), 2); } - public function testOptionalParameterVar() + public function testOptionalParameterVar(): void { $this->assertSame($this->test->optionalParameterVar(1), 1); $this->assertSame($this->test->optionalParameterVar('testtesttesttest'), 'testtesttesttest'); $this->assertNull($this->test->optionalParameterVar()); } - public function testOptionalParameterBoolean() + public function testOptionalParameterBoolean(): void { $this->assertFalse($this->test->optionalParameterBoolFalse()); $this->assertTrue($this->test->optionalParameterBoolTrue()); @@ -92,60 +98,55 @@ public function testOptionalParameterBoolean() $this->assertFalse($this->test->optionalParameterBoolean(false)); } - public function testArrayParamWithDefaultEmptyArray() + public function testArrayParamWithDefaultEmptyArray(): void { $this->assertNumberOfParameters(1); $this->assertNumberOfRequiredParameters(0); - $this->assertTrue($this->getMethodFirstParameter()->isArray()); + $this->assertSame('array', $this->getMethodFirstParameter()->getType()->getName()); $this->assertSame($this->test->testArrayParamWithDefaultEmptyArray(), []); $this->assertSame($this->test->testArrayParamWithDefaultEmptyArray([1]), [1]); } - public function testArrayParamWithDefaultNullValue() + public function testArrayParamWithDefaultNullValue(): void { $this->assertNumberOfParameters(1); $this->assertNumberOfRequiredParameters(0); - $this->assertTrue($this->getMethodFirstParameter()->isArray()); + $this->assertSame('array', $this->getMethodFirstParameter()->getType()->getName()); $this->assertSame($this->test->testArrayParamWithDefaultNullValue(), []); $this->assertSame($this->test->testArrayParamWithDefaultNullValue([1]), [1]); } - public function testArrayParam() + public function testArrayParam(): void { $this->assertNumberOfParameters(1); $this->assertNumberOfRequiredParameters(1); - $this->assertTrue($this->getMethodFirstParameter()->isArray()); + $this->assertSame('array', $this->getMethodFirstParameter()->getType()->getName()); $this->assertSame($this->test->testArrayParam([]), []); $this->assertSame($this->test->testArrayParam([1, 2, 3]), [1, 2, 3]); } - public function testObjectParamCastStdClass() + public function testObjectParamCastStdClass(): void { $this->assertNumberOfParameters(1); $this->assertNumberOfRequiredParameters(1); - $this->assertSame('stdClass', $this->getMethodFirstParameter()->getClass()->getName()); - $this->assertInstanceOf('stdClass', $this->test->testObjectParamCastStdClass(new \stdClass())); + $this->assertSame(\StdClass::class, $this->getMethodFirstParameter()->getType()->getName()); + $this->assertInstanceOf(\stdClass::class, $this->test->testObjectParamCastStdClass(new \stdClass())); } - public function testObjectParamCastOoParam() + public function testObjectParamCastOoParam(): void { $this->assertNumberOfParameters(1); $this->assertNumberOfRequiredParameters(1); - $this->assertSame('Stub\Oo\Param', $this->getMethodFirstParameter()->getClass()->getName()); - $this->assertInstanceOf('Stub\Oo\Param', $this->test->testObjectParamCastOoParam(new \Stub\Oo\Param())); + $this->assertSame(Param::class, $this->getMethodFirstParameter()->getType()->getName()); + $this->assertInstanceOf(Param::class, $this->test->testObjectParamCastOoParam(new Param())); } - /** - * @return \ReflectionParameter - * - * @throws \ReflectionException - */ - protected function getMethodFirstParameter() + protected function getMethodFirstParameter(): ReflectionParameter { $methodInfo = $this->reflection->getMethod($this->getName()); $parameters = $methodInfo->getParameters(); @@ -153,12 +154,41 @@ protected function getMethodFirstParameter() return $parameters[0]; } + /** + * @return mixed|ReflectionClass + */ private function getReflection() { if (null === $this->reflection) { - return $this->reflection = new \ReflectionClass('\Stub\Mcall'); + return $this->reflection = new ReflectionClass(Mcall::class); } return $this->reflection; } + + public function testSouldThrowTypeErrorForOptionalBoolean1(): void + { + $test = new Mcall(); + + $this->expectException(\Error::class); + $this->expectExceptionMessageRegExp( + '/Argument 1 passed to Stub\\\Mcall::optionalParameterBoolean\(\) '. + 'must be of the type bool(ean)?, string given/' + ); + + $test->optionalParameterBoolean('test'); + } + + public function testShouldThrowTypeErrorForOptionalBoolean2(): void + { + $test = new Mcall(); + + $this->expectException(\Error::class); + $this->expectExceptionMessageRegExp( + '/Argument 1 passed to Stub\\\Mcall::optionalParameterBoolean\(\) '. + 'must be of the type bool(ean)?, array given/' + ); + + $test->optionalParameterBoolean([]); + } } diff --git a/tests/Extension/McallChainedTest.php b/tests/Extension/McallChainedTest.php index f672b0c93c..10c01ce4f5 100644 --- a/tests/Extension/McallChainedTest.php +++ b/tests/Extension/McallChainedTest.php @@ -1,39 +1,41 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\McallChained; -class McallChainedTest extends TestCase +final class McallChainedTest extends TestCase { - /** @var \Stub\McallChained */ - private $test; + private McallChained $test; protected function setUp(): void { - $this->test = new \Stub\McallChained(); + $this->test = new McallChained(); } - public function testChained1() + public function testChained1(): void { $this->assertSame($this->test->testChained1(), $this->test); } - public function testChained2() + public function testChained2(): void { $this->assertSame($this->test->testChained2(), $this->test); } - public function testChained3() + public function testChained3(): void { $this->assertSame($this->test->testChained3(), $this->test); } diff --git a/tests/Extension/McallInternalTest.php b/tests/Extension/McallInternalTest.php index 2e926532a4..4fab1b35e1 100644 --- a/tests/Extension/McallInternalTest.php +++ b/tests/Extension/McallInternalTest.php @@ -1,16 +1,27 @@ + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + namespace Extension; use PHPUnit\Framework\TestCase; use Stub\McallInternal; -class McallInternalTest extends TestCase +final class McallInternalTest extends TestCase { /** - * @see https://github.com/phalcon/zephir/issues/1956 + * @issue https://github.com/zephir-lang/zephir/issues/1956 */ - public function testShouldReturnInstance() + public function testShouldReturnInstance(): void { $test = new McallInternal(); $this->assertInstanceOf(McallInternal::class, $test->issue1956()); diff --git a/tests/Extension/MethodArgsTest.php b/tests/Extension/MethodArgsTest.php index 636cc9fe7e..7291cf6a8b 100644 --- a/tests/Extension/MethodArgsTest.php +++ b/tests/Extension/MethodArgsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,16 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\MethodArgs; -class MethodArgsTest extends TestCase +final class MethodArgsTest extends TestCase { - private $test; + private MethodArgs $test; protected function setUp(): void { $this->test = new MethodArgs(); } - public function testCallable() + public function testCallable(): void { $callback = function () { }; @@ -34,12 +36,12 @@ public function testCallable() $this->test->setCallableStrict($callback); $this->assertSame($callback, $this->test->a); - $this->expectException('\Exception'); + $this->expectException(\InvalidArgumentException::class); $this->test->setCallableStrict(true); } - public function testObject() + public function testObject(): void { $obj = new \stdClass(); @@ -49,22 +51,26 @@ public function testObject() $this->test->setObjectStrict($obj); $this->assertSame($obj, $this->test->a); - $this->expectException('\Exception'); + $this->expectException(\Throwable::class); $this->test->setObjectStrict(true); } - public function testResource() + public function testResource(): void { $this->test->setResourceStrict(STDIN); $this->assertSame(STDIN, $this->test->a); - $this->expectException('\Exception'); + if (version_compare(PHP_VERSION, '8.0.0', '>=')) { + $this->expectException(\TypeError::class); + } else { + $this->expectException(\InvalidArgumentException::class); + } $this->test->setResourceStrict(true); } - public function testMethodOptionalValueWithDefaultStaticConstantAccess() + public function testMethodOptionalValueWithDefaultStaticConstantAccess(): void { $this->assertSame('test', $this->test->methodOptionalValueWithDefaultStaticConstantAccess('test')); diff --git a/tests/Extension/Namespaces/ClassEntryTest.php b/tests/Extension/Namespaces/ClassEntryTest.php new file mode 100644 index 0000000000..b268a66104 --- /dev/null +++ b/tests/Extension/Namespaces/ClassEntryTest.php @@ -0,0 +1,30 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Extension\Namespaces; + +use PHPUnit\Framework\TestCase; +use Stub\Namespaces\ClassEntry; +use Stub\Namespaces\A\B\Sub; + +final class ClassEntryTest extends TestCase +{ + public function testCorrectlyDetectClassEntryFromParam(): void + { + $subClass = new Sub(); + $class = new ClassEntry(); + + $this->assertInstanceOf(Sub::class, $class->setParam($subClass)); + $this->assertInstanceOf(Sub::class, $class->setParamImported($subClass)); + } +} diff --git a/tests/Extension/NativeArrayTest.php b/tests/Extension/NativeArrayTest.php index d88aa44b24..5a08a6c5aa 100644 --- a/tests/Extension/NativeArrayTest.php +++ b/tests/Extension/NativeArrayTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,17 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\NativeArray; -class NativeArrayTest extends TestCase +final class NativeArrayTest extends TestCase { - /** @var NativeArray */ - private $test; + private NativeArray $test; protected function setUp(): void { $this->test = new NativeArray(); } - public function testArray() + public function testArray(): void { $this->assertSame([], $this->test->testArray1()); $this->assertSame([1, 2, 3], $this->test->testArray2()); @@ -52,7 +53,7 @@ public function testArray() $this->assertSame([0 => 0.0, 1 => 0.0, 2 => 0.0], $this->test->testArray24()); } - public function testArrayAccess() + public function testArrayAccess(): void { $this->assertSame(1, $this->test->testArrayAccess1()); $this->assertSame(1, $this->test->testArrayAccess2()); @@ -61,7 +62,7 @@ public function testArrayAccess() $this->assertSame(1, $this->test->testArrayAccess5()); } - public function testArrayMultipleAccess() + public function testArrayMultipleAccess(): void { $this->assertSame('a', $this->test->testArrayMultipleAccess1()); $this->assertSame('b', $this->test->testArrayMultipleAccess2()); @@ -70,7 +71,7 @@ public function testArrayMultipleAccess() $this->assertSame(0, $this->test->testArrayMultipleAccess5()); } - public function testArrayUpdate() + public function testArrayUpdate(): void { $this->assertSame([4, 2, 3], $this->test->testArrayUpdate1()); $this->assertSame([4, 2, 3], $this->test->testArrayUpdate2()); @@ -78,7 +79,7 @@ public function testArrayUpdate() $this->assertSame(['a' => 4, 'b' => 2, 'c' => 3], $this->test->testArrayUpdate4()); } - public function testMultipleArrayUpdate() + public function testMultipleArrayUpdate(): void { $this->assertSame(['x' => ['y' => null]], $this->test->testMultipleArrayUpdate1()); $this->assertSame(['x' => ['y' => ['z' => null]]], $this->test->testMultipleArrayUpdate2()); @@ -94,28 +95,28 @@ public function testMultipleArrayUpdate() $this->assertSame(['y' => ['x' => ['z' => null]]], $this->test->testMultipleArrayUpdate12()); } - public function testArrayKeys() + public function testArrayKeys(): void { $this->assertSame(['test1', 'test2', 'test3'], $this->test->testArrayKeys(['test1' => 1, 'test2' => 2, 'test3' => 3])); $this->assertSame([0, 1, 2, 3, 4, 5], $this->test->testArrayKeys([1, 2, 3, 4, 5, 6])); } - public function testImplodeArray() + public function testImplodeArray(): void { $this->assertSame('test1|test2|test3', $this->test->testImplodeArray(['test1' => 1, 'test2' => 2, 'test3' => 3])); } - public function testIssue110() + public function testIssue110(): void { $this->assertSame('B|K|M|G|T|KB|MB|GB|TB', $this->test->issue110()); } - public function testIssue264() + public function testIssue264(): void { $this->assertFalse($this->test->issue264([1, 2, 3])); } - public function testIssue743() + public function testIssue743(): void { $this->test->issue743a([42 => []]); @@ -153,17 +154,20 @@ public function testIssue743() $this->assertSame($expected, $this->test->issue743c(['str' => ['hey' => new \stdClass()]])); } - public function testIssue709() + public function testIssue709(): void { $this->assertTrue($this->test->Issue709()); } - public function testIssue1140() + public function testIssue1140(): void { - $this->assertSame(['phalcon' => ['/var/www/html/phalcon']], $this->test->Issue1140('phalcon', '/var/www/html/phalcon')); + $this->assertSame( + ['phalcon' => ['/var/www/html/phalcon']], + $this->test->Issue1140('phalcon', '/var/www/html/phalcon') + ); } - public function testIssue1159() + public function testIssue1159(): void { $this->assertSame([1], $this->test->Issue1159()); } diff --git a/tests/Extension/NewInstanceOperatorTest.php b/tests/Extension/NewInstanceOperatorTest.php index 0660cdbbc6..2c1f44c89b 100644 --- a/tests/Extension/NewInstanceOperatorTest.php +++ b/tests/Extension/NewInstanceOperatorTest.php @@ -1,24 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Operator; -class NewInstanceOperatorTest extends TestCase +final class NewInstanceOperatorTest extends TestCase { - /** @var \Stub\Operator */ - public $test; + public Operator $test; - protected $autoloadMap = [ + protected array $autoloadMap = [ 'Fixture\ThrowException' => ZEPHIRPATH.'/tests/fixtures/throw-exception.php', 'Fixture\EmptyClass' => ZEPHIRPATH.'/tests/fixtures/class-empty.php', ]; @@ -26,7 +28,7 @@ class NewInstanceOperatorTest extends TestCase protected function setUp(): void { spl_autoload_register([$this, 'autoload']); - $this->test = new \Stub\Operator(); + $this->test = new Operator(); } protected function tearDown(): void @@ -34,20 +36,20 @@ protected function tearDown(): void spl_autoload_unregister([$this, 'autoload']); } - public function autoload($className) + public function autoload(string $className): void { if (isset($this->autoloadMap[$className])) { include $this->autoloadMap[$className]; } } - public function testException() + public function testException(): void { $this->expectException(\Exception::class); - $obj = $this->test->testNewInstanceOperator('Fixture\ThrowException'); + $this->test->testNewInstanceOperator('Fixture\ThrowException'); } - public function testNewInstance() + public function testNewInstance(): void { $object = $this->test->testNewInstanceOperator('Fixture\EmptyClass'); diff --git a/tests/Extension/Oo/DeprecatedMethodsTest.php b/tests/Extension/Oo/DeprecatedMethodsTest.php deleted file mode 100644 index f6fc65512e..0000000000 --- a/tests/Extension/Oo/DeprecatedMethodsTest.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Oo; - -use PHPUnit\Framework\TestCase; -use Stub\Oo\DeprecatedMethods; - -class DeprecatedMethodsTest extends TestCase -{ - /** - * @group legacy - * @expectedDeprecation Unsilenced deprecation: Function %s is deprecated - */ - public function testPublicMethodThrowsDeprecatedWarning() - { - $test = new DeprecatedMethods(); - $test->publicDeprecated(); - } - - /** - * @group legacy - * @expectedDeprecation Unsilenced deprecation: Function %s is deprecated - */ - public function testPrivateMethodThrowsDeprecatedWarning() - { - $test = new DeprecatedMethods(); - $test->normalMethod(); - } -} diff --git a/tests/Extension/Oo/ExtendClassTest.php b/tests/Extension/Oo/ExtendClassTest.php index 0e28f352da..56a758d070 100644 --- a/tests/Extension/Oo/ExtendClassTest.php +++ b/tests/Extension/Oo/ExtendClassTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Oo; @@ -17,9 +19,9 @@ use Stub\Oo\ConcreteStatic; use Stub\Oo\ExtendPdoClass; -class ExtendClassTest extends TestCase +final class ExtendClassTest extends TestCase { - public function testPDOExtending() + public function testPDOExtending(): void { if (!\extension_loaded('pdo')) { $this->markTestSkipped('The PDO extension is not loaded'); @@ -29,7 +31,7 @@ public function testPDOExtending() $this->assertSame(PDO::PARAM_STR, ExtendPdoClass::PARAM_STR); } - public function testPDOStatementExtending() + public function testPDOStatementExtending(): void { $pdo = new ExtendPdoClass('sqlite::memory:', '', '', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); $stmt = $pdo->prepare('SELECT CURRENT_TIME'); @@ -38,9 +40,9 @@ public function testPDOStatementExtending() } /** - * @issue https://github.com/phalcon/zephir/issues/1686 + * @issue https://github.com/zephir-lang/zephir/issues/1686 */ - public function testShouldExtendMiddlewareInterface() + public function testShouldExtendMiddlewareInterface(): void { if (!\extension_loaded('psr')) { $this->markTestSkipped('The psr extension is not loaded'); @@ -52,19 +54,29 @@ public function testShouldExtendMiddlewareInterface() } /** - * @issue https://github.com/phalcon/zephir/issues/1392 + * @issue https://github.com/zephir-lang/zephir/issues/1392 */ - public function testShouldCorrectWorkWithLateStaticBinding() + public function testShouldCorrectWorkWithLateStaticBinding(): void { - $this->assertSame('Stub\Oo\ConcreteStatic', ConcreteStatic::getCalledClass()); + $this->assertSame(ConcreteStatic::class, ConcreteStatic::getCalledClass()); } /** - * @issue https://github.com/phalcon/zephir/issues/1372 + * @issue https://github.com/zephir-lang/zephir/issues/1372 */ - public function testShouldCallParentMethodFromStaticByUsingSelf() + public function testShouldCallParentMethodFromStaticByUsingSelf(): void { $this->assertSame('ConcreteStatic:parentFunction', ConcreteStatic::parentFunction()); $this->assertSame('ConcreteStatic:parentFunction', ConcreteStatic::childFunction()); } + + public function testShouldCallParentMethodFromStaticByUsingParent(): void + { + $this->assertSame(ConcreteStatic::class, ConcreteStatic::callParentFunction()); + } + + public function testShouldCallStaticMethodWithSimpleValue(): void + { + $this->assertSame(1337, ConcreteStatic::simpleStaticIntReturn()); + } } diff --git a/tests/Extension/Oo/OoParamsStrictTest.php b/tests/Extension/Oo/OoParamsStrictTest.php index 0268b0e7be..27c97140f4 100644 --- a/tests/Extension/Oo/OoParamsStrictTest.php +++ b/tests/Extension/Oo/OoParamsStrictTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Oo; @@ -14,28 +16,87 @@ use PHPUnit\Framework\TestCase; use Stub\Oo\OoParams; -class OoParamsStrictTest extends TestCase +final class OoParamsStrictTest extends TestCase { - /** @var OoParams */ - private $test; + private OoParams $test; protected function setUp(): void { $this->test = new OoParams(); } - public function testSetStrictAgeSuccess() + public function testSetStrictAgeSuccess(): void { $this->assertSame($this->test->setStrictAge(17), 17); } - public function testSetStrictAverageSuccess() + public function testSetStrictAverageSuccess(): void { $this->assertSame($this->test->setStrictAverage(17.1), 17.1); } - public function testSetStrictNameSuccess() + public function testSetStrictNameSuccess(): void { $this->assertSame($this->test->setStrictName('peter'), 'peter'); } + + public function testShouldThrowTypeErrorForInt1(): void + { + $this->expectException(\Error::class); + $this->expectExceptionMessageRegExp( + '/Argument 1 passed to Stub\\\Oo\\\OoParams::setStrictAge\(\) '. + 'must be of the type int, float given/' + ); + + $this->test->setStrictAge(17.0); + } + + public function testShouldThrowInvalidArgumentExceptionForInt2(): void + { + $this->expectException(\Error::class); + $this->expectExceptionMessageRegExp( + '/Argument 1 passed to Stub\\\Oo\\\OoParams::setStrictAge\(\) '. + 'must be of the type int, string given/' + ); + + $this->test->setStrictAge('17'); + } + + public function testShouldThrowInvalidArgumentExceptionForDouble(): void + { + if (version_compare(PHP_VERSION, '8.0.0', '>=')) { + $this->expectException(\InvalidArgumentException::class); + $message = "Parameter 'average' must be of the type double"; + } else { + $this->expectException(\Error::class); + $message = 'Argument 1 passed to Stub\Oo\OoParams::setStrictAverage() must be of the type float, string given'; + } + + $this->expectExceptionMessage($message); + + $this->test->setStrictAverage('a'); + } + + public function testShouldThrowInvalidArgumentExceptionForString(): void + { + $this->expectException(\Error::class); + $this->expectExceptionMessageRegExp( + '/Argument 1 passed to Stub\\\Oo\\\OoParams::setStrictName\(\) '. + 'must be of the type string, int given/' + ); + + $this->test->setStrictName(1234); + } + + public function testShouldThrowInvalidArgumentExceptionForCallFromZephirLand(): void + { + if (version_compare(PHP_VERSION, '8.0.0', '>=')) { + $this->markTestSkipped('Move types check into fcall, instead of PHP_METHOD'); + } + + $this->expectException(\InvalidArgumentException::class); + $this->expectExceptionMessage("Parameter 'name' must be of the type string"); + + $this->test->setStrictNameFromZephirLand(); + } } diff --git a/tests/Extension/Oo/OoParamsTest.php b/tests/Extension/Oo/OoParamsTest.php index 2062801840..2208a35dc1 100644 --- a/tests/Extension/Oo/OoParamsTest.php +++ b/tests/Extension/Oo/OoParamsTest.php @@ -1,29 +1,29 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Oo; use PHPUnit\Framework\TestCase; +use Stub\Oo\OoParams; -class OoParamsTest extends TestCase +final class OoParamsTest extends TestCase { - /** @var \Stub\Oo\OoParams */ - private $test; + private OoParams $test; protected function setUp(): void { - $this->test = new \Stub\Oo\OoParams(); + $this->test = new OoParams(); } - public function testOoParams() + public function testOoParams(): void { $this->assertInstanceOf('Stub\Oo\OoParams', $this->test->createThisClassWithoutWriteCurrentNamespace()); $this->assertinstanceOf('Stub\Oo\OoDynamicA', $this->test->createOtherClassWithoutWriteCurrentNamespace()); @@ -51,7 +51,7 @@ public function testOoParams() $this->assertSame($this->test->setList([]), []); } - public function setObjectClassCast() + public function setObjectClassCast(): void { $result = $this->test->setStrictName(new \Stub\Oo\Param()); diff --git a/tests/Extension/Oo/Scopes/PrivateScopeTest.php b/tests/Extension/Oo/Scopes/PrivateScopeTest.php index eafd7fb678..4c593fb5ad 100644 --- a/tests/Extension/Oo/Scopes/PrivateScopeTest.php +++ b/tests/Extension/Oo/Scopes/PrivateScopeTest.php @@ -1,6 +1,8 @@ @@ -9,7 +11,7 @@ * the LICENSE file that was distributed with this source code. */ -namespace Extension\Oo; +namespace Extension\Oo\Scopes; use Error; use PHPUnit\Framework\Error\Notice; @@ -20,18 +22,19 @@ use TestScopePhp; use TestScopePhpMagic; use TestScopePhpMagicExtending; +use UserExample; -class PrivateScopeTest extends TestCase +final class PrivateScopeTest extends TestCase { - public function testShouldCallPrivateMethod() + public function testShouldCallPrivateMethod(): void { $this->assertSame('isPrivate', (new PrivateScopeTester())->run()); } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyObjPhp() + public function testShouldNotSetPrivatePropertyObjPhp(): void { $this->expectException(Error::class); $this->expectExceptionMessage( @@ -43,9 +46,9 @@ public function testShouldNotSetPrivatePropertyObjPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyNewPhp() + public function testShouldNotSetPrivatePropertyNewPhp(): void { $this->expectException(Error::class); $this->expectExceptionMessage( @@ -57,9 +60,9 @@ public function testShouldNotSetPrivatePropertyNewPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyObjInternal() + public function testShouldNotSetPrivatePropertyObjInternal(): void { $this->expectException(Error::class); $this->expectExceptionMessage( @@ -71,9 +74,9 @@ public function testShouldNotSetPrivatePropertyObjInternal() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyNewInternal() + public function testShouldNotSetPrivatePropertyNewInternal(): void { $this->expectException(Error::class); $this->expectExceptionMessage( @@ -85,9 +88,9 @@ public function testShouldNotSetPrivatePropertyNewInternal() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldSetPrivatePropertyObjPhp() + public function testShouldSetPrivatePropertyObjPhp(): void { $object = new TestScopePhpMagic(); $tester = new PrivateScopeTester(); @@ -98,9 +101,9 @@ public function testShouldSetPrivatePropertyObjPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldSetPrivatePropertyNewPhp() + public function testShouldSetPrivatePropertyNewPhp(): void { $tester = new PrivateScopeTester(); $obj = $tester->setPropertyNew(TestScopePhpMagic::class, 'privateProperty', 'test'); @@ -110,9 +113,9 @@ public function testShouldSetPrivatePropertyNewPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldSetPrivatePropertyObjInternal() + public function testShouldSetPrivatePropertyObjInternal(): void { $tester = new PrivateScopeTester(); $object = new TestScopeExtendingMagic(); @@ -123,9 +126,9 @@ public function testShouldSetPrivatePropertyObjInternal() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldSetPrivatePropertyNewInternal() + public function testShouldSetPrivatePropertyNewInternal(): void { $tester = new PrivateScopeTester(); $obj = $tester->setPropertyNew(TestScopeExtendingMagic::class, 'privateProperty', 'test'); @@ -135,9 +138,9 @@ public function testShouldSetPrivatePropertyNewInternal() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyViaThis() + public function testShouldNotSetPrivatePropertyViaThis(): void { $this->expectException(Error::class); $this->expectExceptionMessage( @@ -149,9 +152,9 @@ public function testShouldNotSetPrivatePropertyViaThis() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldSetPrivatePropertyViaThis() + public function testShouldSetPrivatePropertyViaThis(): void { $obj = new TestScopeExtending(); $obj->setProperty('privateProperty2', 'test'); @@ -160,68 +163,44 @@ public function testShouldSetPrivatePropertyViaThis() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyExtendedMagicObjInternal() + public function testShouldNotSetPrivatePropertyExtendedMagicObjInternal(): void { - if (\PHP_VERSION_ID >= 70400) { - $this->expectException(Error::class); - $this->expectExceptionMessage( - 'Cannot access private property TestScopeExtendingMagic::$privateProperty2' - ); - } + $this->expectException(Error::class); + $this->expectExceptionMessage( + 'Cannot access private property TestScopeExtendingMagic::$privateProperty2' + ); $object = new TestScopeExtendingMagic(); $tester = new PrivateScopeTester(); $this->assertEquals('private', $object->getPrivateProperty2()); $tester->setPropertyObj($object, 'privateProperty2', 'CHANGED'); - - // This related the way PHP < 7.4 handles object's properties when - // there is a magic __set method present. - // - // Actually we DO NOT change property here (fixed). However, only - // PHP 7.4 throws a fatal error. All previous versions just out a - // notice and continue to execution. - if (\PHP_VERSION_ID < 70400) { - $this->assertEquals('private', $object->getPrivateProperty2()); - } } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyExtendedMagicNewInternal() + public function testShouldNotSetPrivatePropertyExtendedMagicNewInternal(): void { - if (\PHP_VERSION_ID >= 70400) { - $this->expectException(Error::class); - $this->expectExceptionMessage( - 'Cannot access private property TestScopeExtendingMagic::$privateProperty2' - ); - } + $this->expectException(Error::class); + $this->expectExceptionMessage( + 'Cannot access private property TestScopeExtendingMagic::$privateProperty2' + ); $tester = new PrivateScopeTester(); - $object = $tester->setPropertyNew( + $tester->setPropertyNew( TestScopeExtendingMagic::class, 'privateProperty2', 'CHANGED' ); - - // This related the way PHP < 7.4 handles object's properties when - // there is a magic __set method present. - // - // Actually we DO NOT change property here (fixed). However, only - // PHP 7.4 throws a fatal error. All previous versions just out a - // notice and continue to execution. - if (\PHP_VERSION_ID < 70400) { - $this->assertEquals('private', $object->getPrivateProperty2()); - } } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyExtendedMagicObjPhp() + public function testShouldNotSetPrivatePropertyExtendedMagicObjPhp(): void { if (\PHP_VERSION_ID < 70400) { $this->expectException(Notice::class); @@ -242,39 +221,27 @@ public function testShouldNotSetPrivatePropertyExtendedMagicObjPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotSetPrivatePropertyExtendedMagicNewPhp() + public function testShouldNotSetPrivatePropertyExtendedMagicNewPhp(): void { - if (\PHP_VERSION_ID >= 70400) { - $this->expectException(Error::class); - $this->expectExceptionMessage( - 'Cannot access private property TestScopePhpMagicExtending::$privateProperty2' - ); - } + $this->expectException(Error::class); + $this->expectExceptionMessage( + 'Cannot access private property TestScopePhpMagicExtending::$privateProperty2' + ); $tester = new PrivateScopeTester(); - $object = $tester->setPropertyNew( + $tester->setPropertyNew( TestScopePhpMagicExtending::class, 'privateProperty2', 'CHANGED' ); - - // This related the way PHP < 7.4 handles object's properties when - // there is a magic __set method present. - // - // Actually we DO NOT change property here (fixed). However, only - // PHP 7.4 throws a fatal error. All previous versions just out a - // notice and continue to execution. - if (\PHP_VERSION_ID < 70400) { - $this->assertEquals('private2', $object->getPrivateProperty2()); - } } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotGetObjectVarsPrivatePropertyObjPhp() + public function testShouldNotGetObjectVarsPrivatePropertyObjPhp(): void { $tester = new PrivateScopeTester(); $object = new TestScopePhp(); @@ -284,9 +251,9 @@ public function testShouldNotGetObjectVarsPrivatePropertyObjPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotGetObjectVarsPrivatePropertyNewPhp() + public function testShouldNotGetObjectVarsPrivatePropertyNewPhp(): void { $tester = new PrivateScopeTester(); $objectVars = $tester->getNewVars(TestScopePhp::class); @@ -295,9 +262,9 @@ public function testShouldNotGetObjectVarsPrivatePropertyNewPhp() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotGetObjectVarsPrivatePropertyObjInternal() + public function testShouldNotGetObjectVarsPrivatePropertyObjInternal(): void { $tester = new PrivateScopeTester(); $object = new TestScopeExtending(); @@ -307,9 +274,9 @@ public function testShouldNotGetObjectVarsPrivatePropertyObjInternal() } /** - * @see https://github.com/phalcon/zephir/issues/2057 + * @see https://github.com/zephir-lang/zephir/issues/2057 */ - public function testShouldNotGetObjectVarsPrivatePropertyNewInternal() + public function testShouldNotGetObjectVarsPrivatePropertyNewInternal(): void { $tester = new PrivateScopeTester(); $objectVars = $tester->getNewVars(TestScopeExtending::class); @@ -318,11 +285,11 @@ public function testShouldNotGetObjectVarsPrivatePropertyNewInternal() } /** - * @see https://github.com/phalcon/zephir/issues/1851 + * @see https://github.com/zephir-lang/zephir/issues/1851 */ - public function testShouldGetAndSetPrivatePropertyUsingParentGetterAndSetter() + public function testShouldGetAndSetPrivatePropertyUsingParentGetterAndSetter(): void { - $tester = new \UserExample(); + $tester = new UserExample(); $tester->setPrivateVariable('test'); $this->assertEquals('test', $tester->getPrivateVariable()); diff --git a/tests/Extension/OoTest.php b/tests/Extension/OoTest.php index 428aad0d7e..18b2006bbb 100644 --- a/tests/Extension/OoTest.php +++ b/tests/Extension/OoTest.php @@ -1,79 +1,86 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; use Stub\Oo; +use Stub\Oo\OoConstruct; +use Stub\Oo\OoConstructParams; +use Stub\Oo\OoDynamicA; +use Stub\Oo\OoDynamicB; +use Stub\Oo\OoNoConstruct; -class OoTest extends TestCase +final class OoTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { - $test = new \Stub\Oo(); + $test = new Oo(); $this->assertEquals($test->testInstance1(), new \stdClass()); - $this->assertEquals($test->testInstance2(), new \Stub\Oo\OoConstruct()); - $this->assertEquals($test->testInstance3(), new \Stub\Oo\OoNoConstruct()); + $this->assertEquals($test->testInstance2(), new OoConstruct()); + $this->assertEquals($test->testInstance3(), new OoNoConstruct()); $obj4 = $test->testInstance4(); - $this->assertInternalType('object', $obj4); + $this->assertIsObject($obj4); $this->assertSame($obj4->getA(), 'a'); $this->assertSame($obj4->getB(), 'b'); $obj5 = $test->testInstance5(); - $this->assertInternalType('object', $obj5); + $this->assertIsObject($obj5); $this->assertSame($obj5->getA(), 'a'); $this->assertSame($obj5->getB(), 'b'); $obj6 = $test->testInstance6(); - $this->assertInternalType('object', $obj6); + $this->assertIsObject($obj6); $this->assertSame($obj6->getA(), 1); $this->assertSame($obj6->getB(), 2); $obj7 = $test->testInstance7(); - $this->assertInternalType('object', $obj7); + $this->assertIsObject($obj7); $this->assertSame($obj7->getA(), false); $this->assertSame($obj7->getB(), true); $obj8 = $test->testInstance8(); - $this->assertInternalType('object', $obj8); + $this->assertIsObject($obj8); $this->assertSame($obj8->getA(), 1.2); $this->assertSame($obj8->getB(), 7.30); $obj9 = $test->testInstance9(); - $this->assertInternalType('object', $obj9); - $this->assertInstanceOf('Stub\Oo\OoDynamicA', $obj9); + $this->assertIsObject($obj9); + $this->assertInstanceOf(OoDynamicA::class, $obj9); $obj10 = $test->testInstance10(); - $this->assertInternalType('object', $obj10); - $this->assertInstanceOf('Stub\Oo\OoDynamicB', $obj10); + $this->assertIsObject($obj10); + $this->assertInstanceOf(OoDynamicB::class, $obj10); $obj = $test->testInstance11(); - $this->assertInternalType('object', $obj); - $this->assertInstanceOf('Stub\Oo\OoConstructParams', $obj); + $this->assertIsObject($obj); + $this->assertInstanceOf(OoConstructParams::class, $obj); $obj12 = $test->testInstance12(); - $this->assertInternalType('object', $obj12); + $this->assertIsObject($obj12); $this->assertInstanceOf('Stub\Oo\OoDynamicA', $obj12); } /** - * @issue https://github.com/phalcon/zephir/issues/1673 + * @issue https://github.com/zephir-lang/zephir/issues/1673 */ - public function testShouldDinamicalyCreateInstancesInLoop() + public function testShouldDinamicalyCreateInstancesInLoop(): void { $test = new Oo(); - $this->assertEquals( + $this->assertSame( ['A', 'AA', 'B', 'BB'], $test->createInstancesInLoop() ); diff --git a/tests/Extension/OperatorTest.php b/tests/Extension/OperatorTest.php index de7ff95cb8..f2aa06df6d 100644 --- a/tests/Extension/OperatorTest.php +++ b/tests/Extension/OperatorTest.php @@ -1,29 +1,31 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Operator; -class OperatorTest extends TestCase +final class OperatorTest extends TestCase { - /** @var \Stub\Operator */ - private $test; + private Operator $test; protected function setUp(): void { - $this->test = new \Stub\Operator(); + $this->test = new Operator(); } - public function test404Issue() + public function test404Issue(): void { $this->assertFalse($this->test->testIdentical(true, 1)); $this->assertFalse($this->test->testIdentical(true, 'phalcon')); @@ -34,7 +36,7 @@ public function test404Issue() $this->assertTrue($this->test->testIdentical('phalcon', 'phalcon')); } - public function test829Issue() + public function test829Issue(): void { $this->assertTrue($this->test->testIdenticalVarFalse(false)); $this->assertFalse($this->test->testIdenticalVarFalse(0)); @@ -44,14 +46,14 @@ public function test829Issue() $this->assertFalse($this->test->testIdenticalFalseVar('')); } - public function test1072Issue() + public function test1072Issue(): void { $this->assertFalse($this->test->testIdenticalIfComplex(false)); $this->assertTrue($this->test->testIdenticalIfComplex(0)); $this->assertTrue($this->test->testIdenticalIfComplex('')); } - public function test1279Issue() + public function test1279Issue(): void { $values = $this->test->testBoolComparison(true, false); diff --git a/tests/Extension/Optimizers/ArrayMergeTest.php b/tests/Extension/Optimizers/ArrayMergeTest.php index bfb0cd3d77..3af0f56308 100644 --- a/tests/Extension/Optimizers/ArrayMergeTest.php +++ b/tests/Extension/Optimizers/ArrayMergeTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Optimizers; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Optimizers\ArrayMerge; -class ArrayMergeTest extends TestCase +final class ArrayMergeTest extends TestCase { - public function testTwoArrays() + public function testTwoArrays(): void { $this->assertSame([1, 2, 3, 4, 5], ArrayMerge::mergeTwoRequiredArrays([1, 2, 3], [4, 5])); $this->assertSame([1, 2, 3], ArrayMerge::mergeTwoRequiredArrays([1, 2, 3], [])); diff --git a/tests/Extension/Optimizers/CreateArrayTest.php b/tests/Extension/Optimizers/CreateArrayTest.php index 4f0d618f9c..0af4dd8bcc 100644 --- a/tests/Extension/Optimizers/CreateArrayTest.php +++ b/tests/Extension/Optimizers/CreateArrayTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Optimizers; @@ -14,15 +16,15 @@ use PHPUnit\Framework\TestCase; use Stub\Optimizers\CreateArray; -class CreateArrayTest extends TestCase +final class CreateArrayTest extends TestCase { - public function testCreateArrayNoSize() + public function testCreateArrayNoSize(): void { $test = new CreateArray(); $this->assertSame(\count($test->createNoSize()), 0); } - public function testCreateArraySize() + public function testCreateArraySize(): void { $test = new CreateArray(); $this->assertSame(\count($test->createSize(3)), 3); diff --git a/tests/Extension/Optimizers/IsPhpVersionTest.php b/tests/Extension/Optimizers/IsPhpVersionTest.php index e8a501f332..72467c7cef 100644 --- a/tests/Extension/Optimizers/IsPhpVersionTest.php +++ b/tests/Extension/Optimizers/IsPhpVersionTest.php @@ -1,6 +1,6 @@ @@ -11,15 +11,17 @@ namespace Extension\Optimizers; +use Exception; use PHPUnit\Framework\TestCase; use Stub\Issue1404; +use Throwable; /** * Extension\Optimizers\IsPhpVersionTest. * - * @issue https://github.com/phalcon/zephir/issues/1404 + * @issue https://github.com/zephir-lang/zephir/issues/1404 */ -class IsPhpVersionTest extends TestCase +final class IsPhpVersionTest extends TestCase { const PHP_RELEASES_LIMIT = 17; const PHP_MINOR_LIMIT = 3; @@ -36,7 +38,7 @@ protected function tearDown(): void $this->test = null; } - public function phpVersionProvider() + public function phpVersionProvider(): array { return [ [PHP_VERSION, true], @@ -58,43 +60,40 @@ public function phpVersionProvider() * * @param mixed $version * @param mixed $expected + * @throws Exception */ - public function testOptimizer($version, $expected) + public function testOptimizer($version, $expected): void { $isPhpVersion = (bool) $this->isPhpVersion($version); $this->assertEquals($expected, $isPhpVersion); } - /** - * @expectedException \Exception - * @expectedExceptionMessage Could not parse PHP version - */ - public function testOptimizerExceptionLLU() + public function testOptimizerExceptionLLU(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('Could not parse PHP version'); + $this->isPhpVersion(92233720368547758079); } - /** - * @expectedException \Exception - * @expectedExceptionMessage Could not parse PHP version - */ - public function testOptimizerExceptionNegativeNumber() + public function testOptimizerExceptionNegativeNumber(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('Could not parse PHP version'); + $this->isPhpVersion(-7); } - /** - * @expectedException \Exception - * @expectedExceptionMessage Could not parse PHP version - */ - public function testOptimizerExceptionNull() + public function testOptimizerExceptionNull(): void { + $this->expectException(Exception::class); + $this->expectExceptionMessage('Could not parse PHP version'); + $this->isPhpVersion(null); } - /* -------------- Zephir Tests -------------- */ - public function testZephirUsingInteger70000() + public function testZephirUsingInteger70000(): void { $actual = $this->test->testIsPhpVersionUsingInteger70000(); $expected = $this->isPhpVersion(7); @@ -102,7 +101,7 @@ public function testZephirUsingInteger70000() $this->assertEquals($expected, $actual); } - public function testZephirUsingDouble70100() + public function testZephirUsingDouble70100(): void { $actual = $this->test->testIsPhpVersionUsingDouble70100(); $expected = $this->isPhpVersion(7.1); @@ -110,7 +109,7 @@ public function testZephirUsingDouble70100() $this->assertEquals($expected, $actual); } - public function testZephirUsingLong70000() + public function testZephirUsingLong70000(): void { $actual = $this->test->testIsPhpVersionUsingLong70000(); $expected = $this->isPhpVersion(2147483647); @@ -118,12 +117,12 @@ public function testZephirUsingLong70000() $this->assertEquals($expected, $actual); } - public function testZephirUsingZeroFalse() + public function testZephirUsingZeroFalse(): void { $this->assertFalse($this->test->testIsPhpVersionUsingZero()); } - public function testZephirUsingString70000() + public function testZephirUsingString70000(): void { $actual = $this->test->testIsPhpVersionUsingString70000(); $expected = $this->isPhpVersion('7'); @@ -131,7 +130,7 @@ public function testZephirUsingString70000() $this->assertEquals($expected, $actual); } - public function releaseVersionProvider() + public function releaseVersionProvider(): array { $versionProvider = []; @@ -147,8 +146,9 @@ public function releaseVersionProvider() * * @param mixed $testName * @param mixed $version + * @throws Exception */ - public function testIsPhpVersionVersionUsing701XX($testName, $version) + public function testIsPhpVersionVersionUsing701XX($testName, $version): void { $actual = $this->test->$testName(); $expected = $this->isPhpVersion($version); @@ -156,7 +156,7 @@ public function testIsPhpVersionVersionUsing701XX($testName, $version) $this->assertEquals($expected, $actual); } - public function minorVersionProvider() + public function minorVersionProvider(): array { $versionProvider = []; @@ -172,8 +172,9 @@ public function minorVersionProvider() * * @param mixed $testName * @param mixed $version + * @throws Exception */ - public function testIsPhpVersionVersionUsing70X00($testName, $version) + public function testIsPhpVersionVersionUsing70X00($testName, $version): void { $actual = $this->test->$testName(); $expected = $this->isPhpVersion($version); @@ -181,7 +182,7 @@ public function testIsPhpVersionVersionUsing70X00($testName, $version) $this->assertEquals($expected, $actual); } - public function testZephirUsingString50000() + public function testZephirUsingString50000(): void { $actual = $this->test->testIsPhpVersionUsing50000(); $expected = $this->isPhpVersion('5'); @@ -189,7 +190,7 @@ public function testZephirUsingString50000() $this->assertEquals($expected, $actual); } - public function testZephirUsingString50500() + public function testZephirUsingString50500(): void { $actual = $this->test->testIsPhpVersionUsing50500(); $expected = $this->isPhpVersion('5.5'); @@ -197,7 +198,7 @@ public function testZephirUsingString50500() $this->assertEquals($expected, $actual); } - public function testZephirUsingString50600() + public function testZephirUsingString50600(): void { $actual = $this->test->testIsPhpVersionUsing50600(); $expected = $this->isPhpVersion('5.6'); @@ -206,13 +207,10 @@ public function testZephirUsingString50600() } /** - * {@inheritdoc} - * - * @param \Throwable $error - * - * @throws \Throwable + * @param Throwable $error + * @throws Throwable */ - protected function onNotSuccessfulTest(\Throwable $error): void + protected function onNotSuccessfulTest(Throwable $error): void { $phpVer = sprintf( 'PHP_VERSION_ID:%d(%d.%d.%d)', @@ -235,15 +233,15 @@ protected function onNotSuccessfulTest(\Throwable $error): void * @param float|int|string $version - PHP version in any format: 7, 7.1, "7.1.1" * * @return bool + * @throws Exception */ - private function isPhpVersion($version) + private function isPhpVersion($version): bool { preg_match('/^(?\d+)(?:\.(?!?\d+))?(?:\.(?!?\d+))?(?:[^Ee0-9.]+.*)?$/', $version, $matches); if (!\count($matches)) { - throw new \Exception('Could not parse PHP version'); + throw new Exception('Could not parse PHP version'); } - $majorVersion = 0; $minorVersion = 0; $releaseVersion = 0; @@ -266,6 +264,6 @@ private function isPhpVersion($version) $versionId = (int) ($majorVersion + $minorVersion + $releaseVersion); $phpVersionId = $phpMajorVersion + $phpMinorVersion + $phpReleaseVersion; - return (bool) ($phpVersionId == $versionId ? 1 : 0); + return $phpVersionId === $versionId; } } diff --git a/tests/Extension/Optimizers/IsScalarTest.php b/tests/Extension/Optimizers/IsScalarTest.php index 71eed4c7c7..d2b7ce0fb8 100644 --- a/tests/Extension/Optimizers/IsScalarTest.php +++ b/tests/Extension/Optimizers/IsScalarTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Optimizers; @@ -14,17 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\Optimizers\IsScalar; -class IsScalarTest extends TestCase +final class IsScalarTest extends TestCase { - /** @var IsScalar */ - private $test; + private IsScalar $test; protected function setUp(): void { $this->test = new IsScalar(); } - public function testVariable() + public function testVariable(): void { $this->assertTrue($this->test->testIntVar()); $this->assertTrue($this->test->testDoubleVar()); @@ -35,7 +36,7 @@ public function testVariable() $this->assertFalse($this->test->testEmptyArrayVar()); } - public function testVariableParameter() + public function testVariableParameter(): void { $this->assertTrue($this->test->testVarParameter(1)); $this->assertTrue($this->test->testVarParameter(1.0)); diff --git a/tests/Extension/Optimizers/MathTest.php b/tests/Extension/Optimizers/MathTest.php index ce529ac005..5125a50ae3 100644 --- a/tests/Extension/Optimizers/MathTest.php +++ b/tests/Extension/Optimizers/MathTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Optimizers; @@ -20,9 +22,9 @@ use Stub\Optimizers\Sqrt; use Stub\Optimizers\Tan; -class MathTest extends TestCase +final class MathTest extends TestCase { - public function testLdexp() + public function testLdexp(): void { $test = new Ldexp(); @@ -35,7 +37,7 @@ public function testLdexp() $this->assertSame(524288.0, $test->testvarParameter(8, 16)); } - public function testSqrt() + public function testSqrt(): void { $test = new Sqrt(); @@ -52,7 +54,7 @@ public function testSqrt() $this->assertSame(4.0, $test->testVarParameter(16)); } - public function testSin() + public function testSin(): void { $test = new Sin(); @@ -69,7 +71,7 @@ public function testSin() $this->assertSame(sin(16), $test->testVarParameter(16)); } - public function testCos() + public function testCos(): void { $test = new Cos(); @@ -86,7 +88,7 @@ public function testCos() $this->assertSame(cos(16), $test->testVarParameter(16)); } - public function testACos() + public function testACos(): void { $test = new ACos(); @@ -102,7 +104,7 @@ public function testACos() $this->assertSame(acos(0), $test->testVarParameter(0)); } - public function testASin() + public function testASin(): void { $test = new ASin(); @@ -118,7 +120,7 @@ public function testASin() $this->assertSame(asin(0), $test->testVarParameter(0)); } - public function testTan() + public function testTan(): void { $test = new Tan(); diff --git a/tests/Extension/Optimizers/StrReplaceTest.php b/tests/Extension/Optimizers/StrReplaceTest.php index c80ef95cf2..355b481d42 100644 --- a/tests/Extension/Optimizers/StrReplaceTest.php +++ b/tests/Extension/Optimizers/StrReplaceTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Optimizers; @@ -14,19 +16,19 @@ use PHPUnit\Framework\TestCase; use Stub\Optimizers\StrReplace; -class StrReplaceTest extends TestCase +final class StrReplaceTest extends TestCase { - public function testIssue1055() + public function testIssue1055(): void { $this->assertSame(StrReplace::issue1055(), 'bla bla aaa aaaa askks'); } - public function issue1087() + public function issue1087(): void { $this->assertSame(StrReplace::issue1087(), 'test_test'); } - public function issue732() + public function issue732(): void { $this->assertSame(StrReplace::issue732A(), 'F'); $this->assertSame(StrReplace::issue732B(), 'The slow black bear jumped over the lazy dog.'); diff --git a/tests/Extension/Optimizers/SubstrTest.php b/tests/Extension/Optimizers/SubstrTest.php index 5be8be6e85..18c90a75dc 100644 --- a/tests/Extension/Optimizers/SubstrTest.php +++ b/tests/Extension/Optimizers/SubstrTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Optimizers; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Optimizers\Substr; -class SubstrTest extends TestCase +final class SubstrTest extends TestCase { - public function testTwoArguments1() + public function testTwoArguments1(): void { $test = new Substr(); @@ -34,7 +36,7 @@ public function testTwoArguments1() } } - public function testThreeArguments1() + public function testThreeArguments1(): void { $test = new Substr(); $this->assertSame($test->testThreeArguments('abcdef', 0, -3), 'abc'); diff --git a/tests/Extension/Php70/CastTest.php b/tests/Extension/Php70/CastTest.php deleted file mode 100644 index 4b0a6fb23a..0000000000 --- a/tests/Extension/Php70/CastTest.php +++ /dev/null @@ -1,33 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php70; - -use PHPUnit\Framework\TestCase; -use Stub\Cast; - -class CastTest extends TestCase -{ - /** - * @issue https://github.com/phalcon/zephir/issues/1524 - */ - public function testShouldReturnResourceIdWhenCastingResourceToInteger() - { - $test = new Cast(); - - $this->assertEquals((int) STDIN, $test->testCastStdinToInteger()); - $this->assertEquals((int) STDOUT, $test->testCastStdoutToInteger()); - - $file = fopen(__DIR__.'/../../fixtures/exists.php', 'r'); - $this->assertEquals((int) $file, $test->testCastFileResourceToInteger($file)); - fclose($file); - } -} diff --git a/tests/Extension/Php70/Globals/SessionTest.php b/tests/Extension/Php70/Globals/SessionTest.php deleted file mode 100644 index 57e36e2450..0000000000 --- a/tests/Extension/Php70/Globals/SessionTest.php +++ /dev/null @@ -1,34 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php70\Globals; - -use PHPUnit\Framework\TestCase; -use Stub\Globals\Session\Base; - -class SessionTest extends TestCase -{ - /** - * @see https://github.com/phalcon/zephir/issues/1775 - */ - public function testShouldAccessToTheSession() - { - unset($_SESSION); - $this->assertFalse(isset($_SESSION)); - - $test = new Base(); - $test->set('foo', 'bar'); - - $this->assertTrue(isset($_SESSION)); - /* @noinspection PhpUndefinedVariableInspection */ - $this->assertSame(['foo' => 'bar'], $_SESSION); - } -} diff --git a/tests/Extension/Php70/InstanceTest.php b/tests/Extension/Php70/InstanceTest.php deleted file mode 100644 index 59870992d7..0000000000 --- a/tests/Extension/Php70/InstanceTest.php +++ /dev/null @@ -1,27 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php70; - -use PHPUnit\Framework\TestCase; -use Stub\Instance; - -class InstanceTest extends TestCase -{ - /** - * @expectedException \Error - * @expectedExceptionMessage Cannot instantiate abstract class TestAbstractClass - */ - public function testShouldThrowErrorOnInstantiateAbstractClass() - { - Instance::testInstanceCreate(\TestAbstractClass::class); - } -} diff --git a/tests/Extension/Php70/MCallTest.php b/tests/Extension/Php70/MCallTest.php deleted file mode 100644 index 8f5c92fabd..0000000000 --- a/tests/Extension/Php70/MCallTest.php +++ /dev/null @@ -1,38 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php70; - -use PHPUnit\Framework\TestCase; -use Stub\Mcall; - -class MCallTest extends TestCase -{ - public function testShouldThrowInvalidArgumentExceptionForOptionalBoolean() - { - $test = new Mcall(); - - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'start' must be of the type bool"); - - $test->optionalParameterBoolean('test'); - } - - public function testShouldThrowTypeErrorForOptionalBoolean() - { - $test = new Mcall(); - - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'start' must be of the type bool"); - - $test->optionalParameterBoolean([]); - } -} diff --git a/tests/Extension/Php70/Oo/OoParamsStrictTest.php b/tests/Extension/Php70/Oo/OoParamsStrictTest.php deleted file mode 100644 index d01414b059..0000000000 --- a/tests/Extension/Php70/Oo/OoParamsStrictTest.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php70\Oo; - -use PHPUnit\Framework\TestCase; -use Stub\Oo\OoParams; - -class OoParamsStrictTest extends TestCase -{ - /** @var OoParams */ - private $test; - - protected function setUp(): void - { - $this->test = new OoParams(); - } - - public function testShouldThrowInvalidArgumentExceptionForInt1() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'age' must be of the type int"); - - $this->test->setStrictAge(17.0); - } - - public function testShouldThrowInvalidArgumentExceptionForInt2() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'age' must be of the type int"); - - $this->test->setStrictAge('17'); - } - - public function testShouldThrowInvalidArgumentExceptionForDouble() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'average' must be of the type double"); - - $this->test->setStrictAverage('17'); - } - - public function testShouldThrowInvalidArgumentExceptionForInt() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'average' must be of the type double"); - - $this->test->setStrictAverage(17); - } - - public function testShouldThrowInvalidArgumentExceptionForString() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'name' must be of the type string"); - - $this->test->setStrictName(1234); - } - - public function testShouldThrowInvalidArgumentExceptionForCallFromZephirLand() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'name' must be of the type string"); - - $this->test->setStrictNameFromZephirLand(); - } -} diff --git a/tests/Extension/Php72/MCallTest.php b/tests/Extension/Php72/MCallTest.php deleted file mode 100644 index d16cd4c636..0000000000 --- a/tests/Extension/Php72/MCallTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php72; - -use PHPUnit\Framework\TestCase; -use Stub\Mcall; - -class MCallTest extends TestCase -{ - public function testSouldThrowTypeErrorForOptionalBoolean1() - { - $test = new Mcall(); - - $this->expectException(\TypeError::class); - $this->expectExceptionMessageRegExp( - // PHP 7.3 : bool - // PHP 7.2 : boolean - '/Argument 1 passed to Stub\\\Mcall::optionalParameterBoolean\(\) '. - 'must be of the type bool(ean)?, string given/' - ); - - $test->optionalParameterBoolean('test'); - } - - public function testShouldThrowTypeErrorForOptionalBoolean2() - { - $test = new Mcall(); - - $this->expectException(\TypeError::class); - $this->expectExceptionMessageRegExp( - // PHP 7.3 : bool - // PHP 7.2 : boolean - '/Argument 1 passed to Stub\\\Mcall::optionalParameterBoolean\(\) '. - 'must be of the type bool(ean)?, array given/' - ); - - $test->optionalParameterBoolean([]); - } -} diff --git a/tests/Extension/Php72/Oo/OoParamsStrictTest.php b/tests/Extension/Php72/Oo/OoParamsStrictTest.php deleted file mode 100644 index cabfc2fadd..0000000000 --- a/tests/Extension/Php72/Oo/OoParamsStrictTest.php +++ /dev/null @@ -1,85 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Extension\Php72\Oo; - -use PHPUnit\Framework\TestCase; -use Stub\Oo\OoParams; - -class OoParamsStrictTest extends TestCase -{ - /** @var OoParams */ - private $test; - - protected function setUp(): void - { - $this->test = new OoParams(); - } - - public function testShouldThrowTypeErrorForInt1() - { - $this->expectException(\TypeError::class); - $this->expectExceptionMessageRegExp( - // PHP 7.3 : int - // PHP 7.2 : integer - '/Argument 1 passed to Stub\\\Oo\\\OoParams::setStrictAge\(\) '. - 'must be of the type int(eger)?, float given/' - ); - - $this->test->setStrictAge(17.0); - } - - public function testShouldThrowInvalidArgumentExceptionForInt2() - { - $this->expectException(\TypeError::class); - $this->expectExceptionMessageRegExp( - // PHP 7.3 : int - // PHP 7.2 : integer - '/Argument 1 passed to Stub\\\Oo\\\OoParams::setStrictAge\(\) '. - 'must be of the type int(eger)?, string given/' - ); - - $this->test->setStrictAge('17'); - } - - public function testShouldThrowInvalidArgumentExceptionForDouble() - { - $this->expectException(\TypeError::class); - $this->expectExceptionMessage( - 'Argument 1 passed to Stub\Oo\OoParams::setStrictAverage() must be of the type float, string given' - ); - - $this->test->setStrictAverage('17'); - } - - public function testShouldThrowInvalidArgumentExceptionForString() - { - $this->expectException(\TypeError::class); - $this->expectExceptionMessageRegExp( - // PHP 7.3 : int - // PHP 7.2 : integer - '/Argument 1 passed to Stub\\\Oo\\\OoParams::setStrictName\(\) '. - 'must be of the type string, int(eger)? given/' - ); - - $this->test->setStrictName(1234); - } - - public function testShouldThrowInvalidArgumentExceptionForCallFromZephirLand() - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage("Parameter 'name' must be of the type string"); - - $this->test->setStrictNameFromZephirLand(); - } -} diff --git a/tests/Extension/PregmatchTest.php b/tests/Extension/PregmatchTest.php index b8d84f06bf..7d2539d258 100644 --- a/tests/Extension/PregmatchTest.php +++ b/tests/Extension/PregmatchTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,77 +16,37 @@ use PHPUnit\Framework\TestCase; use Stub\Pregmatch; -class PregmatchTest extends TestCase +final class PregmatchTest extends TestCase { - /** @var Pregmatch */ - private $test; + private Pregmatch $test; protected function setUp(): void { $this->test = new Pregmatch(); } - public function testPregMatch() + public function testPregMatch(): void { $this->assertSame(1, $this->test->testWithoutReturnAndMatches()); $this->assertSame(['def'], $this->test->testWithoutReturns()); $this->assertSame(1, $this->test->testWithoutMatches()); $this->assertSame(1, $this->test->testPregMatchAll()); $this->assertSame(1, $this->test->testPregMatchFallback()); - - // more tests from php5 ext/pcre - - // TODO: Implement References (reference for parameters in this case) - // without references it's not possible to get the "matches" value out of the scope - // of the test function, since it's passed by value to testPregMatch3Params for example - // and any value remains only in the scope of the test function - - if (version_compare(PHP_VERSION, '7.0', '<')) { - $string = 'Hello, world. [*], this is \ a string'; - $match1 = null; - $this->assertSame(1, $this->test->testPregMatch3Params('/^[hH]ello,\s/', $string, $match1)); //finds "Hello, " - $this->assertSame('Hello, ', $match1[0]); - - $match2 = null; - $this->assertSame(0, $this->test->testPregMatch4Params('/l^o,\s\w{5}/', $string, $match2, PREG_OFFSET_CAPTURE)); // tries to find "lo, world" at start of string - $this->assertCount(0, $match2); - - $match3 = null; - $this->assertSame(1, $this->test->testPregMatch3Params('/\[\*\],\s(.*)/', $string, $match3)); //finds "[*], this is \ a string"; - $this->assertCount(2, $match3); - - $match4 = null; - $this->assertSame(1, $this->test->testPregMatch5Params('@\w{4}\s\w{2}\s\\\(?:\s.*)@', $string, $match4, PREG_OFFSET_CAPTURE, 14)); //finds "this is \ a string" (with non-capturing parentheses) - /* - * @todo didn`this->test pass at local machine - */ - $this->assertSame('this is \ a string', $match4[0][0]); - - $match5 = null; - $this->assertSame(0, $this->test->testPregMatch3Params('/hello world/', $string, $match5)); //tries to find "hello world" (should be Hello, world) - $this->assertCount(0, $match5); - - $string2 = "My\nName\nIs\nStrange"; - $match6 = null; - $this->assertSame(1, $this->test->testPregMatch3Params('/M(.*)/', $string2, $match6)); - $this->assertCount(2, $match6); - } - $this->assertSame(1, $this->test->testPregMatch2Params('#asd#', 'asd')); } /** - * @see https://github.com/phalcon/zephir/issues/287 + * @issue https://github.com/zephir-lang/zephir/issues/287 */ - public function testCollectMatches() + public function testCollectMatches(): void { $this->assertSame(['asd'], $this->test->testPregMatchSaveMatches('asd', '#asd#')); } /** - * @see https://github.com/phalcon/zephir/issues/144 + * @issue https://github.com/zephir-lang/zephir/issues/144 */ - public function testPregMatchAllFlags() + public function testPregMatchAllFlags(): void { $arr = $this->test->testMatchAllInZep(); $this->assertSame($arr[0], [['test1', 'test2'], ['test1', 'test2']]); diff --git a/tests/Extension/Properties/PrivatePropertiesTest.php b/tests/Extension/Properties/PrivatePropertiesTest.php index a15e5dbbbc..c218982d24 100644 --- a/tests/Extension/Properties/PrivatePropertiesTest.php +++ b/tests/Extension/Properties/PrivatePropertiesTest.php @@ -1,6 +1,8 @@ @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Properties\PrivateProperties; -class PrivatePropertiesTest extends TestCase +final class PrivatePropertiesTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { $test = new PrivateProperties(); diff --git a/tests/Extension/Properties/PropertyArrayTest.php b/tests/Extension/Properties/PropertyArrayTest.php index a5fca32b79..c60f6399b9 100644 --- a/tests/Extension/Properties/PropertyArrayTest.php +++ b/tests/Extension/Properties/PropertyArrayTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Properties; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Properties\PropertyArray; -class PropertyArrayTest extends TestCase +final class PropertyArrayTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { $test = new PropertyArray(); $this->assertSame([1], $test->someArray); @@ -24,7 +26,7 @@ public function testAssertations() $this->assertSame([1, 'one'], $test->someArray); } - public function testIssues1831() + public function testIssues1831(): void { $header = [ 'header 1', diff --git a/tests/Extension/Properties/PropertyUpdateTest.php b/tests/Extension/Properties/PropertyUpdateTest.php index da7a5c9c0f..1cb5ac4448 100644 --- a/tests/Extension/Properties/PropertyUpdateTest.php +++ b/tests/Extension/Properties/PropertyUpdateTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Properties; @@ -14,7 +16,7 @@ use PHPUnit\Framework\TestCase; use Stub\Properties\PropertyUpdate; -class PropertyUpdateTest extends TestCase +final class PropertyUpdateTest extends TestCase { public function testUpdate11() { diff --git a/tests/Extension/Properties/ProtectedPropertiesTest.php b/tests/Extension/Properties/ProtectedPropertiesTest.php index 19e86cfe91..63d3cc4a34 100644 --- a/tests/Extension/Properties/ProtectedPropertiesTest.php +++ b/tests/Extension/Properties/ProtectedPropertiesTest.php @@ -1,6 +1,8 @@ @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Properties\ProtectedProperties; -class ProtectedPropertiesTest extends TestCase +final class ProtectedPropertiesTest extends TestCase { - public function testShouldGetDefaultValueOfProtectedPropertiesUsingGetters() + public function testShouldGetDefaultValueOfProtectedPropertiesUsingGetters(): void { $test = new ProtectedProperties(); @@ -32,7 +34,7 @@ public function testShouldGetDefaultValueOfProtectedPropertiesUsingGetters() $this->assertEquals('test', $test->getSomeString()); } - public function testShouldSetAndGetProtectedPropertyUsingShortcuts() + public function testShouldSetAndGetProtectedPropertyUsingShortcuts(): void { $test = new ProtectedProperties(); @@ -43,9 +45,9 @@ public function testShouldSetAndGetProtectedPropertyUsingShortcuts() } /** - * @see https://github.com/phalcon/zephir/issues/2089 + * @issue https://github.com/zephir-lang/zephir/issues/2089 */ - public function testShouldSetAndGetProtectedPropertyUsingExtendedClass() + public function testShouldSetAndGetProtectedPropertyUsingExtendedClass(): void { $test = new \ExtendsProtectedProperties(); diff --git a/tests/Extension/Properties/PublicPropertiesTest.php b/tests/Extension/Properties/PublicPropertiesTest.php index 4930a90a5c..4f83271589 100644 --- a/tests/Extension/Properties/PublicPropertiesTest.php +++ b/tests/Extension/Properties/PublicPropertiesTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Properties; @@ -15,9 +17,9 @@ use Stub\Properties\ExtendsPublicProperties; use Stub\Properties\PublicProperties; -class PublicPropertiesTest extends TestCase +final class PublicPropertiesTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { $test = new PublicProperties(); @@ -29,20 +31,20 @@ public function testAssertations() $this->assertSame($test->someDouble, 10.25); $this->assertSame($test->someString, 'test'); - $this->assertInternalType('array', $test->someEmptyArray); + $this->assertIsArray($test->someEmptyArray); $this->assertSame([1, 2, 3, 4], $test->someArray); } - public function test394Issue() + public function test394Issue(): void { $test = new PublicProperties(); $this->assertTrue($test->test394Issue()); } /** - * @see https://github.com/phalcon/zephir/issues/537 + * @issue https://github.com/zephir-lang/zephir/issues/537 */ - public function test537Issue() + public function test537Issue(): void { $test = new ExtendsPublicProperties(); $this->assertSame($test->getSomeGetterSetterArray(), ['holy']); diff --git a/tests/Extension/Properties/StaticPrivatePropertiesTest.php b/tests/Extension/Properties/StaticPrivatePropertiesTest.php index c8e8da7bf0..0429d6287c 100644 --- a/tests/Extension/Properties/StaticPrivatePropertiesTest.php +++ b/tests/Extension/Properties/StaticPrivatePropertiesTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Properties; @@ -15,12 +17,12 @@ use Stub\Properties\App; use Stub\Properties\StaticPrivateProperties; -class StaticPrivatePropertiesTest extends TestCase +final class StaticPrivatePropertiesTest extends TestCase { /** - * @issue https://github.com/phalcon/zephir/issues/1530 + * @issue https://github.com/zephir-lang/zephir/issues/1530 */ - public function testShouldGetInstanceByUsingSingleton() + public function testShouldGetInstanceByUsingSingleton(): void { $test = new App(); diff --git a/tests/Extension/Properties/StaticPropertyArrayTest.php b/tests/Extension/Properties/StaticPropertyArrayTest.php index d5dc0082f0..b2cce1930d 100644 --- a/tests/Extension/Properties/StaticPropertyArrayTest.php +++ b/tests/Extension/Properties/StaticPropertyArrayTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Properties; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Properties\StaticPropertyArray; -class StaticPropertyArrayTest extends TestCase +final class StaticPropertyArrayTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { $this->assertSame([], StaticPropertyArray::$someEmptyArray); $this->assertSame([1, 2, 3, 4], StaticPropertyArray::$someArray); diff --git a/tests/Extension/Properties/StaticPublicPropertiesTest.php b/tests/Extension/Properties/StaticPublicPropertiesTest.php index 56fb8b11a4..352890bae8 100644 --- a/tests/Extension/Properties/StaticPublicPropertiesTest.php +++ b/tests/Extension/Properties/StaticPublicPropertiesTest.php @@ -1,65 +1,68 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension\Properties; use PHPUnit\Framework\TestCase; +use Stub\Properties\StaticPublicProperties; -class StaticPublicPropertiesTest extends TestCase +final class StaticPublicPropertiesTest extends TestCase { - public function testAssertations() + public function testAssertations(): void { - $this->assertNull(\Stub\Properties\StaticPublicProperties::$someNull); - $this->assertNull(\Stub\Properties\StaticPublicProperties::$someNullInitial); - $this->assertFalse(\Stub\Properties\StaticPublicProperties::$someFalse); - $this->assertTrue(\Stub\Properties\StaticPublicProperties::$someTrue); - $this->assertSame(\Stub\Properties\StaticPublicProperties::$someInteger, 10); - $this->assertSame(\Stub\Properties\StaticPublicProperties::$someDouble, 10.25); - $this->assertSame(\Stub\Properties\StaticPublicProperties::$someString, 'test'); + $this->assertNull(StaticPublicProperties::$someNull); + $this->assertNull(StaticPublicProperties::$someNullInitial); + $this->assertFalse(StaticPublicProperties::$someFalse); + $this->assertTrue(StaticPublicProperties::$someTrue); + $this->assertSame(StaticPublicProperties::$someInteger, 10); + $this->assertSame(StaticPublicProperties::$someDouble, 10.25); + $this->assertSame(StaticPublicProperties::$someString, 'test'); } - public function testIssues1904() + public function testIssues1904(): void { - $value = &\Stub\Properties\StaticPublicProperties::$someString; + $value = &StaticPublicProperties::$someString; $value = 'test1'; - $this->assertSame(\Stub\Properties\StaticPublicProperties::$someString, $value); - \Stub\Properties\StaticPublicProperties::$someString = 'test2'; - $this->assertSame(\Stub\Properties\StaticPublicProperties::$someString, $value); + $this->assertSame(StaticPublicProperties::$someString, $value); + StaticPublicProperties::$someString = 'test2'; + $this->assertSame(StaticPublicProperties::$someString, $value); // Disabled due to: - // https://github.com/phalcon/zephir/issues/1941#issuecomment-538654340 - // \Stub\Properties\StaticPublicProperties::setSomeString('test3'); - // $this->assertSame(\Stub\Properties\StaticPublicProperties::$someString, $value); + // https://github.com/zephir-lang/zephir/issues/1941#issuecomment-538654340 + StaticPublicProperties::setSomeString('test3'); + $this->assertSame(StaticPublicProperties::$someString, $value); } - public function testIssues2020() + public function testIssues2020(): void { - \Stub\Properties\StaticPublicProperties::testAddAndSub(); - $this->assertEquals(1, \Stub\Properties\StaticPublicProperties::$someAdd); - $this->assertEquals(-1, \Stub\Properties\StaticPublicProperties::$someSub); + StaticPublicProperties::testAddAndSub(); + $this->assertEquals(1, StaticPublicProperties::$someAdd); + $this->assertEquals(-1, StaticPublicProperties::$someSub); // PHP Notice: A non well formed numeric value encountered //\Stub\Properties\StaticPublicProperties::testAddAndSub2(); //$this->assertEquals(2, \Stub\Properties\StaticPublicProperties::$someAdd); //$this->assertEquals(-2, \Stub\Properties\StaticPublicProperties::$someSub); - \Stub\Properties\StaticPublicProperties::testAddAndSub3(); - $this->assertEquals(2, \Stub\Properties\StaticPublicProperties::$someAdd); - $this->assertEquals(-2, \Stub\Properties\StaticPublicProperties::$someSub); + StaticPublicProperties::testAddAndSub3(); + $this->assertEquals(2, StaticPublicProperties::$someAdd); + $this->assertEquals(-2, StaticPublicProperties::$someSub); - \Stub\Properties\StaticPublicProperties::testAddAndSub4(); - $this->assertEquals(3, \Stub\Properties\StaticPublicProperties::$someAdd); - $this->assertEquals(-3, \Stub\Properties\StaticPublicProperties::$someSub); + StaticPublicProperties::testAddAndSub4(); + $this->assertEquals(3, StaticPublicProperties::$someAdd); + $this->assertEquals(-3, StaticPublicProperties::$someSub); - \Stub\Properties\StaticPublicProperties::testAddAndSub4(); - $this->assertEquals(4, \Stub\Properties\StaticPublicProperties::$someAdd); - $this->assertEquals(-4, \Stub\Properties\StaticPublicProperties::$someSub); + StaticPublicProperties::testAddAndSub4(); + $this->assertEquals(4, StaticPublicProperties::$someAdd); + $this->assertEquals(-4, StaticPublicProperties::$someSub); } } diff --git a/tests/Extension/ReflectionTest.php b/tests/Extension/ReflectionTest.php new file mode 100644 index 0000000000..15da5ed41e --- /dev/null +++ b/tests/Extension/ReflectionTest.php @@ -0,0 +1,38 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Extension; + +use PHPUnit\Framework\TestCase; +use ReflectionClass; +use ReflectionFunction; +use ReflectionParameter; +use Stub\Reflection as StubReflection; + +final class ReflectionTest extends TestCase +{ + public function testMethods(): void + { + $class = new StubReflection(); + + $this->assertInstanceOf(ReflectionClass::class, $class->getReflectionClass()); + $this->assertInstanceOf(ReflectionFunction::class, $class->getReflectionFunction()); + $this->assertNull($class->getReflectionParameter()); + + $class->setReflectionParameter(new ReflectionParameter(function ($test) { + return 1; + }, 0)); + + $this->assertInstanceOf(ReflectionParameter::class, $class->getReflectionParameter()); + } +} diff --git a/tests/Extension/RequiresTest.php b/tests/Extension/RequiresTest.php index dd1307ed70..e6d85e0452 100644 --- a/tests/Extension/RequiresTest.php +++ b/tests/Extension/RequiresTest.php @@ -1,6 +1,8 @@ @@ -14,17 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\Requires; -class RequiresTest extends TestCase +final class RequiresTest extends TestCase { - /** @var Requires */ - private $test; + private Requires $test; protected function setUp(): void { $this->test = new Requires(); } - public function testRequireExternal1() + public function testRequireExternal1(): void { $this->assertSame( [1, 2, 3], @@ -37,9 +38,9 @@ public function testRequireExternal1() } /** - * @issue https://github.com/phalcon/zephir/pull/1428 + * @issue https://github.com/zephir-lang/zephir/pull/1428 */ - public function testShouldRequireUsingNewSymbolTable() + public function testShouldRequireUsingNewSymbolTable(): void { ob_start(); $actual = $this->test->requireExternal3(__DIR__.'/../fixtures/require-me-3.php'); @@ -49,9 +50,9 @@ public function testShouldRequireUsingNewSymbolTable() } /** - * @issue https://github.com/phalcon/zephir/issues/1621 + * @issue https://github.com/zephir-lang/zephir/issues/1621 */ - public function testShouldRenderTemplate() + public function testShouldRenderTemplate(): void { $param = 1; @@ -64,9 +65,9 @@ public function testShouldRenderTemplate() } /** - * @issue https://github.com/phalcon/zephir/issues/1713 + * @issue https://github.com/zephir-lang/zephir/issues/1713 */ - public function testShouldRequirePhar() + public function testShouldRequirePhar(): void { $this->assertEquals( "I'm in", diff --git a/tests/Extension/ResourceTest.php b/tests/Extension/ResourceTest.php index 119d7c1d50..b7bf78b617 100644 --- a/tests/Extension/ResourceTest.php +++ b/tests/Extension/ResourceTest.php @@ -1,41 +1,42 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class ResourceTest extends TestCase +final class ResourceTest extends TestCase { - /** @var \Stub\ResourceTest */ - private $test; + private \Stub\ResourceTest $test; protected function setUp(): void { $this->test = new \Stub\ResourceTest(); } - public function testLetStatementAssign() + public function testLetStatementAssign(): void { - $this->assertInternalType('resource', $this->test->testLetStatementSTDIN()); - $this->assertInternalType('resource', $this->test->testLetStatementSTDOUT()); - $this->assertInternalType('resource', $this->test->testLetStatementSTDERR()); + $this->assertIsResource($this->test->testLetStatementSTDIN()); + $this->assertIsResource($this->test->testLetStatementSTDOUT()); + $this->assertIsResource($this->test->testLetStatementSTDERR()); } - public function testTypeOffResource() + public function testTypeOffResource(): void { $this->assertSame('resource', $this->test->testTypeOffResource()); } - public function testIsResource() + public function testIsResource(): void { $this->assertTrue($this->test->testIsResource()); } diff --git a/tests/Extension/ReturnsTest.php b/tests/Extension/ReturnsTest.php index dc422ee472..43c052d98d 100644 --- a/tests/Extension/ReturnsTest.php +++ b/tests/Extension/ReturnsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,38 +16,38 @@ use PHPUnit\Framework\TestCase; use Stub\Returns; -class ReturnsTest extends TestCase +final class ReturnsTest extends TestCase { /** - * @issue https://github.com/phalcon/zephir/issues/1534 + * @issue https://github.com/zephir-lang/zephir/issues/1534 */ - public function testShouldReturnWithParameter() + public function testShouldReturnWithParameter(): void { $tester = new Returns(); $this->assertSame('Return back', $tester->returnWithParameter('Hello World!')); } /** - * @issue https://github.com/phalcon/zephir/issues/1534 + * @issue https://github.com/zephir-lang/zephir/issues/1534 */ - public function testShouldReturnWithParameterStaticVersion() + public function testShouldReturnWithParameterStaticVersion(): void { $this->assertSame('Return back', Returns::returnWithParameter('Hello World!')); } /** - * @issue https://github.com/phalcon/zephir/issues/1534 + * @issue https://github.com/zephir-lang/zephir/issues/1534 */ - public function testShouldReturnWithoutParameter() + public function testShouldReturnWithoutParameter(): void { $tester = new Returns(); $this->assertSame('Return back', $tester->returnWithoutParameter()); } /** - * @issue https://github.com/phalcon/zephir/issues/1534 + * @issue https://github.com/zephir-lang/zephir/issues/1534 */ - public function testShouldReturnWithoutParameterStaticVersion() + public function testShouldReturnWithoutParameterStaticVersion(): void { $this->assertSame('Return back', Returns::returnWithoutParameter()); } diff --git a/tests/Extension/RouterTest.php b/tests/Extension/RouterTest.php index 10804df01d..bfa2527c84 100644 --- a/tests/Extension/RouterTest.php +++ b/tests/Extension/RouterTest.php @@ -1,21 +1,24 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Router; -class RouterTest extends TestCase +final class RouterTest extends TestCase { - public function testRouter() + public function testRouter(): void { $tests = [ [ @@ -122,7 +125,7 @@ public function testRouter() ], ]; - $router = new \Stub\Router(); + $router = new Router(); $router->add('/', [ 'controller' => 'index', @@ -174,11 +177,8 @@ public function testRouter() ]); $router->add("/feed/{lang:[a-z]+}/blog/{blog:[a-z\-]+}\.{type:[a-z\-]+}", 'Feed::get'); - $router->add("/posts/{year:[0-9]+}/s/{title:[a-z\-]+}", 'Posts::show'); - $router->add('/posts/delete/{id}', 'Posts::delete'); - $router->add("/show/{id:video([0-9]+)}/{title:[a-z\-]+}", 'Videos::show'); foreach ($tests as $n => $test) { diff --git a/tests/Extension/SPropertyAccessTest.php b/tests/Extension/SPropertyAccessTest.php index 3f03905dc3..3de6a066b2 100644 --- a/tests/Extension/SPropertyAccessTest.php +++ b/tests/Extension/SPropertyAccessTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,23 +16,23 @@ use PHPUnit\Framework\TestCase; use Stub\SPropertyAccess; -class SPropertyAccessTest extends TestCase +final class SPropertyAccessTest extends TestCase { - public function testStaticPropertyAccess() + public function testStaticPropertyAccess(): void { $spa = new SPropertyAccess(); $this->assertSame($spa->testArgument(','), ','); $this->assertSame($spa->testArgument(), '.'); } - public function testStaticPropertyAccessWithUnderscore() + public function testStaticPropertyAccessWithUnderscore(): void { $spa = new SPropertyAccess(); $this->assertSame($spa->testArgumentWithUnderscore(','), ','); $this->assertSame($spa->testArgumentWithUnderscore(), '.'); } - public function testShouldMutateStringVarInsideCycle() + public function testShouldMutateStringVarInsideCycle(): void { $this->assertEquals( str_repeat(' + ', 4), @@ -39,9 +41,9 @@ public function testShouldMutateStringVarInsideCycle() } /** - * @see https://github.com/phalcon/zephir/issues/1494 + * @issue https://github.com/zephir-lang/zephir/issues/1494 */ - public function testShouldMutateIntVarInsideCycle() + public function testShouldMutateIntVarInsideCycle(): void { $this->assertEquals( 42, @@ -50,9 +52,9 @@ public function testShouldMutateIntVarInsideCycle() } /** - * @see https://github.com/phalcon/zephir/issues/1494 + * @issue https://github.com/zephir-lang/zephir/issues/1494 */ - public function testShouldMutateDoubleVarInsideCycle() + public function testShouldMutateDoubleVarInsideCycle(): void { $this->assertEquals( 3.14, @@ -60,7 +62,7 @@ public function testShouldMutateDoubleVarInsideCycle() ); } - public function testShouldMutateArrayVarInsideCycle() + public function testShouldMutateArrayVarInsideCycle(): void { $this->assertEquals( [0, 1, 2, 3], diff --git a/tests/Extension/ScallExternalTest.php b/tests/Extension/ScallExternalTest.php index a5d5559b58..e4602a948e 100644 --- a/tests/Extension/ScallExternalTest.php +++ b/tests/Extension/ScallExternalTest.php @@ -1,29 +1,32 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\ScallExternal; -class ScallExternalTest extends TestCase +final class ScallExternalTest extends TestCase { - public function testCall1() + public function testCall1(): void { - $test = new \Stub\ScallExternal(); + $test = new ScallExternal(); $this->assertSame($test->testCall1(), 'hello public'); } - public function testCall2() + public function testCall2(): void { - $test = new \Stub\ScallExternal(); + $test = new ScallExternal(); $this->assertSame($test->testCall2(2, 3), 5); } } diff --git a/tests/Extension/ScallLateConstructTest.php b/tests/Extension/ScallLateConstructTest.php new file mode 100644 index 0000000000..eeba905d5d --- /dev/null +++ b/tests/Extension/ScallLateConstructTest.php @@ -0,0 +1,29 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Extension; + +use PHPUnit\Framework\TestCase; +use Stub\ScallLateConstruct; + +final class ScallLateConstructTest extends TestCase +{ + /** + * @issue https://github.com/zephir-lang/zephir/issues/2111 + */ + public function testConstruct(): void + { + $test = new ScallLateConstruct(); + $this->assertSame('hello public', $test->varValue()); + } +} diff --git a/tests/Extension/ScallTest.php b/tests/Extension/ScallTest.php index 4d337026b3..b4f35f0f98 100644 --- a/tests/Extension/ScallTest.php +++ b/tests/Extension/ScallTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -15,9 +17,9 @@ use Stub\Scall; use Stub\Scallparent; -class ScallTest extends TestCase +final class ScallTest extends TestCase { - public function testScall() + public function testScall(): void { $test = new Scall(); @@ -49,18 +51,18 @@ public function testScall() } /** - * @see https://github.com/phalcon/zephir/issues/1622 + * @issue https://github.com/zephir-lang/zephir/issues/1622 */ - public function testShouldReturnInterpolatedMethodFromZephir() + public function testShouldReturnInterpolatedMethodFromZephir(): void { $test = new Scall(); $this->assertSame('hello Scall', $test->interpolatedStaticReturn()); } /** - * @see https://github.com/phalcon/zephir/issues/1622 + * @issue https://github.com/zephir-lang/zephir/issues/1622 */ - public function testShouldEchoInterpolatedMethodFromZephir() + public function testShouldEchoInterpolatedMethodFromZephir(): void { $test = new Scall(); diff --git a/tests/Extension/ScopeTest.php b/tests/Extension/ScopeTest.php index 22936576eb..6923992df6 100644 --- a/tests/Extension/ScopeTest.php +++ b/tests/Extension/ScopeTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Stub\Scope; -class ScopeTest extends TestCase +final class ScopeTest extends TestCase { - public function testScope1() + public function testScope1(): void { $this->assertSame(Scope::test1(), 'testinternal_string'); $this->assertSame(Scope::test2(), [15, '0_66_132_198_']); diff --git a/tests/Extension/StatementsTest.php b/tests/Extension/StatementsTest.php index caef3c90a2..737bcc88b8 100644 --- a/tests/Extension/StatementsTest.php +++ b/tests/Extension/StatementsTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,17 +16,16 @@ use PHPUnit\Framework\TestCase; use Stub\Statements; -class StatementsTest extends TestCase +final class StatementsTest extends TestCase { - /** @var Statements */ - private $test; + private Statements $test; protected function setUp(): void { $this->test = new Statements(); } - public function testElseIf() + public function testElseIf(): void { $this->assertSame('more', $this->test->testElseIf(10)); $this->assertSame('equal', $this->test->testElseIf(0)); @@ -32,21 +33,21 @@ public function testElseIf() $this->assertSame('less', $this->test->testElseIf(-10)); } - public function testElseIf1() + public function testElseIf1(): void { $this->assertSame('equal', $this->test->testElseIf1(10)); $this->assertSame('less', $this->test->testElseIf1(5)); $this->assertSame('else', $this->test->testElseIf1(11)); } - public function testElseIf2() + public function testElseIf2(): void { $this->assertSame('equal', $this->test->testElseIf2(10, 10)); $this->assertSame('less', $this->test->testElseIf2(5, 10)); $this->assertSame('else', $this->test->testElseIf2(11, 10)); } - public function test544Issue() + public function test544Issue(): void { $this->assertSame('====>...............................................................................................', $this->test->test544Issue(5)); $this->assertSame('====================================================================================================', $this->test->test544Issue(100)); diff --git a/tests/Extension/StringTest.php b/tests/Extension/StringTest.php index f47e9aac55..7b8f56b322 100644 --- a/tests/Extension/StringTest.php +++ b/tests/Extension/StringTest.php @@ -1,37 +1,40 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Extension; -use PHPUnit\Framework\Error\Warning; use PHPUnit\Framework\TestCase; +use Stub\Strings; + +use function Zephir\is_windows; -class StringTest extends TestCase +final class StringTest extends TestCase { - /** @var \Stub\Strings */ - private $test; + private Strings $test; protected function setUp(): void { - $this->test = new \Stub\Strings(); + $this->test = new Strings(); } /** * @dataProvider providerHashEquals * - * @param string $knownString - * @param string $userString - * @param string $expected + * @param mixed $knownString + * @param mixed $userString + * @param mixed $expected */ - public function testHashEquals($knownString, $userString, $expected) + public function testHashEquals($knownString, $userString, $expected): void { $salt = '$2a$07$usesomesillystringforsalt$'; $knownString = crypt($knownString, $salt); @@ -43,10 +46,10 @@ public function testHashEquals($knownString, $userString, $expected) /** * @dataProvider providerHashEqualsNonString * - * @param string $knownString - * @param string $userString + * @param mixed $knownString + * @param mixed $userString */ - public function testHashEqualsNonString($knownString, $userString) + public function testHashEqualsNonString($knownString, $userString): void { $this->assertFalse($this->test->testHashEquals($knownString, $userString)); } @@ -58,7 +61,7 @@ public function testHashEqualsNonString($knownString, $userString) * @param mixed $expected * @param mixed $delimiter */ - public function testCamelize($actual, $expected, $delimiter) + public function testCamelize($actual, $expected, $delimiter): void { $this->assertSame($expected, $this->test->camelize($actual, $delimiter)); } @@ -68,9 +71,9 @@ public function testCamelize($actual, $expected, $delimiter) * * @param mixed $delimiter */ - public function testCamelizeWrongSecondParam($delimiter) + public function testCamelizeWrongSecondParam($delimiter): void { - $this->expectException(Warning::class); + $this->expectWarning(); $this->expectExceptionMessage( 'The second argument passed to the camelize() must be a string containing at least one character' ); @@ -85,7 +88,7 @@ public function testCamelizeWrongSecondParam($delimiter) * @param mixed $expected * @param mixed $delimiter */ - public function testUnCamelize($actual, $expected, $delimiter) + public function testUnCamelize($actual, $expected, $delimiter): void { $this->assertSame($expected, $this->test->uncamelize($actual, $delimiter)); } @@ -95,9 +98,9 @@ public function testUnCamelize($actual, $expected, $delimiter) * * @param mixed $delimiter */ - public function testUnCamelizeWrongSecondParam($delimiter) + public function testUnCamelizeWrongSecondParam($delimiter): void { - $this->expectException(Warning::class); + $this->expectWarning(); $this->expectExceptionMessage( 'Second argument passed to the uncamelize() must be a string of one character' ); @@ -105,7 +108,7 @@ public function testUnCamelizeWrongSecondParam($delimiter) $this->test->uncamelize('CameLiZe', $delimiter); } - public function testTrim() + public function testTrim(): void { $testSuite = [ [' hello ', 'hello'], @@ -120,7 +123,7 @@ public function testTrim() $this->assertSame($this->test->testTrim2Params('Hello World', 'Hdle'), 'o Wor'); } - public function testLtrim() + public function testLtrim(): void { $testSuite = [ [' hello ', 'hello '], @@ -135,7 +138,7 @@ public function testLtrim() $this->assertSame($this->test->testLtrim2Params('Hello World', 'Hdle'), 'o World'); } - public function testRtrim() + public function testRtrim(): void { $testSuite = [ [' hello ', ' hello'], @@ -150,19 +153,19 @@ public function testRtrim() $this->assertSame($this->test->testRtrim2Params('Hello World', 'Hdle'), 'Hello Wor'); } - public function testStrpos() + public function testStrpos(): void { $this->assertSame($this->test->testStrpos('abcdef abcdef', 'a'), 0); $this->assertSame($this->test->testStrposOffset('abcdef abcdef', 'a', 1), 7); } - public function testImplode() + public function testImplode(): void { $pieces = ['a', 'b', 'c']; $this->assertSame($this->test->testImplode(',', $pieces), 'a,b,c'); } - public function testExplode() + public function testExplode(): void { $pizza = 'piece1,piece2,piece3,piece4,piece5,piece6'; $ar1 = $this->test->testExplode(',', $pizza); @@ -193,8 +196,15 @@ public function providerSubstring(): array ]; } - /** @dataProvider providerSubstring */ - public function testSubstr(string $input, int $start, int $end, string $expected) + /** + * @dataProvider providerSubstring + * + * @param string $input + * @param int $start + * @param int $end + * @param string $expected + */ + public function testSubstr(string $input, int $start, int $end, string $expected): void { $this->assertSame($this->test->testSubstr($input, $start, $end), $expected); @@ -215,19 +225,29 @@ public function providerAddStripSlashes(): array ]; } - /** @dataProvider providerAddStripSlashes */ - public function testAddslashes(string $sample, string $expected) + /** + * @dataProvider providerAddStripSlashes + * + * @param string $sample + * @param string $expected + */ + public function testAddslashes(string $sample, string $expected): void { $this->assertSame($this->test->testAddslashes($sample), addslashes($expected)); } - /** @dataProvider providerAddStripSlashes */ - public function testStripslashes(string $sample, string $expected) + /** + * @dataProvider providerAddStripSlashes + * + * @param string $sample + * @param string $expected + */ + public function testStripslashes(string $sample, string $expected): void { $this->assertSame($this->test->testStripslashes(addslashes($sample)), $expected); } - public function testStripcslashes() + public function testStripcslashes(): void { parent::assertSame( stripcslashes('\abcd\e\f\g\h\i\j\k\l\m\n\o\pqrstuvwxy\z'), @@ -237,8 +257,12 @@ public function testStripcslashes() parent::assertSame(stripcslashes(''), $this->test->testStripcslashes('')); } - public function testMultilineStrings() + public function testMultilineStrings(): void { + if (is_windows()) { + $this->markTestSkipped('String will contain different line endings.'); + } + $hardcodedString = ' Hello world '; @@ -253,12 +277,12 @@ public function testMultilineStrings() $this->assertSame($escapedString, $this->test->testWellEscapedMultilineString()); } - public function testStrToHex() + public function testStrToHex(): void { $this->assertSame('746573742073656e74656e73652e2e2e', $this->test->strToHex('test sentense...')); } - public function providerHashEquals() + public function providerHashEquals(): array { return [ ['Phalcon', 'Phalcony', false], @@ -275,7 +299,7 @@ public function providerHashEquals() ]; } - public function providerHashEqualsNonString() + public function providerHashEqualsNonString(): array { return [ [null, 123, false], @@ -289,7 +313,7 @@ public function providerHashEqualsNonString() ]; } - public function providerCamelize() + public function providerCamelize(): array { return [ ['=_camelize', '=Camelize', '_'], @@ -307,7 +331,7 @@ public function providerCamelize() ]; } - public function providerUnCamelize() + public function providerUnCamelize(): array { return [ ['=Camelize', '=_camelize', '_'], @@ -322,7 +346,7 @@ public function providerUnCamelize() ]; } - public function providerCamelizeWrongSecondParam() + public function providerCamelizeWrongSecondParam(): array { return [ [''], diff --git a/tests/Extension/TernaryTest.php b/tests/Extension/TernaryTest.php index 6ca0df0a22..67be0f00f2 100644 --- a/tests/Extension/TernaryTest.php +++ b/tests/Extension/TernaryTest.php @@ -1,23 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Ternary; -class TernaryTest extends TestCase +final class TernaryTest extends TestCase { - public function testTernary() + public function testTernary(): void { - $test = new \Stub\Ternary(); + $test = new Ternary(); $this->assertSame(101, $test->testTernary1()); $this->assertSame('foo', $test->testTernary2(true)); $this->assertSame('bar', $test->testTernary2(false)); @@ -36,9 +39,9 @@ public function testTernary() $this->assertSame([], $test->testShortTernaryComplex(false, [])); } - public function testComplex() + public function testComplex(): void { - $test = new \Stub\Ternary(); + $test = new Ternary(); $this->assertSame(101, $test->testTernaryComplex1([], '')); $this->assertSame(106, $test->testTernaryComplex2([], '')); $this->assertSame('boolean', $test->testTernaryComplex3('')); diff --git a/tests/Extension/TryTest.php b/tests/Extension/TryTest.php index 84a2f2ae26..5c73328151 100644 --- a/tests/Extension/TryTest.php +++ b/tests/Extension/TryTest.php @@ -1,21 +1,23 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; -class TryTest extends TestCase +final class TryTest extends TestCase { - public function testThrow1() + public function testThrow1(): void { $this->expectException('\Exception'); @@ -23,7 +25,7 @@ public function testThrow1() $test->testThrow1(); } - public function testThrow2() + public function testThrow2(): void { $this->expectException('\Exception'); diff --git a/tests/Extension/Php72/TypeHinting/AbstractTest.php b/tests/Extension/TypeHinting/AbstractTest.php similarity index 75% rename from tests/Extension/Php72/TypeHinting/AbstractTest.php rename to tests/Extension/TypeHinting/AbstractTest.php index 9f93ee86c0..aa782f1f10 100644 --- a/tests/Extension/Php72/TypeHinting/AbstractTest.php +++ b/tests/Extension/TypeHinting/AbstractTest.php @@ -1,25 +1,27 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Extension\Php72\TypeHinting; +namespace Extension\TypeHinting; use PHPUnit\Framework\TestCase; use TestConcreteClass; -class AbstractTest extends TestCase +final class AbstractTest extends TestCase { /** - * @issue https://github.com/phalcon/zephir/issues/1667 + * @issue https://github.com/zephir-lang/zephir/issues/1667 */ - public function testShouldCreateCompatibleChildClassUsingTypeHintedParams() + public function testShouldCreateCompatibleChildClassUsingTypeHintedParams(): void { $childClass = new TestConcreteClass(); @@ -35,18 +37,18 @@ public function testShouldCreateCompatibleChildClassUsingTypeHintedParams() } /** - * @issue https://github.com/phalcon/zephir/issues/1667 + * @issue https://github.com/zephir-lang/zephir/issues/1667 */ - public function testShouldCreateCompatibleChildClassWithMultipleReturnTypesHint() + public function testShouldCreateCompatibleChildClassWithMultipleReturnTypesHint(): void { $childClass = new TestConcreteClass(); $this->assertEquals('TestConcreteClass::returnOneOfScalar', $childClass->returnOneOfScalar()); } /** - * @issue https://github.com/phalcon/zephir/issues/1667 + * @issue https://github.com/zephir-lang/zephir/issues/1667 */ - public function testShouldCreateCompatibleChildClassWithScalarType() + public function testShouldCreateCompatibleChildClassWithScalarType(): void { $childClass = new TestConcreteClass(); diff --git a/tests/Extension/TypeoffTest.php b/tests/Extension/TypeoffTest.php index 17a61cd995..bb56b3c8fd 100644 --- a/tests/Extension/TypeoffTest.php +++ b/tests/Extension/TypeoffTest.php @@ -1,64 +1,66 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Typeoff; -class TypeoffTest extends TestCase +final class TypeoffTest extends TestCase { - /** @var \Stub\Typeoff */ - private $test; + private Typeoff $test; protected function setUp(): void { - $this->test = new \Stub\Typeoff(); + $this->test = new Typeoff(); } - public function testNativeString() + public function testNativeString(): void { $this->assertFalse($this->test->testNativeStringFalse()); $this->assertTrue($this->test->testNativeStringTrue()); } - public function testNativeInt() + public function testNativeInt(): void { $this->assertFalse($this->test->testNativeIntFalse()); $this->assertTrue($this->test->testNativeIntTrue()); } - public function testNativeDouble() + public function testNativeDouble(): void { $this->assertTrue($this->test->testNativeDoubleTrue()); } - public function testNativeBool() + public function testNativeBool(): void { $this->assertFalse($this->test->testNativeBoolFalse()); $this->assertTrue($this->test->testNativeBoolTrue()); $this->assertFalse($this->test->testNotBoolTrue()); } - public function testArray() + public function testArray(): void { $this->assertFalse($this->test->testArrayFalse()); $this->assertTrue($this->test->testArrayTrue()); } - public function testClassProperty() + public function testClassProperty(): void { $this->assertTrue($this->test->testClassPropertyAccess()); } - public function testCallable() + public function testCallable(): void { $callback = function () { }; @@ -66,7 +68,7 @@ public function testCallable() $this->assertFalse($this->test->testCallableTypeOf(true)); } - public function testUnknown() + public function testUnknown(): void { $this->assertSame('string', $this->test->testUnknownTypeOf('test')); $this->assertSame('integer', $this->test->testUnknownTypeOf(5)); diff --git a/tests/Extension/UnsetTest.php b/tests/Extension/UnsetTest.php index 6a8ab83fef..f448537875 100644 --- a/tests/Extension/UnsetTest.php +++ b/tests/Extension/UnsetTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; @@ -14,28 +16,26 @@ use PHPUnit\Framework\TestCase; use Stub\Unsettest as UnsetTestExt; -class UnsetTest extends TestCase +final class UnsetTest extends TestCase { - /** @var UnsetTestExt */ - private $test; + private UnsetTestExt $test; protected function setUp(): void { $this->test = new UnsetTestExt(); } - public function testUnsetFromArray() + public function testUnsetFromArray(): void { $testVar = [1, 2, 3, 4, 5, 6]; + $this->assertSame([1 => 2, 3, 4, 5, 6], $this->test->testUnsetFromArray($testVar)); $this->assertSame([1 => 2, 3, 4, 5, 6], $this->test->testUnsetFromArrayByIndexVar($testVar, 0)); - $this->assertSame(['foo' => 'bar'], $this->test->testUnsetTypedArray(['foo' => 'bar', 'bar' => 'foo'], 'bar')); } - public function xtestUnsetValueFromProperty() + public function xtestUnsetValueFromProperty(): void { - //@todo Zephir is not generating the correct code to make this work $testVar = [1, 2, 3, 4, 5, 6]; $this->assertFalse($this->test->has('testVar')); $this->test->addValueToProperty('testVar', $testVar); @@ -47,9 +47,8 @@ public function xtestUnsetValueFromProperty() $this->assertNull($this->test->getProperty()); } - public function xtestStdClassUnset() + public function xtestStdClassUnset(): void { - //@todo Zephir is not generating the correct code to make this work $equalsStdClass = new \StdClass(); $equalsStdClass->property1 = 12345; $equalsStdClass->property3 = 12345; diff --git a/tests/Extension/VarsTest.php b/tests/Extension/VarsTest.php index fb439b8dcd..61df81ff96 100644 --- a/tests/Extension/VarsTest.php +++ b/tests/Extension/VarsTest.php @@ -1,24 +1,27 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Extension; use PHPUnit\Framework\TestCase; +use Stub\Vars; -class VarsTest extends TestCase +final class VarsTest extends TestCase { /** * Test var_dump function (array and string). */ - public function testVarDumpArrayAndString() + public function testVarDumpArrayAndString(): void { $this->setOutputCallback( function ($output) { @@ -35,30 +38,28 @@ function ($output) { 'string(5)"hello"' ); - $test = new \Stub\Vars(); - + $test = new Vars(); $test->testVarDump(); } /** * Test var_dump function with two params. */ - public function testVarDumpWithTwoParams() + public function testVarDumpWithTwoParams(): void { $this->expectOutputString( 'float(3.1)'."\n". 'bool(true)'."\n" ); - $test = new \Stub\Vars(); - + $test = new Vars(); $test->testVarDump2param(3.1, true); } /** * Test var_dump function with three params. */ - public function testVarDumpWithThreeParams() + public function testVarDumpWithThreeParams(): void { $this->setOutputCallback( function ($output) { @@ -72,12 +73,11 @@ function ($output) { 'array(3){[0]=>int(1)[1]=>int(2)[2]=>int(3)}' ); - $test = new \Stub\Vars(); - + $test = new Vars(); $test->testVarDump3param(3.1, true, [1, 2, 3]); } - public function testVarExport() + public function testVarExport(): void { $this->setOutputCallback( function ($output) { @@ -89,13 +89,13 @@ function ($output) { "array(0=>1,1=>'world',2=>false,)'hello'" ); - $test = new \Stub\Vars(); + $test = new Vars(); $this->assertSame($test->testVarExport(), "'hello'"); } - public function test88Issue() + public function test88Issue(): void { - $test = new \Stub\Vars(); + $test = new Vars(); $this->expectOutputString( 'string(3) "foo"'."\n". @@ -106,22 +106,21 @@ public function test88Issue() ); $test->test88Issue('foo', 'bar'); - $test->test88IssueParam2InitString('foo', 'bar'); } - public function testVarDumpAndCountOptimizer() + public function testVarDumpAndCountOptimizer(): void { $this->expectOutputString( 'int(5)'."\n". '5' ); - $test = new \Stub\Vars(); + $test = new Vars(); $test->testCountOptimizerVarDumpAndExport([1, 2, 3, 4, 5]); } - public function testArrayTypeVarDumpAndExport() + public function testArrayTypeVarDumpAndExport(): void { $this->setOutputCallback( function ($output) { @@ -134,57 +133,53 @@ function ($output) { 'array(0=>1,1=>2,2=>3,)' ); - $test = new \Stub\Vars(); + $test = new Vars(); $test->testArrayTypeVarDumpAndExport([1, 2, 3]); } - public function testIntVarDump() + public function testIntVarDump(): void { $this->expectOutputString( 'int(1)'."\n". '1' ); - $test = new \Stub\Vars(); + $test = new Vars(); $test->testIntVarDump(); } - public function testDoubleVarDump() + public function testDoubleVarDump(): void { - if (\PHP_VERSION_ID < 70000) { - $this->expectOutputString( - 'float(1)'."\n". - '1' - ); - } else { - $this->expectOutputString( - 'float(1)'."\n". - '1.0' - ); - } - - $test = new \Stub\Vars(); + $this->expectOutputString( + 'float(1)'."\n". + '1.0' + ); + + $test = new Vars(); $test->testDoubleVarDump(); } - public function testBoolVarDump() + public function testBoolVarDump(): void { $this->expectOutputString( 'bool(true)'."\n". 'true' ); - $test = new \Stub\Vars(); + $test = new Vars(); $test->testBoolVarDump(); } - public function testGetDefinedVars() + public function testGetDefinedVars(): void { - $test = new \Stub\Vars(); - // get_defined_vars() does NOT work in C (and hence Zephir) functions - // It will return variables of the most recent userland function - // down the call stack. - // In this case, all local variables of this method will be returned + $test = new Vars(); + + /** + * get_defined_vars() does NOT work in C (and hence Zephir) functions + * It will return variables of the most recent userland function + * down the call stack. + * In this case, all local variables of this method will be returned + */ $this->assertEquals(['test' => $test], $test->testGetDefinedVars()); } } diff --git a/tests/Zephir/AliasManagerTest.php b/tests/Zephir/AliasManagerTest.php index 1181d0b066..8b1325cb8d 100644 --- a/tests/Zephir/AliasManagerTest.php +++ b/tests/Zephir/AliasManagerTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; @@ -14,10 +16,9 @@ use PHPUnit\Framework\TestCase; use Zephir\AliasManager; -class AliasManagerTest extends TestCase +final class AliasManagerTest extends TestCase { - /** @var \Zephir\AliasManager */ - private $testAliasMgr; + private AliasManager $testAliasMgr; protected function setUp(): void { @@ -29,7 +30,6 @@ private function injectExpectedResult(array $expected): array $testDataProvider = $this->baseTestSuiteProvider(); $index = 0; - foreach ($testDataProvider as $testName => $testSuite) { $testDataProvider[$testName][] = $expected[$index++]; } @@ -88,8 +88,11 @@ public function aliasProvider(): array /** * @dataProvider aliasProvider + * + * @param array $useStatements + * @param array $expected */ - public function testShouldProperAddStatements(array $useStatements, array $expected) + public function testShouldProperAddStatements(array $useStatements, array $expected): void { $this->testAliasMgr->add([ 'aliases' => [$useStatements], @@ -116,8 +119,11 @@ public function statementProvider(): array /** * @dataProvider statementProvider + * + * @param array $useStatements + * @param bool $expected */ - public function testShouldCheckAliasedStatement(array $useStatements, bool $expected) + public function testShouldCheckAliasedStatement(array $useStatements, bool $expected): void { $this->testAliasMgr->add([ 'aliases' => [$useStatements], @@ -146,8 +152,11 @@ public function classNameDataProvider(): array /** * @dataProvider classNameDataProvider + * + * @param array $useStatements + * @param string $expected */ - public function testShouldGetAliasForClassName(array $useStatements, string $expected) + public function testShouldGetAliasForClassName(array $useStatements, string $expected): void { $this->testAliasMgr->add([ 'aliases' => [$useStatements], @@ -158,7 +167,7 @@ public function testShouldGetAliasForClassName(array $useStatements, string $exp $this->assertSame($expected, $this->testAliasMgr->getAliasForClassName($className)); } - public function testShouldCheckIfAliasPresentForClass() + public function testShouldCheckIfAliasPresentForClass(): void { $this->testAliasMgr->add([ 'aliases' => [ diff --git a/tests/Zephir/Backends/ZendEngine3/BackendTest.php b/tests/Zephir/Backends/ZendEngine3/BackendTest.php index 3ffa6441d7..41b8b6fd29 100644 --- a/tests/Zephir/Backends/ZendEngine3/BackendTest.php +++ b/tests/Zephir/Backends/ZendEngine3/BackendTest.php @@ -1,6 +1,8 @@ @@ -17,9 +19,9 @@ use Zephir\Config; use Zephir\Variable; -class BackendTest extends TestCase +final class BackendTest extends TestCase { - public function stringDataProvider() + public function stringDataProvider(): array { return [ 'regexp1' => ['/(\w+)\s*=\s*(\[[^\]]*\]|\"[^\"]*\"|[^,)]*)\s*(?:,|$)/', '/(\\w+)\\s*=\\s*(\\[[^\\]]*\\]|\"[^\"]*\"|[^,)]*)\\s*(?:,|$)/'], @@ -33,8 +35,11 @@ public function stringDataProvider() /** * @dataProvider stringDataProvider + * + * @param string $testString + * @param string $expectedString */ - public function testShouldEscapeStringWithRegexp(string $testString, string $expectedString) + public function testShouldEscapeStringWithRegexp(string $testString, string $expectedString): void { $backend = new Backend(new Config(), null, null); $variable = new Variable('variable', 'name'); diff --git a/tests/Zephir/CompilerFile/CheckDependenciesTest.php b/tests/Zephir/CompilerFile/CheckDependenciesTest.php index 4f45af695c..5b3ed38953 100644 --- a/tests/Zephir/CompilerFile/CheckDependenciesTest.php +++ b/tests/Zephir/CompilerFile/CheckDependenciesTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test\CompilerFile; @@ -19,9 +21,9 @@ use Zephir\FileSystem\FileSystemInterface; use Zephir\Test\KernelTestCase; -class CheckDependenciesTest extends KernelTestCase +final class CheckDependenciesTest extends KernelTestCase { - public function testExtendsClassThatDoesNotExist() + public function testExtendsClassThatDoesNotExist(): void { self::bootKernel(['config_files' => [__DIR__.'/../../config.yml']]); diff --git a/tests/Zephir/CompilerFile/CheckPathSeparatorTest.php b/tests/Zephir/CompilerFile/CheckPathSeparatorTest.php new file mode 100644 index 0000000000..c5dd8fc521 --- /dev/null +++ b/tests/Zephir/CompilerFile/CheckPathSeparatorTest.php @@ -0,0 +1,27 @@ + + * + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. + */ + +namespace Zephir\Test\CompilerFile; + +use PHPUnit\Framework\TestCase; + +final class CheckPathSeparatorTest extends TestCase +{ + public function testExtendsClassThatDoesNotExist(): void + { + $configM4Path = realpath(__DIR__.'/../../../ext/config.m4'); + $configM4Contents = file_get_contents($configM4Path); + + $this->assertTrue(strpos($configM4Contents, 'stub/oo/abstractstatic.zep.c') !== false); + } +} diff --git a/tests/Zephir/ConfigExceptionTest.php b/tests/Zephir/ConfigExceptionTest.php index 186ddd703c..c1fe2096f7 100644 --- a/tests/Zephir/ConfigExceptionTest.php +++ b/tests/Zephir/ConfigExceptionTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; @@ -14,9 +16,9 @@ use PHPUnit\Framework\TestCase; use Zephir\ConfigException; -class ConfigExceptionTest extends TestCase +final class ConfigExceptionTest extends TestCase { - public function testConstruct() + public function testConstruct(): void { $configException = new ConfigException('foo', 25); $this->assertSame($configException->getCode(), 25); diff --git a/tests/Zephir/ConfigTest.php b/tests/Zephir/ConfigTest.php index 83c94a4d27..153784a70a 100644 --- a/tests/Zephir/ConfigTest.php +++ b/tests/Zephir/ConfigTest.php @@ -1,30 +1,32 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; use PHPUnit\Framework\TestCase; use Zephir\Config; +use function Zephir\is_windows; -class ConfigTest extends TestCase +final class ConfigTest extends TestCase { /** * Common directory. * * @var string */ - private $pwd; + private string $pwd; - /** @var Config */ - private $config; + private Config $config; protected function setUp(): void { @@ -45,7 +47,7 @@ protected function tearDown(): void /** * Clean config.json file into tmp dir. */ - private function cleanTmpConfigFile() + private function cleanTmpConfigFile(): void { /* clean config.json into tmp dir */ $tmpConfigFile = sys_get_temp_dir().\DIRECTORY_SEPARATOR.'config.json'; @@ -76,12 +78,12 @@ private function stubsBanner(): string /** * Test when we have a bad config.json file. - * - * @expectedException \Zephir\Exception - * @expectedExceptionMessage The config.json file is invalid: Syntax error, malformed JSON */ - public function testConstructWithBadConfigFile() + public function testConstructWithBadConfigFile(): void { + $this->expectException(\Zephir\Exception::class); + $this->expectExceptionMessage('The config.json file is invalid: Syntax error, malformed JSON'); + chdir(\constant('ZEPHIRPATH').'/tests/fixtures/badconfig'); new Config(); } @@ -124,8 +126,10 @@ public function setConfigProvider(): array /** * @dataProvider setConfigProvider + * @param array $test + * @param mixed $expected */ - public function testShouldSetConfigParams(array $test, $expected) + public function testShouldSetConfigParams(array $test, $expected): void { list($key, $value, $namespace) = $test; $this->config->set($key, $value, $namespace); @@ -157,9 +161,17 @@ public function defaultConfigProvider(): array /** * @dataProvider defaultConfigProvider + * + * @param mixed $namespace + * @param string $key + * @param mixed $expected */ public function testShouldGetDefaultConfigParams($namespace, string $key, $expected) { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $actual = $this->config->get($key, $namespace); $this->assertSame($expected, $actual); @@ -183,15 +195,18 @@ public function offsetConfigProvider(): array /** * @dataProvider offsetConfigProvider + * + * @param array $key + * @param array $expected */ - public function testShouldGetWithOffsetConfigParams(array $key, array $expected) + public function testShouldGetWithOffsetConfigParams(array $key, array $expected): void { $actual = $this->config->offsetGet($key); $this->assertSame($expected, $actual); } - public function testShouldUnsetConfigParams() + public function testShouldUnsetConfigParams(): void { $initials = $this->config->get('test_setting_1', 'globals'); @@ -211,15 +226,19 @@ public function testShouldUnsetConfigParams() $this->assertNull($actual); } - public function testShouldGetBannerFromConfig() + public function testShouldGetBannerFromConfig(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $this->assertSame($this->stubsBanner(), $this->config->get('banner', 'stubs')); unset($this->config['stubs']); $this->assertNull($this->config->get('banner', 'stubs')); } - public function testShouldSaveConfig() + public function testShouldSaveConfig(): void { chdir(sys_get_temp_dir()); @@ -228,7 +247,7 @@ public function testShouldSaveConfig() $configJson = json_decode(file_get_contents('config.json'), true); - $this->assertInternalType('array', $configJson); + $this->assertIsArray($configJson); $this->assertSame($configJson['name'], 'foo'); $this->cleanTmpConfigFile(); diff --git a/tests/Zephir/Detectors/ReadDetectorTest.php b/tests/Zephir/Detectors/ReadDetectorTest.php index 6b6d209d36..4b35b86137 100644 --- a/tests/Zephir/Detectors/ReadDetectorTest.php +++ b/tests/Zephir/Detectors/ReadDetectorTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test\Detectors; @@ -14,7 +16,7 @@ use PHPUnit\Framework\TestCase; use Zephir\Detectors\ReadDetector; -class ReadDetectorTest extends TestCase +final class ReadDetectorTest extends TestCase { /** * @dataProvider variableProvider @@ -23,7 +25,7 @@ class ReadDetectorTest extends TestCase * @param string $variable * @param array $expression */ - public function testShouldDetectsIfVariableIsUsedInGivenExpressionContext(bool $expected, string $variable, array $expression) + public function testShouldDetectsIfVariableIsUsedInGivenExpressionContext(bool $expected, string $variable, array $expression): void { $detector = new ReadDetector(); diff --git a/tests/Zephir/Documentation/Annotation/LinkTest.php b/tests/Zephir/Documentation/Annotation/LinkTest.php index cde8bf6ebc..4af46267bc 100644 --- a/tests/Zephir/Documentation/Annotation/LinkTest.php +++ b/tests/Zephir/Documentation/Annotation/LinkTest.php @@ -1,24 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +namespace Zephir\Test\Documentation\Annotation; use PHPUnit\Framework\TestCase; use Zephir\Documentation\Annotation\Link; -class LinkTest extends TestCase +final class LinkTest extends TestCase { - const LINK_NAME = 'link'; + private const LINK_NAME = 'link'; - public function testShouldGetLink() + public function testShouldGetLink(): void { $link = new Link(self::LINK_NAME, ' sample with leading space '); @@ -33,20 +35,20 @@ public function testShouldGetLink() $this->assertSame('another link', $link->getString()); } - public function testShouldGetUri() + public function testShouldGetUri(): void { - $testString = 'https://github.com/phalcon/zephir Zephir SRC'; + $testString = 'https://github.com/zephir-lang/zephir Zephir SRC'; $link = new Link(self::LINK_NAME, $testString); $this->assertSame(self::LINK_NAME, $link->getName()); $this->assertSame($testString, $link->getString()); - $this->assertSame('https://github.com/phalcon/zephir', $link->getUri()); + $this->assertSame('https://github.com/zephir-lang/zephir', $link->getUri()); } - public function testShouldGetLinkText() + public function testShouldGetLinkText(): void { - $testString = 'https://github.com/phalcon/zephir Zephir SRC'; + $testString = 'https://github.com/zephir-lang/zephir Zephir SRC'; $link = new Link(self::LINK_NAME, $testString); diff --git a/tests/Zephir/Documentation/Annotation/ReturnAnnotationTest.php b/tests/Zephir/Documentation/Annotation/ReturnAnnotationTest.php index 0692a59055..a14551f8d3 100644 --- a/tests/Zephir/Documentation/Annotation/ReturnAnnotationTest.php +++ b/tests/Zephir/Documentation/Annotation/ReturnAnnotationTest.php @@ -1,24 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +namespace Zephir\Test\Documentation\Annotation; use PHPUnit\Framework\TestCase; use Zephir\Documentation\Annotation\ReturnAnnotation; -class ReturnAnnotationTest extends TestCase +final class ReturnAnnotationTest extends TestCase { - const ANNOTATION_NAME = 'return'; + private const ANNOTATION_NAME = 'return'; - public function testShouldGetReturnAnnotation() + public function testShouldGetReturnAnnotation(): void { $link = new ReturnAnnotation(self::ANNOTATION_NAME, ' sample with leading space '); @@ -33,10 +35,9 @@ public function testShouldGetReturnAnnotation() $this->assertSame('array - Example description', $link->getString()); } - public function testShouldGetReturnType() + public function testShouldGetReturnType(): void { $testString = 'Zephir\EventInterface - Sample Event'; - $link = new ReturnAnnotation(self::ANNOTATION_NAME, $testString); $this->assertSame(self::ANNOTATION_NAME, $link->getName()); @@ -44,10 +45,9 @@ public function testShouldGetReturnType() $this->assertSame('Zephir\EventInterface', $link->getReturnType()); } - public function testShouldGetLinkText() + public function testShouldGetLinkText(): void { $testString = 'Zephir\EventInterface - Sample Event'; - $link = new ReturnAnnotation(self::ANNOTATION_NAME, $testString); $this->assertSame(self::ANNOTATION_NAME, $link->getName()); diff --git a/tests/Zephir/Documentation/Annotation/SeeTest.php b/tests/Zephir/Documentation/Annotation/SeeTest.php index 13213be4fc..0d52f1b1c6 100644 --- a/tests/Zephir/Documentation/Annotation/SeeTest.php +++ b/tests/Zephir/Documentation/Annotation/SeeTest.php @@ -1,24 +1,26 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +namespace Zephir\Test\Documentation\Annotation; use PHPUnit\Framework\TestCase; use Zephir\Documentation\Annotation\See; -class SeeTest extends TestCase +final class SeeTest extends TestCase { - const SEE_NAME = 'see'; + private const SEE_NAME = 'see'; - public function testShouldGetLink() + public function testShouldGetLink(): void { $link = new See(self::SEE_NAME, ' sample with leading space '); @@ -33,20 +35,20 @@ public function testShouldGetLink() $this->assertSame('another link', $link->getString()); } - public function testShouldGetResource() + public function testShouldGetResource(): void { - $testString = 'https://github.com/phalcon/zephir Zephir SRC'; + $testString = 'https://github.com/zephir-lang/zephir Zephir SRC'; $link = new See(self::SEE_NAME, $testString); $this->assertSame(self::SEE_NAME, $link->getName()); $this->assertSame($testString, $link->getString()); - $this->assertSame('https://github.com/phalcon/zephir', $link->getResource()); + $this->assertSame('https://github.com/zephir-lang/zephir', $link->getResource()); } - public function testShouldGetText() + public function testShouldGetText(): void { - $testString = 'https://github.com/phalcon/zephir Zephir SRC'; + $testString = 'https://github.com/zephir-lang/zephir Zephir SRC'; $link = new See(self::SEE_NAME, $testString); diff --git a/tests/Zephir/Documentation/AnnotationTest.php b/tests/Zephir/Documentation/AnnotationTest.php index cf4fabdd23..3870272d03 100644 --- a/tests/Zephir/Documentation/AnnotationTest.php +++ b/tests/Zephir/Documentation/AnnotationTest.php @@ -1,22 +1,24 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +namespace Zephir\Test\Documentation; use PHPUnit\Framework\TestCase; use Zephir\Documentation\Annotation; -class AnnotationTest extends TestCase +final class AnnotationTest extends TestCase { - public function testShouldGetAnnotation() + public function testShouldGetAnnotation(): void { $annotation = new Annotation('test annotation', ' sample with leading space '); diff --git a/tests/Zephir/Documentation/DocblockParserTest.php b/tests/Zephir/Documentation/DocblockParserTest.php index 6895b7bce2..c827b6619e 100644 --- a/tests/Zephir/Documentation/DocblockParserTest.php +++ b/tests/Zephir/Documentation/DocblockParserTest.php @@ -1,15 +1,17 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +declare(strict_types=1); + +namespace Zephir\Test\Documentation; use PHPUnit\Framework\TestCase; use Zephir\Documentation\Annotation; @@ -19,18 +21,24 @@ use Zephir\Documentation\Docblock; use Zephir\Documentation\DocblockParser; -class DocblockParserTest extends TestCase +use function Zephir\is_windows; + +final class DocblockParserTest extends TestCase { - public function testShouldParseDocblockFromString() + public function testShouldParseDocblockFromString(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $test = <<getLinkText(); - $see = new See('see', 'https://github.com/phalcon/zephir/README.md - Zephir readme'); + $see = new See('see', 'https://github.com/zephir-lang/zephir/README.md - Zephir readme'); $see->getResource(); $return = new ReturnAnnotation('return', 'Docblock the parsed docblock'); @@ -63,9 +71,10 @@ public function testShouldParseDocblockFromString() $this->assertSame($expected->getSummary(), $actual->getSummary()); $this->assertSame($expected->getDescription(), $actual->getDescription()); - $this->assertArraySubset($expected->getAnnotationsByType('link'), $actual->getAnnotationsByType('link')); - $this->assertArraySubset($expected->getAnnotationsByType('see'), $actual->getAnnotationsByType('see')); - $this->assertArraySubset($expected->getAnnotationsByType('param'), $actual->getAnnotationsByType('param')); - $this->assertArraySubset($expected->getAnnotationsByType('return'), $actual->getAnnotationsByType('return')); + + $this->assertEquals($expected->getAnnotationsByType('link'), $actual->getAnnotationsByType('link')); + $this->assertEquals($expected->getAnnotationsByType('see'), $actual->getAnnotationsByType('see')); + $this->assertEquals($expected->getAnnotationsByType('param'), $actual->getAnnotationsByType('param')); + $this->assertEquals($expected->getAnnotationsByType('return'), $actual->getAnnotationsByType('return')); } } diff --git a/tests/Zephir/Documentation/DocblockTest.php b/tests/Zephir/Documentation/DocblockTest.php index c06a108739..d29aa2f8fe 100644 --- a/tests/Zephir/Documentation/DocblockTest.php +++ b/tests/Zephir/Documentation/DocblockTest.php @@ -1,33 +1,34 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +namespace Zephir\Test\Documentation; use PHPUnit\Framework\TestCase; use Zephir\Documentation\Annotation; use Zephir\Documentation\Docblock; -class DocblockTest extends TestCase +final class DocblockTest extends TestCase { - /** @var Docblock */ - private $docblock; + private Docblock $docblock; protected function setUp(): void { $this->docblock = new Docblock(); } - public function testShouldGetAllProperties() + public function testShouldGetAllProperties(): void { - $annotation1 = new Annotation('see', 'https://github.com/phalcon/zephir Zephir homepage'); + $annotation1 = new Annotation('see', 'https://github.com/zephir-lang/zephir Zephir homepage'); $annotation2 = new Annotation('link', 'https://github.com/phalcon/cphalcon Phalcon homepage'); $this->docblock->setAnnotations([ @@ -37,12 +38,12 @@ public function testShouldGetAllProperties() $this->docblock->setDescription('Example description for test docblock.'); $this->docblock->setSummary('See LICENSE.txt for more details.'); - $this->assertArraySubset( + $this->assertSame( + $this->docblock->getAnnotations(), [ $annotation1, $annotation2, - ], - $this->docblock->getAnnotations() + ] ); $this->assertSame([$annotation1], $this->docblock->getAnnotationsByType('see')); @@ -55,9 +56,9 @@ public function testShouldGetAllProperties() $this->assertSame('See LICENSE.txt for more details.', $this->docblock->getSummary()); } - public function testShouldAddAnnotations() + public function testShouldAddAnnotations(): void { - $annotation1 = new Annotation('see', 'https://github.com/phalcon/zephir Zephir homepage'); + $annotation1 = new Annotation('see', 'https://github.com/zephir-lang/zephir Zephir homepage'); $annotation2 = new Annotation('link', 'https://github.com/phalcon/cphalcon Phalcon homepage'); $annotation3 = new Annotation('readme', 'https://github.com/zephir/README.md Readme'); @@ -71,7 +72,7 @@ public function testShouldAddAnnotations() $this->assertCount(3, $this->docblock->getAnnotations()); } - public function testShouldGenerateDocblock() + public function testShouldGenerateDocblock(): void { $expected = <<docblock->setDescription('Example description block.'); $this->docblock->setSummary('Example summary block.'); $this->docblock->setAnnotations([ - new Annotation('see', 'https://github.com/phalcon/zephir Zephir homepage'), + new Annotation('see', 'https://github.com/zephir-lang/zephir Zephir homepage'), ]); $this->docblock->addAnnotation( new Annotation('return', 'void') diff --git a/tests/Zephir/FunctionLike/ReturnType/CastHintTest.php b/tests/Zephir/FunctionLike/ReturnType/CastHintTest.php index 655affb4d3..4df7cd526d 100644 --- a/tests/Zephir/FunctionLike/ReturnType/CastHintTest.php +++ b/tests/Zephir/FunctionLike/ReturnType/CastHintTest.php @@ -1,6 +1,8 @@ @@ -16,9 +18,9 @@ use Zephir\FunctionLike\ReturnType\TypeInterface; use Zephir\Types; -class CastHintTest extends TestCase +final class CastHintTest extends TestCase { - public function testShouldReturnType() + public function testShouldReturnType(): void { $type = new CastHint(Types::T_OBJECT, 'Class1'); $this->assertEquals(TypeInterface::TYPE_PARAMETER, $type->getType()); @@ -30,7 +32,7 @@ public function testShouldReturnType() $this->assertEquals('return-type-custom', $type->getType()); } - public function testShouldReturnDataType() + public function testShouldReturnDataType(): void { $type = new CastHint(Types::T_OBJECT, 'Class1'); $this->assertEquals(Types::T_OBJECT, $type->getDataType()); @@ -39,7 +41,7 @@ public function testShouldReturnDataType() $this->assertEquals(Types::T_UNDEFINED, $type->getDataType()); } - public function testShouldReturnValue() + public function testShouldReturnValue(): void { $type = new CastHint(Types::T_OBJECT, 'Class1'); $this->assertEquals('Class1', $type->getValue()); @@ -48,7 +50,7 @@ public function testShouldReturnValue() $this->assertEquals('\A\Namespaced\Class\Foo', $type->getValue()); } - public function testShouldAlwaysBeNotMandatory() + public function testShouldAlwaysBeNotMandatory(): void { $type = new CastHint(Types::T_OBJECT, 'Class1'); $this->assertFalse($type->isMandatory()); @@ -57,7 +59,7 @@ public function testShouldAlwaysBeNotMandatory() $this->assertFalse($type->isMandatory()); } - public function testShouldDetectCollectionNature() + public function testShouldDetectCollectionNature(): void { $type = new CastHint(Types::T_OBJECT, 'Class1'); $this->assertFalse($type->isCollection()); @@ -72,7 +74,7 @@ public function testShouldDetectCollectionNature() $this->assertFalse($type->isCollection()); } - public function testShouldAlwaysBeRealType() + public function testShouldAlwaysBeRealType(): void { $type = new CastHint(Types::T_OBJECT, 'Class1'); $this->assertFalse($type->isRealType()); diff --git a/tests/Zephir/FunctionLike/ReturnType/CollectionTest.php b/tests/Zephir/FunctionLike/ReturnType/CollectionTest.php index f3fa2dbc29..f68247d3a8 100644 --- a/tests/Zephir/FunctionLike/ReturnType/CollectionTest.php +++ b/tests/Zephir/FunctionLike/ReturnType/CollectionTest.php @@ -1,6 +1,8 @@ @@ -12,16 +14,17 @@ namespace Zephir\Test\FunctionLike\ReturnType; use PHPUnit\Framework\TestCase; +use Zephir\Exception\InvalidArgumentException; use Zephir\FunctionLike\ReturnType\CastHint; use Zephir\FunctionLike\ReturnType\Collection; use Zephir\FunctionLike\ReturnType\RealType; use Zephir\Types; -class CollectionTest extends TestCase +final class CollectionTest extends TestCase { - public function testShouldThrowExceptionOnInvalidAttachedObject() + public function testShouldThrowExceptionOnInvalidAttachedObject(): void { - $this->expectException(\Zephir\Exception\InvalidArgumentException::class); + $this->expectException(InvalidArgumentException::class); $this->expectExceptionMessage( 'Expecting an instance of Zephir\FunctionLike\ReturnType\TypeInterface, got instance of stdClass' ); @@ -30,17 +33,18 @@ public function testShouldThrowExceptionOnInvalidAttachedObject() $collection->attach(new \stdClass()); } - /** - * @expectedException \Zephir\Exception\InvalidArgumentException - * @expectedExceptionMessage Expecting an instance of Zephir\FunctionLike\ReturnType\TypeInterface, got array - */ - public function testShouldThrowExceptionOnInvalidAttachedValue() + public function testShouldThrowExceptionOnInvalidAttachedValue(): void { + $this->expectException(InvalidArgumentException::class); + $this->expectExceptionMessage( + 'Expecting an instance of Zephir\FunctionLike\ReturnType\TypeInterface, got array' + ); + $collection = new Collection(); $collection->attach([]); } - public function testShouldAttachTypes() + public function testShouldAttachTypes(): void { $collection = new Collection(); @@ -63,7 +67,7 @@ public function testShouldAttachTypes() $this->assertCount(4, $collection); } - public function testShouldDetectOnlyVoid() + public function testShouldDetectOnlyVoid(): void { $collection = new Collection(); @@ -76,7 +80,7 @@ public function testShouldDetectOnlyVoid() $this->assertFalse($collection->onlyVoid()); } - public function testShouldCheckIfTheCollectionHasRealTypeOrCastHints() + public function testShouldCheckIfTheCollectionHasRealTypeOrCastHints(): void { $collection = new Collection(); $this->assertFalse($collection->hasReturnTypes()); @@ -92,7 +96,7 @@ public function testShouldCheckIfTheCollectionHasRealTypeOrCastHints() $this->assertTrue($collection->hasReturnTypes()); } - public function testShouldDetectWhetherReturnTypesAreNullCompatible() + public function testShouldDetectWhetherReturnTypesAreNullCompatible(): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesNullCompatible()); @@ -112,7 +116,7 @@ public function testShouldDetectWhetherReturnTypesAreNullCompatible() $this->assertFalse($collection->areReturnTypesNullCompatible()); } - public function testShouldDetectWhetherReturnTypesAreSpecial() + public function testShouldDetectWhetherReturnTypesAreSpecial(): void { $collection = new Collection(); $this->assertFalse($collection->onlySpecial()); @@ -143,7 +147,7 @@ public function testShouldDetectWhetherReturnTypesAreSpecial() * @param string $type * @param bool $expected */ - public function testShouldDetectWhetherReturnTypesAreIntCompatible(string $type, bool $expected) + public function testShouldDetectWhetherReturnTypesAreIntCompatible(string $type, bool $expected): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesIntCompatible()); @@ -155,7 +159,7 @@ public function testShouldDetectWhetherReturnTypesAreIntCompatible(string $type, $this->assertSame($expected, $collection->areReturnTypesIntCompatible()); } - public function testShouldDetectWhetherReturnTypesAreDoubleCompatible() + public function testShouldDetectWhetherReturnTypesAreDoubleCompatible(): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesDoubleCompatible()); @@ -175,7 +179,7 @@ public function testShouldDetectWhetherReturnTypesAreDoubleCompatible() $this->assertFalse($collection->areReturnTypesDoubleCompatible()); } - public function testShouldDetectWhetherReturnTypesAreBoolCompatible() + public function testShouldDetectWhetherReturnTypesAreBoolCompatible(): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesBoolCompatible()); @@ -201,7 +205,7 @@ public function testShouldDetectWhetherReturnTypesAreBoolCompatible() * @param string $type * @param bool $expected */ - public function testShouldDetectWhetherReturnTypesAreStringCompatible(string $type, bool $expected) + public function testShouldDetectWhetherReturnTypesAreStringCompatible(string $type, bool $expected): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesStringCompatible()); @@ -213,7 +217,7 @@ public function testShouldDetectWhetherReturnTypesAreStringCompatible(string $ty $this->assertSame($expected, $collection->areReturnTypesStringCompatible()); } - public function testShouldDetectWhetherReturnTypesAreArrayCompatible() + public function testShouldDetectWhetherReturnTypesAreArrayCompatible(): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesArrayCompatible()); @@ -246,7 +250,7 @@ public function testShouldDetectWhetherReturnTypesAreArrayCompatible() $this->assertFalse($collection->areReturnTypesArrayCompatible()); } - public function testShouldDetectWhetherReturnTypesAreObjectCompatible() + public function testShouldDetectWhetherReturnTypesAreObjectCompatible(): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesObjectCompatible()); @@ -270,7 +274,7 @@ public function testShouldDetectWhetherReturnTypesAreObjectCompatible() $this->assertFalse($collection->areReturnTypesObjectCompatible()); } - public function testShouldDetectWellKnownTypes() + public function testShouldDetectWellKnownTypes(): void { $collection = new Collection(); $this->assertFalse($collection->areReturnTypesWellKnown()); @@ -332,7 +336,7 @@ public function testShouldDetectWellKnownTypes() * * @param string $type */ - public function testShouldDetectCompatibleTypesForTrivialCases($type) + public function testShouldDetectCompatibleTypesForTrivialCases(string $type): void { $collection = new Collection(); $this->assertTrue($collection->areReturnTypesCompatible()); @@ -341,7 +345,7 @@ public function testShouldDetectCompatibleTypesForTrivialCases($type) $this->assertTrue($collection->areReturnTypesCompatible()); } - public function intCompatibleProvider() + public function intCompatibleProvider(): array { $expected = [ true, true, true, true, true, true, @@ -359,7 +363,7 @@ function ($type, $expected) { ); } - public function stringCompatibleProvider() + public function stringCompatibleProvider(): array { $expected = [ false, false, false, false, false, @@ -378,7 +382,7 @@ function ($type, $expected) { ); } - public function compatibleTypesProvider() + public function compatibleTypesProvider(): array { return [ 'int' => [Types::T_INT], @@ -406,7 +410,7 @@ public function compatibleTypesProvider() ]; } - public function testShouldDetectCompatibleTypesForObjectLike() + public function testShouldDetectCompatibleTypesForObjectLike(): void { $collection = new Collection(); @@ -417,7 +421,7 @@ public function testShouldDetectCompatibleTypesForObjectLike() $this->assertFalse($collection->areReturnTypesCompatible()); } - public function testShouldDetectCompatibleTypesForCollections() + public function testShouldDetectCompatibleTypesForCollections(): void { $collection = new Collection(); @@ -434,7 +438,7 @@ public function testShouldDetectCompatibleTypesForCollections() $this->assertFalse($collection->areReturnTypesCompatible()); } - public function testShouldDetectCompatibleTypesForIntegers() + public function testShouldDetectCompatibleTypesForIntegers(): void { $collection = new Collection(); @@ -451,7 +455,7 @@ public function testShouldDetectCompatibleTypesForIntegers() $this->assertFalse($collection->areReturnTypesCompatible()); } - public function testShouldDetectCompatibleTypesForBool() + public function testShouldDetectCompatibleTypesForBool(): void { $collection = new Collection(); @@ -462,7 +466,7 @@ public function testShouldDetectCompatibleTypesForBool() $this->assertFalse($collection->areReturnTypesCompatible()); } - public function testShouldDetectCompatibleTypesForString() + public function testShouldDetectCompatibleTypesForString(): void { $collection = new Collection(); @@ -475,7 +479,7 @@ public function testShouldDetectCompatibleTypesForString() $this->assertFalse($collection->areReturnTypesCompatible()); } - public function testShouldDetectCompatibleTypesForDouble() + public function testShouldDetectCompatibleTypesForDouble(): void { $collection = new Collection(); @@ -486,7 +490,7 @@ public function testShouldDetectCompatibleTypesForDouble() $this->assertFalse($collection->areReturnTypesCompatible()); } - public function testShouldDetectCompatibleTypesForKnownTypes() + public function testShouldDetectCompatibleTypesForKnownTypes(): void { $collection = new Collection(); @@ -527,7 +531,7 @@ public function testShouldDetectCompatibleTypesForKnownTypes() $this->assertTrue($collection->areReturnTypesCompatible()); } - public function testShouldGetOnlyRealTypes() + public function testShouldGetOnlyRealTypes(): void { $collection = new Collection(); $this->assertCount(0, $collection->getRealReturnTypes()); @@ -545,7 +549,7 @@ public function testShouldGetOnlyRealTypes() $this->assertCount(5, $collection->getRealReturnTypes()); } - public function testShouldGetOnlyCastHint() + public function testShouldGetOnlyCastHint(): void { $collection = new Collection(); $this->assertCount(0, $collection->getCastHintedReturnTypes()); diff --git a/tests/Zephir/FunctionLike/ReturnType/FactoryTest.php b/tests/Zephir/FunctionLike/ReturnType/FactoryTest.php index 26b8345124..86fe79124d 100644 --- a/tests/Zephir/FunctionLike/ReturnType/FactoryTest.php +++ b/tests/Zephir/FunctionLike/ReturnType/FactoryTest.php @@ -1,6 +1,8 @@ @@ -18,20 +20,20 @@ use Zephir\FunctionLike\ReturnType\TypeInterface; use Zephir\Types; -class FactoryTest extends TestCase +final class FactoryTest extends TestCase { /** * @dataProvider realTypeDataProvider * * @param array $ir */ - public function testShouldCreateRealType(array $ir) + public function testShouldCreateRealType(array $ir): void { $factory = new Factory(); $this->assertInstanceOf(RealType::class, $factory->create($ir)); } - public function realTypeDataProvider() + public function realTypeDataProvider(): array { return [ [ @@ -66,13 +68,13 @@ public function realTypeDataProvider() * * @param array $ir */ - public function testShouldCreateCastHint(array $ir) + public function testShouldCreateCastHint(array $ir): void { $factory = new Factory(); $this->assertInstanceOf(CastHint::class, $factory->create($ir)); } - public function castHintDataProvider() + public function castHintDataProvider(): array { return [ [ @@ -112,8 +114,7 @@ public function castHintDataProvider() ], [ [ - 'cast' => [ - ], + 'cast' => [], ], ], ]; diff --git a/tests/Zephir/FunctionLike/ReturnType/RealTypeTest.php b/tests/Zephir/FunctionLike/ReturnType/RealTypeTest.php index a112d2037c..f2dc8275c6 100644 --- a/tests/Zephir/FunctionLike/ReturnType/RealTypeTest.php +++ b/tests/Zephir/FunctionLike/ReturnType/RealTypeTest.php @@ -1,6 +1,8 @@ @@ -16,9 +18,9 @@ use Zephir\FunctionLike\ReturnType\TypeInterface; use Zephir\Types; -class RealTypeTest extends TestCase +final class RealTypeTest extends TestCase { - public function testShouldReturnType() + public function testShouldReturnType(): void { $type = new RealType(Types::T_STRING); $this->assertEquals(TypeInterface::TYPE_PARAMETER, $type->getType()); @@ -30,7 +32,7 @@ public function testShouldReturnType() $this->assertEquals('return-type-custom', $type->getType()); } - public function testShouldReturnMandatoryStatus() + public function testShouldReturnMandatoryStatus(): void { $type = new RealType(Types::T_STRING); $this->assertFalse($type->isMandatory()); @@ -42,13 +44,13 @@ public function testShouldReturnMandatoryStatus() $this->assertTrue($type->isMandatory()); } - public function testShouldAlwaysHaveNullableValue() + public function testShouldAlwaysHaveNullableValue(): void { $type = new RealType(Types::T_STRING); $this->assertNull($type->getValue()); } - public function testShouldAlwaysBeNotACollection() + public function testShouldAlwaysBeNotACollection(): void { $type = new RealType(Types::T_STRING); $this->assertFalse($type->isCollection()); @@ -57,7 +59,7 @@ public function testShouldAlwaysBeNotACollection() $this->assertFalse($type->isCollection()); } - public function testShouldReturnDataType() + public function testShouldReturnDataType(): void { $type = new RealType(Types::T_STRING); $this->assertEquals(Types::T_STRING, $type->getDataType()); @@ -69,7 +71,7 @@ public function testShouldReturnDataType() $this->assertEquals(Types::T_VOID, $type->getDataType()); } - public function testShouldAlwaysBeRealType() + public function testShouldAlwaysBeRealType(): void { $type = new RealType(Types::T_STRING); $this->assertTrue($type->isRealType()); diff --git a/tests/Zephir/HelpersTest.php b/tests/Zephir/HelpersTest.php index fb3fd87e57..928784b914 100644 --- a/tests/Zephir/HelpersTest.php +++ b/tests/Zephir/HelpersTest.php @@ -1,24 +1,27 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; use PHPUnit\Framework\TestCase; + use function Zephir\add_slashes; use function Zephir\camelize; use function Zephir\escape_class; -class HelpersTest extends TestCase +final class HelpersTest extends TestCase { - public function testShouldEscapeClassName() + public function testShouldEscapeClassName(): void { $classname = '\Bar\Foo'; $this->assertSame( @@ -27,7 +30,7 @@ public function testShouldEscapeClassName() ); } - public function testShouldCamelizeClassName() + public function testShouldCamelizeClassName(): void { $name = 'foo_Bar_Foo_bar'; $this->assertSame( @@ -67,8 +70,10 @@ public function cStringProvider(): array /** * @dataProvider cStringProvider + * @param string $testString + * @param string $expected */ - public function testShouldPrepareStringAsCString(string $testString, string $expected) + public function testShouldPrepareStringAsCString(string $testString, string $expected): void { $this->assertSame($expected, add_slashes($testString)); } diff --git a/tests/Zephir/KernelTestCase.php b/tests/Zephir/KernelTestCase.php index f66d68083c..8e06d606bc 100644 --- a/tests/Zephir/KernelTestCase.php +++ b/tests/Zephir/KernelTestCase.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; @@ -36,7 +38,7 @@ class KernelTestCase extends BaseTestCase * * @throws \RuntimeException */ - protected static function createKernel(array $options = []) + protected static function createKernel(array $options = []): KernelInterface { if (null === static::$class) { static::$class = static::getKernelClass(); @@ -79,7 +81,7 @@ protected static function createKernel(array $options = []) * * @param ContainerInterface $container */ - protected function muteOutput(ContainerInterface $container) + protected function muteOutput(ContainerInterface $container): void { try { $container->get(Config::class)->set('silent', true); diff --git a/tests/Zephir/Logger/Formatter/CompilerFormatterTest.php b/tests/Zephir/Logger/Formatter/CompilerFormatterTest.php index 5ae0bc4f3b..15def00c33 100644 --- a/tests/Zephir/Logger/Formatter/CompilerFormatterTest.php +++ b/tests/Zephir/Logger/Formatter/CompilerFormatterTest.php @@ -1,31 +1,34 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Test\Logger\Formatter; use PHPUnit\Framework\TestCase; use Zephir\Config; use Zephir\Logger\Formatter\CompilerFormatter; -class CompilerFormatterTest extends TestCase +use function Zephir\is_windows; + +final class CompilerFormatterTest extends TestCase { - /** @var Config */ - private $config; + private Config $config; protected function setUp(): void { $this->config = new Config(); } - public function testShouldBeQuietWhenConfigSilent() + public function testShouldBeQuietWhenConfigSilent(): void { $this->config->set('silent', true); $compilerFormatter = new CompilerFormatter($this->config); @@ -59,7 +62,7 @@ public function getWarningContext(): array ]; } - public function testShouldBeQuietForDisabledWarning() + public function testShouldBeQuietForDisabledWarning(): void { // deny to print warnings for this category $this->config->offsetSet(['warnings' => 'unused-variable-external'], false); @@ -68,8 +71,12 @@ public function testShouldBeQuietForDisabledWarning() $this->assertSame('', $compilerFormatter->format($this->getWarningContext())); } - public function testShouldFormatWarningForCategory() + public function testShouldFormatWarningForCategory(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + // allow to print warnings for this category $this->config->offsetSet(['warnings' => 'unused-variable-external'], true); $compilerFormatter = new CompilerFormatter($this->config); @@ -88,7 +95,7 @@ public function testShouldFormatWarningForCategory() $this->assertSame($expected, $compilerFormatter->format($testContext)); } - public function testShouldFormatWithStripInfoLevels() + public function testShouldFormatWithStripInfoLevels(): void { $this->config->offsetSet(['warnings' => 'unused-variable-external'], true); $compilerFormatter = new CompilerFormatter($this->config); diff --git a/tests/Zephir/Optimizers/FunctionCall/PregMatchOptimizerTest.php b/tests/Zephir/Optimizers/FunctionCall/PregMatchOptimizerTest.php index ab87067ac3..cda80e7caf 100644 --- a/tests/Zephir/Optimizers/FunctionCall/PregMatchOptimizerTest.php +++ b/tests/Zephir/Optimizers/FunctionCall/PregMatchOptimizerTest.php @@ -1,6 +1,8 @@ @@ -15,11 +17,12 @@ use PHPUnit\Framework\TestCase; use Zephir\Call; use Zephir\CompilationContext; +use Zephir\Exception\CompilerException; use Zephir\Optimizers\FunctionCall\PregMatchOptimizer; use Zephir\SymbolTable; use Zephir\Variable; -class PregMatchOptimizerTest extends TestCase +final class PregMatchOptimizerTest extends TestCase { /** @var Call|MockObject */ protected $callMock; @@ -42,12 +45,13 @@ protected function setUp(): void } /** - * @expectedException \Zephir\Exception\CompilerException - * @expectedExceptionMessage preg_match() expects at least 2 parameters, 0 given - * @issue https://github.com/phalcon/zephir/issues/1697 + * @issue https://github.com/zephir-lang/zephir/issues/1697 */ - public function testShouldThrowExceptionIfNoParametersGiven() + public function testShouldThrowExceptionIfNoParametersGiven(): void { + $this->expectException(CompilerException::class); + $this->expectExceptionMessage('preg_match() expects at least 2 parameters, 0 given'); + $optimizer = new PregMatchOptimizer(); $optimizer->optimize( @@ -58,12 +62,13 @@ public function testShouldThrowExceptionIfNoParametersGiven() } /** - * @expectedException \Zephir\Exception\CompilerException - * @expectedExceptionMessage preg_match() expects at least 2 parameters, 0 given - * @issue https://github.com/phalcon/zephir/issues/1697 + * @issue https://github.com/zephir-lang/zephir/issues/1697 */ - public function testShouldThrowExceptionIfParametersLessThanRequired() + public function testShouldThrowExceptionIfParametersLessThanRequired(): void { + $this->expectException(CompilerException::class); + $this->expectExceptionMessage('preg_match() expects at least 2 parameters, 0 given'); + $optimizer = new PregMatchOptimizer(); $optimizer->optimize( @@ -74,12 +79,13 @@ public function testShouldThrowExceptionIfParametersLessThanRequired() } /** - * @expectedException \Zephir\Exception\CompilerException - * @expectedExceptionMessage preg_match() expects at most 5 parameters, 7 given - * @issue https://github.com/phalcon/zephir/issues/1697 + * @issue https://github.com/zephir-lang/zephir/issues/1697 */ - public function testShouldThrowExceptionIfParametersMoreThanRequired() + public function testShouldThrowExceptionIfParametersMoreThanRequired(): void { + $this->expectException(CompilerException::class); + $this->expectExceptionMessage('preg_match() expects at most 5 parameters, 7 given'); + $optimizer = new PregMatchOptimizer(); $optimizer->optimize( @@ -90,12 +96,13 @@ public function testShouldThrowExceptionIfParametersMoreThanRequired() } /** - * @expectedException \Zephir\Exception\CompilerException - * @expectedExceptionMessage Only variables can be passed by reference - * @issue https://github.com/phalcon/zephir/issues/1697 + * @issue https://github.com/zephir-lang/zephir/issues/1697 */ - public function testShouldThrowExceptionIfMatchedIsNotVariable() + public function testShouldThrowExceptionIfMatchedIsNotVariable(): void { + $this->expectException(CompilerException::class); + $this->expectExceptionMessage('Only variables can be passed by reference'); + $optimizer = new PregMatchOptimizer(); $expression = [ @@ -114,14 +121,13 @@ public function testShouldThrowExceptionIfMatchedIsNotVariable() } /** - * @expectedException \Zephir\Exception\CompilerException - * @expectedExceptionMessage Cannot mutate variable 'matches' because it wasn't defined - * - * @throws \ReflectionException - * @issue https://github.com/phalcon/zephir/issues/1697 + * @issue https://github.com/zephir-lang/zephir/issues/1697 */ - public function testShouldThrowExceptionIfUsedUndefinedMatchesVariable() + public function testShouldThrowExceptionIfUsedUndefinedMatchesVariable(): void { + $this->expectException(CompilerException::class); + $this->expectExceptionMessage("Cannot mutate variable 'matches' because it wasn't defined"); + $optimizer = new PregMatchOptimizer(); $expression = [ @@ -151,14 +157,13 @@ public function testShouldThrowExceptionIfUsedUndefinedMatchesVariable() } /** - * @expectedException \Zephir\Exception\CompilerException - * @expectedExceptionMessage The 'matches' variable must be either a variable or an array, got Ooops - * - * @throws \ReflectionException - * @issue https://github.com/phalcon/zephir/issues/1697 + * @issue https://github.com/zephir-lang/zephir/issues/1697 */ - public function testShouldThrowExceptionIfMatchesHasUnexpectedType() + public function testShouldThrowExceptionIfMatchesHasUnexpectedType(): void { + $this->expectException(CompilerException::class); + $this->expectExceptionMessage("The 'matches' variable must be either a variable or an array, got Ooops"); + $optimizer = new PregMatchOptimizer(); $expression = [ diff --git a/tests/Zephir/Statements/Let/VariableTest.php b/tests/Zephir/Statements/Let/VariableTest.php index ccfeb339bf..d8b773b796 100644 --- a/tests/Zephir/Statements/Let/VariableTest.php +++ b/tests/Zephir/Statements/Let/VariableTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test\Statements\Let; @@ -20,19 +22,12 @@ use Zephir\Statements\Let\Variable; use Zephir\Variable as ZephirVariable; -class VariableTest extends TestCase +final class VariableTest extends TestCase { - /** @var Variable */ - private $test; - - /** @var ReadDetector */ - private $readDetector; - - /** @var CompilationContext */ - private $compilationCtx; - - /** @var CompiledExpression */ - private $compiledExpr; + private Variable $test; + private ReadDetector $readDetector; + private CompilationContext $compilationCtx; + private CompiledExpression $compiledExpr; protected function setUp(): void { @@ -77,7 +72,7 @@ function (ZephirVariable $var) { * @param string $message - Expected error message * @param callable $setProperty - Callback func to set required for test property */ - public function testThrowsExceptionForWrongVariables(array $statement, string $message, callable $setProperty) + public function testThrowsExceptionForWrongVariables(array $statement, string $message, callable $setProperty): void { $zephirVariable = new ZephirVariable('variable', 'foo'); // call necessary setters for test case diff --git a/tests/Zephir/Stubs/DocBlockTest.php b/tests/Zephir/Stubs/DocBlockTest.php index f12257d1ba..e3be3daa0c 100644 --- a/tests/Zephir/Stubs/DocBlockTest.php +++ b/tests/Zephir/Stubs/DocBlockTest.php @@ -1,30 +1,38 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ +declare(strict_types=1); + namespace Zephir\Test\Stubs; use PHPUnit\Framework\TestCase; use Zephir\Stubs\DocBlock; -class DocBlockTest extends TestCase +use function Zephir\is_windows; + +final class DocBlockTest extends TestCase { - public function testInitialState() + public function testInitialState(): void { $docBlock = new DocBlock(''); $this->assertSame('', (string) $docBlock); } - public function testDescription() + public function testDescription(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = <<assertSame($expected, (string) $docBlock); } - public function testPhpDocs() + public function testPhpDocs(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = <<assertSame($expected, (string) $docBlock); } - public function testPhpDocWithDescription() + public function testPhpDocWithDescription(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = <<assertSame($expected, (string) $docBlock); } - public function testPhpDocWithCodeBloc() + public function testPhpDocWithCodeBloc(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = <<assertSame($expected, (string) $docBlock); } - public function testPhpDocWithScalarParams() + public function testPhpDocWithScalarParams(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = <<assertSame($expected, (string) $docBlock); } - public function testPhpDocWithVariousDocBlockTags() + public function testPhpDocWithVariousDocBlockTags(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = << * @copyright (c) 2013-present Phalcon Team (https://zephir-lang.com/) * @license MIT http://zephir-lang.com/license.html - * @link https://github.com/phalcon/zephir + * @link https://github.com/zephir-lang/zephir * @since 1.0.0 * @todo Something * @uses MyClass::function doSmthName @@ -209,7 +237,7 @@ public function testPhpDocWithVariousDocBlockTags() * @author Phalcon Team * @copyright (c) 2013-present Phalcon Team (https://zephir-lang.com/) * @license MIT http://zephir-lang.com/license.html - * @link https://github.com/phalcon/zephir + * @link https://github.com/zephir-lang/zephir * @since 1.0.0 * @todo Something * @uses MyClass::function doSmthName @@ -223,8 +251,12 @@ public function testPhpDocWithVariousDocBlockTags() $this->assertSame($expected, (string) $docBlock); } - public function testPhpDocWithDoubleDollarSymbols() + public function testPhpDocWithDoubleDollarSymbols(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $doc = << * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ -namespace Zephir\Test; +declare(strict_types=1); + +namespace Zephir\Test\Stubs; use PHPUnit\Framework\TestCase; +use ReflectionException; use Zephir\AliasManager; use Zephir\ClassConstant; use Zephir\ClassDefinition; @@ -20,11 +23,16 @@ use Zephir\ClassProperty; use Zephir\Stubs\Generator; +use function Zephir\is_windows; + class GeneratorTest extends TestCase { + /** + * @var mixed + */ private $generatorClass; - private $testClass; - private $classDefinition; + private Generator $testClass; + private ClassDefinition $classDefinition; protected function setUp(): void { @@ -37,6 +45,8 @@ protected function setUp(): void * Modify method visibility to call protected. * * @param string $name - method name + * @return mixed + * @throws ReflectionException */ private function getMethod(string $name) { @@ -46,8 +56,12 @@ private function getMethod(string $name) return $method; } - public function testShouldBuildClass() + public function testShouldBuildClass(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $expected = <<markTestSkipped('Warning: Strings contain different line endings!'); + } + $original = [ 'default' => [ 'type' => $type, @@ -304,9 +328,18 @@ public function constantProvider(): array /** * @dataProvider constantProvider + * + * @param string $type + * @param $value + * @param string $expected + * @throws ReflectionException */ - public function testShouldBuildConstant(string $type, $value, string $expected) + public function testShouldBuildConstant(string $type, $value, string $expected): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $buildClass = $this->getMethod('buildConstant'); $extended = []; @@ -346,8 +379,12 @@ public function testShouldBuildConstant(string $type, $value, string $expected) $this->assertSame(PHP_EOL.$expected, $actual); } - public function testShouldBuildMethod() + public function testShouldBuildMethod(): void { + if (is_windows()) { + $this->markTestSkipped('Warning: Strings contain different line endings!'); + } + $buildClass = $this->getMethod('buildMethod'); $methodParamsDefinition = [ diff --git a/tests/Zephir/Stubs/MethodDocBlockTest.php b/tests/Zephir/Stubs/MethodDocBlockTest.php index 1565fc99f9..8ae56cb46f 100644 --- a/tests/Zephir/Stubs/MethodDocBlockTest.php +++ b/tests/Zephir/Stubs/MethodDocBlockTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test\Stubs; @@ -19,9 +21,9 @@ use Zephir\StatementsBlock; use Zephir\Stubs\MethodDocBlock; -class MethodDocBlockTest extends TestCase +final class MethodDocBlockTest extends TestCase { - public function prepareMethod($params) + public function prepareMethod(array $params): MethodDocBlock { /** * ClassDefinition for Class creation. @@ -71,12 +73,10 @@ public function prepareMethod($params) $methodExpression ); - $aliasManager = new AliasManager(); - - return new MethodDocBlock($classMethod, $aliasManager); + return new MethodDocBlock($classMethod, new AliasManager()); } - public function getDocBlock() + public function getDocBlock(): array { return [ [ @@ -128,7 +128,7 @@ public function getDocBlock() * @param array $parameters * @param string $expected */ - public function testMethodsWithDataSet(array $parameters, $expected) + public function testMethodsWithDataSet(array $parameters, string $expected): void { $baseDefinition = require ZEPHIRPATH.'/tests/fixtures/base-definition.php'; $baseDefinition['method']['parameters'][] = $parameters; @@ -244,8 +244,11 @@ public function docBlockProvider(): array /** * @dataProvider docBlockProvider() + * + * @param string $zephirDocBlock + * @param string $phpDocBlock */ - public function testShouldParseDocBlock(string $zephirDocBlock, string $phpDocBlock) + public function testShouldParseDocBlock(string $zephirDocBlock, string $phpDocBlock): void { $classMethod = new ClassMethod( new ClassDefinition('Zephir', 'testMethod'), diff --git a/tests/Zephir/TypesTest.php b/tests/Zephir/TypesTest.php index 35981a305f..d5e22d3889 100644 --- a/tests/Zephir/TypesTest.php +++ b/tests/Zephir/TypesTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; @@ -16,12 +18,13 @@ use Zephir\ClassMethod; use Zephir\Types; -class TypesTest extends TestCase +final class TypesTest extends TestCase { /** * Helper to build proper structure with method return types. * * @param array $returnTypesList - collactions with all return types + * @return array */ private function buildReturnTypes(array $returnTypesList): array { @@ -38,8 +41,9 @@ private function buildReturnTypes(array $returnTypesList): array /** * Builds base object definition for return type. * - * @param array $types - list of method return types - * @param int $mandatory - is mandatory flag + * @param array $types - list of method return types + * @param int $mandatory - is mandatory flag + * @return array */ private function baseReturnTypeDefinition(array $types, int $mandatory = 0): array { @@ -63,6 +67,7 @@ function ($type) use ($mandatory) { * * @param array $types - list of method return types * @param int $collection - is collection flag + * @return array */ private function variableReturnTypeDefinition(array $types, int $collection = 0): array { @@ -183,15 +188,17 @@ public function typesProvider(): array /** * @dataProvider typesProvider + * + * @param array $returnTypes + * @param string $expected */ - public function testShouldResolveCompatibleTypeForBaseTypes(array $returnTypes, string $expected) + public function testShouldResolveCompatibleTypeForBaseTypes(array $returnTypes, string $expected): void { $testMethod = $this->buildMethod( $this->baseReturnTypeDefinition($returnTypes) ); $testTypes = new Types(); - $actual = $testTypes->getReturnTypeAnnotation($testMethod); $this->assertSame($expected, $actual); @@ -220,8 +227,11 @@ public function objectsProvider(): array /** * @dataProvider objectsProvider + * + * @param array $returnTypes + * @param string $expected */ - public function testShouldResolveCompatibleTypeForObjects(array $returnTypes, string $expected) + public function testShouldResolveCompatibleTypeForObjects(array $returnTypes, string $expected): void { $withAliases = []; foreach ($returnTypes as $alias) { @@ -263,8 +273,11 @@ public function collectionsProvider(): array /** * @dataProvider collectionsProvider + * + * @param array $returnTypes + * @param string $expected */ - public function testShouldResolveCompatibleTypeForCollections(array $returnTypes, string $expected) + public function testShouldResolveCompatibleTypeForCollections(array $returnTypes, string $expected): void { $typesList = []; $collections = []; @@ -279,9 +292,7 @@ public function testShouldResolveCompatibleTypeForCollections(array $returnTypes } $testMethod = $this->buildMethod($typesList); - $testTypes = new Types(); - $actual = $testTypes->getReturnTypeAnnotation( $testMethod, array_merge($testMethod->getReturnTypes(), $collections) diff --git a/tests/Zephir/VariableTest.php b/tests/Zephir/VariableTest.php index d9bdd28067..7e2b4ff9f4 100644 --- a/tests/Zephir/VariableTest.php +++ b/tests/Zephir/VariableTest.php @@ -1,12 +1,14 @@ * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. + * For the full copyright and license information, please view + * the LICENSE file that was distributed with this source code. */ namespace Zephir\Test; @@ -20,17 +22,16 @@ use Zephir\Exception\CompilerException; use Zephir\Variable; -class VariableTest extends TestCase +final class VariableTest extends TestCase { - /** @var Variable */ - private $zephirVar; + private Variable $zephirVar; protected function setUp(): void { $this->zephirVar = new Variable('object', 'UnitTest'); } - public function testShouldSetProperties() + public function testShouldSetProperties(): void { $context = new CompilationContext(); $branch = new Branch(); @@ -203,7 +204,7 @@ public function testShouldSetProperties() $this->assertSame($branch, $this->zephirVar->getPossibleValueBranch()); } - public function testShouldEnableDefaultAutoInitValue() + public function testShouldEnableDefaultAutoInitValue(): void { $numericTypes = [ 'char', 'boolean', 'bool', 'int', 'uint', 'long', 'ulong', diff --git a/tests/ext-bootstrap.php b/tests/ext-bootstrap.php index f73ccebaae..9726282c91 100644 --- a/tests/ext-bootstrap.php +++ b/tests/ext-bootstrap.php @@ -1,6 +1,6 @@ diff --git a/tests/fixtures/lifecycle/expected3.c b/tests/fixtures/lifecycle/expected3.c index 08ae94ec14..591b35cc08 100644 --- a/tests/fixtures/lifecycle/expected3.c +++ b/tests/fixtures/lifecycle/expected3.c @@ -49,7 +49,7 @@ static PHP_MSHUTDOWN_FUNCTION(lifecycle) { ext_takedown_module(); ext_kill_module(); - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); UNREGISTER_INI_ENTRIES(); return SUCCESS; } @@ -58,7 +58,7 @@ static PHP_MSHUTDOWN_FUNCTION(lifecycle) /** * Initialize globals on each request or each thread started */ -static void php_zephir_init_globals(zend_lifecycle_globals *lifecycle_globals TSRMLS_DC) +static void php_zephir_init_globals(zend_lifecycle_globals *lifecycle_globals) { lifecycle_globals->initialized = 0; @@ -78,7 +78,7 @@ static void php_zephir_init_globals(zend_lifecycle_globals *lifecycle_globals TS /** * Initialize globals only on each thread started */ -static void php_zephir_init_module_globals(zend_lifecycle_globals *lifecycle_globals TSRMLS_DC) +static void php_zephir_init_module_globals(zend_lifecycle_globals *lifecycle_globals) { } @@ -98,7 +98,7 @@ static PHP_RINIT_FUNCTION(lifecycle) static PHP_RSHUTDOWN_FUNCTION(lifecycle) { ext_takedown_request(); - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); return SUCCESS; } diff --git a/tests/fixtures/protodir/connectionexception.h b/tests/fixtures/protodir/connectionexception.h index 74707df2f5..d086be4bec 100644 --- a/tests/fixtures/protodir/connectionexception.h +++ b/tests/fixtures/protodir/connectionexception.h @@ -5,7 +5,14 @@ ZEPHIR_INIT_CLASS(ProtoDir_ConnectionException); PHP_METHOD(ProtoDir_ConnectionException, getRequest); +ZEND_BEGIN_ARG_INFO_EX(arginfo_protodir_connectionexception_getrequest, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEPHIR_INIT_FUNCS(protodir_connectionexception_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(ProtoDir_ConnectionException, getRequest, arginfo_protodir_connectionexception_getrequest, ZEND_ACC_PUBLIC) +#else PHP_ME(ProtoDir_ConnectionException, getRequest, NULL, ZEND_ACC_PUBLIC) +#endif PHP_FE_END }; diff --git a/tests/fixtures/stubs/issues/expected/Issue_2092.zep.php b/tests/fixtures/stubs/issues/expected/Issue_2092.zep.php index f0ae42aca6..0880df66d4 100644 --- a/tests/fixtures/stubs/issues/expected/Issue_2092.zep.php +++ b/tests/fixtures/stubs/issues/expected/Issue_2092.zep.php @@ -15,7 +15,7 @@ class Issue_2092 * Expects: * return \Stubs\Events\ManagerInterface|null * - * @return \Stubs\Events\ManagerInterface|null + * @return ManagerInterface|null */ public function getInternalEventsManager(): ?ManagerInterface { diff --git a/tests/fixtures/typehints/expected3.c b/tests/fixtures/typehints/expected3.c index f15807a3fe..07cf7c86ea 100644 --- a/tests/fixtures/typehints/expected3.c +++ b/tests/fixtures/typehints/expected3.c @@ -48,7 +48,7 @@ static PHP_MINIT_FUNCTION(typehints) static PHP_MSHUTDOWN_FUNCTION(typehints) { - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); UNREGISTER_INI_ENTRIES(); return SUCCESS; } @@ -57,7 +57,7 @@ static PHP_MSHUTDOWN_FUNCTION(typehints) /** * Initialize globals on each request or each thread started */ -static void php_zephir_init_globals(zend_typehints_globals *typehints_globals TSRMLS_DC) +static void php_zephir_init_globals(zend_typehints_globals *typehints_globals) { typehints_globals->initialized = 0; @@ -77,7 +77,7 @@ static void php_zephir_init_globals(zend_typehints_globals *typehints_globals TS /** * Initialize globals only on each thread started */ -static void php_zephir_init_module_globals(zend_typehints_globals *typehints_globals TSRMLS_DC) +static void php_zephir_init_module_globals(zend_typehints_globals *typehints_globals) { } @@ -97,7 +97,7 @@ static PHP_RINIT_FUNCTION(typehints) static PHP_RSHUTDOWN_FUNCTION(typehints) { - zephir_deinitialize_memory(TSRMLS_C); + zephir_deinitialize_memory(); return SUCCESS; } @@ -138,169 +138,93 @@ static PHP_GSHUTDOWN_FUNCTION(typehints) PHP_FUNCTION(f_TypeHints_args); ZEND_BEGIN_ARG_INFO_EX(arginfo_f_typehints_args, 0, 0, 7) ZEND_ARG_INFO(0, _var) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _string, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, _string) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _bool, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, _bool) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _int, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, _int) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _long, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, _long) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _double, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, _double) -#endif ZEND_ARG_OBJ_INFO(0, _args, TypeHints\\Args, 0) ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_both); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_both, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_both, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _string, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, _string) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_var_var_builit_1); +ZEND_BEGIN_ARG_INFO_EX(arginfo_f_typehints_retval_var_var_builit_1, 0, 0, 0) +ZEND_END_ARG_INFO() + PHP_FUNCTION(f_TypeHints_retval_var_var_builit_2); +ZEND_BEGIN_ARG_INFO_EX(arginfo_f_typehints_retval_var_var_builit_2, 0, 0, 0) +ZEND_END_ARG_INFO() + PHP_FUNCTION(f_TypeHints_retval_var); +ZEND_BEGIN_ARG_INFO_EX(arginfo_f_typehints_retval_var, 0, 0, 0) +ZEND_END_ARG_INFO() + PHP_FUNCTION(f_TypeHints_retval_string); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_string, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_string, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_boolean); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_boolean, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_boolean, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_int); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_int, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_int, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_long); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_long, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_long, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_double); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_double, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_double, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_retval); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_f_typehints_retval_retval, 0, 0, TypeHints\\RetVal, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_retval, 0, 0, IS_OBJECT, "TypeHints\\RetVal", 0) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_int); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_int, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_int, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_uint); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_uint, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_uint, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_long); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_long, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_long, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_float); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_float, 0, 0, IS_DOUBLE, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_float, 0, 0, IS_DOUBLE, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_double); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_double, 0, 0, IS_DOUBLE, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_double, 0, 0, IS_DOUBLE, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_string); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_string, 0, 0, IS_STRING, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_string, 0, 0, IS_STRING, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_boolean); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_boolean, 0, 0, _IS_BOOL, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_boolean, 0, 0, _IS_BOOL, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_nullable_char); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_char, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_nullable_char, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() PHP_FUNCTION(f_TypeHints_retval_object_or_scalar); +ZEND_BEGIN_ARG_INFO_EX(arginfo_f_typehints_retval_object_or_scalar, 0, 0, 0) +ZEND_END_ARG_INFO() + PHP_FUNCTION(f_TypeHints_retval_array_of_objects); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_array_of_objects, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_f_typehints_retval_array_of_objects, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() diff --git a/tests/fixtures/typehints/expected_args3.h b/tests/fixtures/typehints/expected_args3.h index 941cd5f523..37317ef871 100644 --- a/tests/fixtures/typehints/expected_args3.h +++ b/tests/fixtures/typehints/expected_args3.h @@ -7,31 +7,11 @@ PHP_METHOD(TypeHints_Args, args); ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_args_args, 0, 0, 7) ZEND_ARG_INFO(0, _var) -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _string, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, _string) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _bool, _IS_BOOL, 0) -#else - ZEND_ARG_INFO(0, _bool) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _int, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, _int) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _long, IS_LONG, 0) -#else - ZEND_ARG_INFO(0, _long) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _double, IS_DOUBLE, 0) -#else - ZEND_ARG_INFO(0, _double) -#endif ZEND_ARG_OBJ_INFO(0, _args, TypeHints\\Args, 0) ZEND_END_ARG_INFO() diff --git a/tests/fixtures/typehints/expected_both3.h b/tests/fixtures/typehints/expected_both3.h index d064bb42bd..ae59968637 100644 --- a/tests/fixtures/typehints/expected_both3.h +++ b/tests/fixtures/typehints/expected_both3.h @@ -5,16 +5,8 @@ ZEPHIR_INIT_CLASS(TypeHints_Both); PHP_METHOD(TypeHints_Both, both); -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_both_both, 0, 1, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_both_both, 0, 1, IS_STRING, NULL, 0) -#endif -#if PHP_VERSION_ID >= 70200 ZEND_ARG_TYPE_INFO(0, _string, IS_STRING, 0) -#else - ZEND_ARG_INFO(0, _string) -#endif ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(typehints_both_method_entry) { diff --git a/tests/fixtures/typehints/expected_retval3.h b/tests/fixtures/typehints/expected_retval3.h index 02a2a9d8d8..aab4e0635f 100644 --- a/tests/fixtures/typehints/expected_retval3.h +++ b/tests/fixtures/typehints/expected_retval3.h @@ -31,154 +31,115 @@ PHP_METHOD(TypeHints_RetVal, retval_nullable_array); PHP_METHOD(TypeHints_RetVal, retval_object_or_scalar); PHP_METHOD(TypeHints_RetVal, retval_static_object_or_scalar); -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_getmyvar, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_getmystring, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_getmystring, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_getmyarray, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_getmyarray, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_retval_var_var, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_retval_var_var_builit_1, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_retval_var_var_builit_2, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_retval_var, 0, 0, 0) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_string, 0, 0, IS_STRING, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_string, 0, 0, IS_STRING, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_boolean, 0, 0, _IS_BOOL, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_boolean, 0, 0, _IS_BOOL, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_int, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_int, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_long, 0, 0, IS_LONG, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_long, 0, 0, IS_LONG, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_double, 0, 0, IS_DOUBLE, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_double, 0, 0, IS_DOUBLE, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_array, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_array, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_array_of_objects, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_array_of_objects, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_collection, 0, 0, IS_ARRAY, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_collection, 0, 0, IS_ARRAY, NULL, 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_typehints_retval_retval_retval, 0, 0, TypeHints\\RetVal, 0) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_retval, 0, 0, IS_OBJECT, "TypeHints\\RetVal", 0) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_int, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_int, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_uint, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_uint, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_long, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_long, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_float, 0, 0, IS_DOUBLE, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_float, 0, 0, IS_DOUBLE, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_double, 0, 0, IS_DOUBLE, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_double, 0, 0, IS_DOUBLE, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_string, 0, 0, IS_STRING, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_string, 0, 0, IS_STRING, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_boolean, 0, 0, _IS_BOOL, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_boolean, 0, 0, _IS_BOOL, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_char, 0, 0, IS_LONG, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_char, 0, 0, IS_LONG, NULL, 1) -#endif ZEND_END_ARG_INFO() -#if PHP_VERSION_ID >= 70200 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_array, 0, 0, IS_ARRAY, 1) -#else -ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_typehints_retval_retval_nullable_array, 0, 0, IS_ARRAY, NULL, 1) -#endif +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_retval_object_or_scalar, 0, 0, 0) +ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_typehints_retval_retval_static_object_or_scalar, 0, 0, 0) ZEND_END_ARG_INFO() ZEPHIR_INIT_FUNCS(typehints_retval_method_entry) { +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, getMyVar, arginfo_typehints_retval_getmyvar, ZEND_ACC_PUBLIC) +#else PHP_ME(TypeHints_RetVal, getMyVar, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(TypeHints_RetVal, getMyString, arginfo_typehints_retval_getmystring, ZEND_ACC_PUBLIC) PHP_ME(TypeHints_RetVal, getMyArray, arginfo_typehints_retval_getmyarray, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, retval_var_var, arginfo_typehints_retval_retval_var_var, ZEND_ACC_PUBLIC) +#else PHP_ME(TypeHints_RetVal, retval_var_var, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, retval_var_var_builit_1, arginfo_typehints_retval_retval_var_var_builit_1, ZEND_ACC_PUBLIC) +#else PHP_ME(TypeHints_RetVal, retval_var_var_builit_1, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, retval_var_var_builit_2, arginfo_typehints_retval_retval_var_var_builit_2, ZEND_ACC_PUBLIC) +#else PHP_ME(TypeHints_RetVal, retval_var_var_builit_2, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, retval_var, arginfo_typehints_retval_retval_var, ZEND_ACC_PUBLIC) +#else PHP_ME(TypeHints_RetVal, retval_var, NULL, ZEND_ACC_PUBLIC) +#endif PHP_ME(TypeHints_RetVal, retval_string, arginfo_typehints_retval_retval_string, ZEND_ACC_PUBLIC) PHP_ME(TypeHints_RetVal, retval_boolean, arginfo_typehints_retval_retval_boolean, ZEND_ACC_PUBLIC) PHP_ME(TypeHints_RetVal, retval_int, arginfo_typehints_retval_retval_int, ZEND_ACC_PUBLIC) @@ -197,7 +158,15 @@ ZEPHIR_INIT_FUNCS(typehints_retval_method_entry) { PHP_ME(TypeHints_RetVal, retval_nullable_boolean, arginfo_typehints_retval_retval_nullable_boolean, ZEND_ACC_PUBLIC) PHP_ME(TypeHints_RetVal, retval_nullable_char, arginfo_typehints_retval_retval_nullable_char, ZEND_ACC_PUBLIC) PHP_ME(TypeHints_RetVal, retval_nullable_array, arginfo_typehints_retval_retval_nullable_array, ZEND_ACC_PUBLIC) +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, retval_object_or_scalar, arginfo_typehints_retval_retval_object_or_scalar, ZEND_ACC_PUBLIC) +#else PHP_ME(TypeHints_RetVal, retval_object_or_scalar, NULL, ZEND_ACC_PUBLIC) +#endif +#if PHP_VERSION_ID >= 80000 + PHP_ME(TypeHints_RetVal, retval_static_object_or_scalar, arginfo_typehints_retval_retval_static_object_or_scalar, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#else PHP_ME(TypeHints_RetVal, retval_static_object_or_scalar, NULL, ZEND_ACC_PUBLIC|ZEND_ACC_STATIC) +#endif PHP_FE_END }; diff --git a/tests/fixtures/typehints/typehints/retval.zep b/tests/fixtures/typehints/typehints/retval.zep index 3c5b484162..eb1d4a2e85 100644 --- a/tests/fixtures/typehints/typehints/retval.zep +++ b/tests/fixtures/typehints/typehints/retval.zep @@ -6,36 +6,36 @@ class RetVal { * However, the language specification does not prohibit it. * Therefore, we must test and verify the expected result. * - * @link https://github.com/phalcon/zephir/pull/1681 + * @link https://github.com/zephir-lang/zephir/pull/1681 * @var \Some\Non\Existent\Class\At\This\Time */ protected my_var = "some-value" {get}; /** - * @link https://github.com/phalcon/zephir/pull/1681 + * @link https://github.com/zephir-lang/zephir/pull/1681 * @var string */ protected my_string = "some-value" {get}; /** - * @link https://github.com/phalcon/zephir/pull/1685 + * @link https://github.com/zephir-lang/zephir/pull/1685 * @var array */ protected my_array {get}; - /** @link https://github.com/phalcon/zephir/pull/1681 */ + /** @link https://github.com/zephir-lang/zephir/pull/1681 */ public function retval_var_var() -> var { var _var; return _var; } - /** @link https://github.com/phalcon/zephir/pull/1681 */ + /** @link https://github.com/zephir-lang/zephir/pull/1681 */ public function retval_var_var_builit_1() -> var|string { var _var; return _var; } - /** @link https://github.com/phalcon/zephir/pull/1681 */ + /** @link https://github.com/zephir-lang/zephir/pull/1681 */ public function retval_var_var_builit_2() -> int|var { var _var; return _var; @@ -75,7 +75,7 @@ class RetVal { return []; } - /** @link https://github.com/phalcon/zephir/issues/1779 */ + /** @link https://github.com/zephir-lang/zephir/issues/1779 */ public function retval_array_of_objects() -> <\stdClass[]> { return []; } @@ -135,13 +135,13 @@ class RetVal { } } -/** @link https://github.com/phalcon/zephir/pull/1681 */ +/** @link https://github.com/zephir-lang/zephir/pull/1681 */ function retval_var_var_builit_1() -> var|string { var _var; return _var; } -/** @link https://github.com/phalcon/zephir/pull/1681 */ +/** @link https://github.com/zephir-lang/zephir/pull/1681 */ function retval_var_var_builit_2() -> int|var { var _var; return _var; @@ -219,7 +219,7 @@ function retval_object_or_scalar() -> <\stdClass> | bool { return false; } -/** @link https://github.com/phalcon/zephir/issues/1779 */ +/** @link https://github.com/zephir-lang/zephir/issues/1779 */ function retval_array_of_objects() -> <\stdClass[]> { return []; } diff --git a/tests/sharness/t0001-compile.sh b/tests/sharness/t0001-compile.sh index 2c2b3ac1bc..3f28c85be2 100755 --- a/tests/sharness/t0001-compile.sh +++ b/tests/sharness/t0001-compile.sh @@ -10,6 +10,7 @@ regexp="'-O2 -fvisibility=hidden -Wparentheses\( -flto\)\? -DZEPHIR_RELEASE=1'" test_expect_success "Compile the extension in production mode" " cd $FIXTURESDIR/devmode && zephirc fullclean 2>&1 >/dev/null && + zephirc generate 2>&1 >/dev/null && zephirc compile --no-dev 2>&1 >/dev/null && cat ext/config.nice | grep -q -e \"^CFLAGS=$regexp\" " @@ -18,6 +19,7 @@ regexp="'-O0 -g3'" test_expect_success "Compile the extension in development mode" " cd $FIXTURESDIR/devmode && zephirc fullclean 2>&1 >/dev/null && + zephirc generate 2>&1 >/dev/null && zephirc compile --dev 2>&1 >/dev/null && cat ext/config.nice | grep -q -e \"^CFLAGS=$regexp\" " diff --git a/tests/sharness/t0002-generate.sh b/tests/sharness/t0002-generate.sh index 53d0a4e574..651f4ccb2a 100755 --- a/tests/sharness/t0002-generate.sh +++ b/tests/sharness/t0002-generate.sh @@ -23,7 +23,7 @@ test_expect_success "Life Cycle Test" " test_cmp ext/lifecycle.c expected3.c " -# See: https://github.com/phalcon/zephir/issues/1758 +# See: https://github.com/zephir-lang/zephir/issues/1758 test_expect_success "Should generate valid code with inheritance of prototype interfaces" " cd $FIXTURESDIR/protodir && zephirc fullclean 2>&1 >/dev/null && diff --git a/tests/sharness/t0005-stubs.sh b/tests/sharness/t0005-stubs.sh index 89f0f9f8fe..ba60aa92d9 100755 --- a/tests/sharness/t0005-stubs.sh +++ b/tests/sharness/t0005-stubs.sh @@ -23,11 +23,11 @@ fi test_expect_success "Should generate Stubs" \ "zephir_stubs && test -d ./ide/0.0.1/Stubs" -# See: https://github.com/phalcon/zephir/issues/1922 +# See: https://github.com/zephir-lang/zephir/issues/1922 test_expect_success "Should properly generate type hint" \ "test_cmp expected/Issue_1922.zep.php ide/0.0.1/Stubs/Issue_1922.zep.php" -# See: https://github.com/phalcon/zephir/issues/1778 +# See: https://github.com/zephir-lang/zephir/issues/1778 test_expect_success "Should properly namespace imports (use block)" \ "test_cmp expected/Issue_1778.zep.php ide/0.0.1/Stubs/Issue_1778.zep.php" @@ -36,15 +36,15 @@ if test_have_prereq PHP70; then else expected="Issue_1900.zep.php" fi -# See: https://github.com/phalcon/zephir/issues/1900 +# See: https://github.com/zephir-lang/zephir/issues/1900 test_expect_success "Should properly generate return types for stubs" \ "test_cmp expected/$expected ide/0.0.1/Stubs/Issue_1900.zep.php" -# See: https://github.com/phalcon/zephir/issues/1907 +# See: https://github.com/zephir-lang/zephir/issues/1907 test_expect_success "Should properly generate Namespace for extends" \ "test_cmp expected/Exception.zep.php ide/0.0.1/Stubs/Exception.zep.php" -# See: https://github.com/phalcon/zephir/issues/1907 +# See: https://github.com/zephir-lang/zephir/issues/1907 test_expect_success "Should properly generate Namespace for extends (slash)" \ "test_cmp expected/Issue_1907.zep.php ide/0.0.1/Stubs/Issue_1907.zep.php" @@ -53,15 +53,15 @@ if test_have_prereq PHP70; then else expected="Issue_1986.zep.php" fi -# See: https://github.com/phalcon/zephir/issues/1986 +# See: https://github.com/zephir-lang/zephir/issues/1986 test_expect_success "Should properly generate Aliases for use statements" \ "test_cmp expected/$expected ide/0.0.1/Stubs/Issue_1986.zep.php" -# See: https://github.com/phalcon/zephir/issues/1896 -test_expect_success "Should generage CamelCase folders for stubs" \ +# See: https://github.com/zephir-lang/zephir/issues/1896 +test_expect_success "Should generate CamelCase folders for stubs" \ "test $(ls ./ide/0.0.1/Stubs/Events/ManagerInterface.zep.php | sed -e 's~\/~\\~g') = .\ide\0.0.1\Stubs\Events\ManagerInterface.zep.php" -# See: https://github.com/phalcon/zephir/issues/2026 +# See: https://github.com/zephir-lang/zephir/issues/2026 test_expect_success "Should properly generate return type for Collections" \ "test_cmp expected/Issue_2026.zep.php ide/0.0.1/Stubs/Issue_2026.zep.php" @@ -70,7 +70,7 @@ if test_have_prereq PHP70; then else expected="Issue_2092.zep.php" fi -# See: https://github.com/phalcon/zephir/issues/2092 +# See: https://github.com/zephir-lang/zephir/issues/2092 test_expect_success "Should properly generate return type for type hinted object" \ "test_cmp expected/$expected ide/0.0.1/Stubs/Issue_2092.zep.php" diff --git a/tests/sharness/t0007-internall-mcall.sh b/tests/sharness/t0007-internall-mcall.sh index ec2e713fe0..0e6dc84043 100755 --- a/tests/sharness/t0007-internall-mcall.sh +++ b/tests/sharness/t0007-internall-mcall.sh @@ -10,6 +10,7 @@ code="echo get_class((new InternalTest\\Test)->issue1956());" test_expect_success "Return 'this' inside a method when 'internal-call-transformation' is enabled" " cd $FIXTURESDIR/internal && zephirc fullclean 2>&1 >/dev/null && + zephirc generate 2>&1 >/dev/null && zephirc compile 2>&1 >/dev/null && php -d extension=ext/modules/internaltest.so -r '$code' > ext/issue-1956.txt && test_cmp expected/issue-1956.txt ext/issue-1956.txt diff --git a/zephir b/zephir index 27841e8700..a7ead4c04c 100755 --- a/zephir +++ b/zephir @@ -1,7 +1,7 @@ #!/usr/bin/env php @@ -16,7 +16,7 @@ use Zephir\DependencyInjection\ContainerFactory; require __DIR__ . '/Library/autoload.php'; require __DIR__ . '/Library/bootstrap.php'; -$container = (new ContainerFactory)->create(); +$container = (new ContainerFactory())->create(); $application = $container->get(Application::class); $application->run();