@flarum/cli 2.0.0-beta.9 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +178 -48
- package/bin/run +2 -1
- package/bin/splitsh-lite-darwin +0 -0
- package/bin/splitsh-lite-linux +0 -0
- package/boilerplate/skeleton/extension/.gitattributes +16 -14
- package/boilerplate/skeleton/extension/.github/workflows/backend.yml +2 -6
- package/boilerplate/skeleton/extension/.github/workflows/frontend.yml +5 -6
- package/boilerplate/skeleton/extension/.github/workflows/phpstan.yml +12 -0
- package/boilerplate/skeleton/extension/LICENSE.md +1 -1
- package/boilerplate/skeleton/extension/README.md +1 -1
- package/boilerplate/skeleton/extension/composer.json +13 -7
- package/boilerplate/skeleton/extension/extend.php +2 -2
- package/boilerplate/skeleton/extension/gitignore +1 -0
- package/boilerplate/skeleton/extension/js/admin.ts +2 -0
- package/boilerplate/skeleton/extension/js/forum.ts +2 -0
- package/boilerplate/skeleton/extension/js/jest.config.cjs +1 -0
- package/boilerplate/skeleton/extension/js/package.json +11 -4
- package/boilerplate/skeleton/extension/js/src/admin/extend.js +8 -0
- package/boilerplate/skeleton/extension/js/src/admin/extend.ts +8 -0
- package/boilerplate/skeleton/extension/js/src/admin/index.js +2 -0
- package/boilerplate/skeleton/extension/js/src/admin/index.ts +7 -0
- package/boilerplate/skeleton/extension/js/src/common/extend.js +5 -0
- package/boilerplate/skeleton/extension/js/src/common/extend.ts +5 -0
- package/boilerplate/skeleton/extension/js/src/common/index.ts +5 -0
- package/boilerplate/skeleton/extension/js/src/forum/extend.js +8 -0
- package/boilerplate/skeleton/extension/js/src/forum/extend.ts +8 -0
- package/boilerplate/skeleton/extension/js/src/forum/index.js +2 -0
- package/boilerplate/skeleton/extension/js/src/forum/index.ts +7 -0
- package/boilerplate/skeleton/extension/js/tests/unit/.gitkeep +0 -0
- package/boilerplate/skeleton/extension/js/tsconfig.json +10 -2
- package/boilerplate/skeleton/extension/js/tsconfig.test.json +10 -0
- package/boilerplate/skeleton/extension/locale/en.yml +1 -1
- package/boilerplate/skeleton/extension/phpstan.neon +12 -0
- package/boilerplate/skeleton/extension/tests/phpunit.integration.xml +6 -7
- package/boilerplate/skeleton/extension/tests/phpunit.unit.xml +5 -10
- package/boilerplate/stubs/backend/advanced-api-resource.php +85 -0
- package/boilerplate/stubs/backend/api-resource.php +73 -0
- package/boilerplate/stubs/backend/command.php +2 -2
- package/boilerplate/stubs/backend/controller.php +19 -0
- package/boilerplate/stubs/backend/event-listener.php +1 -1
- package/boilerplate/stubs/backend/filter.php +25 -0
- package/boilerplate/stubs/backend/handler/command.php +6 -20
- package/boilerplate/stubs/backend/handler/handler.php +6 -14
- package/boilerplate/stubs/backend/integration-test.php +10 -7
- package/boilerplate/stubs/backend/job.php +6 -11
- package/boilerplate/stubs/backend/mail-driver.php +36 -0
- package/boilerplate/stubs/backend/middleware.php +19 -0
- package/boilerplate/stubs/backend/model.php +1 -1
- package/boilerplate/stubs/backend/notification-blueprint.php +42 -0
- package/boilerplate/stubs/backend/notification-driver.php +32 -0
- package/boilerplate/stubs/backend/policy.php +1 -1
- package/boilerplate/stubs/backend/post-type.php +35 -0
- package/boilerplate/stubs/backend/repository.php +2 -10
- package/boilerplate/stubs/backend/search/driver.php +13 -0
- package/boilerplate/stubs/backend/search/searcher.php +41 -0
- package/boilerplate/stubs/backend/service-provider.php +1 -1
- package/boilerplate/stubs/backend/validator.php +1 -1
- package/boilerplate/stubs/frontend/component.js +1 -1
- package/boilerplate/stubs/frontend/forum-page.js +68 -0
- package/boilerplate/stubs/frontend/gambit/boolean.js +12 -0
- package/boilerplate/stubs/frontend/gambit/key-value.js +16 -0
- package/boilerplate/stubs/frontend/modal.js +1 -1
- package/boilerplate/stubs/frontend/model.js +1 -1
- package/boilerplate/stubs/frontend/notification.js +22 -0
- package/boilerplate/stubs/frontend/post-type.js +13 -0
- package/boilerplate/stubs/migration.php +1 -1
- package/boilerplate/stubs/views/email/html/information.blade.php +8 -0
- package/boilerplate/stubs/views/email/html/notification.blade.php +8 -0
- package/boilerplate/stubs/views/email/plain/information.blade.php +7 -0
- package/boilerplate/stubs/views/email/plain/notification.blade.php +6 -0
- package/lib/base-command.d.ts +22 -6
- package/lib/base-command.js +114 -56
- package/lib/boilersmith/io.d.ts +33 -11
- package/lib/boilersmith/io.js +32 -17
- package/lib/boilersmith/paths.d.ts +3 -3
- package/lib/boilersmith/paths.js +7 -7
- package/lib/boilersmith/scaffolding/audit-step-factory.js +12 -12
- package/lib/boilersmith/scaffolding/infra-step-factory.js +2 -2
- package/lib/boilersmith/scaffolding/init-step-factory.js +5 -5
- package/lib/boilersmith/scaffolding/module.d.ts +30 -10
- package/lib/boilersmith/scaffolding/module.js +61 -19
- package/lib/boilersmith/scaffolding/scaffolder.d.ts +4 -1
- package/lib/boilersmith/scaffolding/scaffolder.js +33 -33
- package/lib/boilersmith/scaffolding/template-param.d.ts +2 -2
- package/lib/boilersmith/scaffolding/template-param.js +2 -2
- package/lib/boilersmith/step-manager.d.ts +15 -11
- package/lib/boilersmith/step-manager.js +45 -29
- package/lib/boilersmith/steps/stub-base.js +4 -4
- package/lib/boilersmith/utils/clone-and-fill.js +1 -1
- package/lib/boilersmith/utils/commit-async.d.ts +2 -0
- package/lib/boilersmith/utils/commit-async.js +15 -0
- package/lib/boilersmith/utils/json-leaf-paths.d.ts +2 -2
- package/lib/boilersmith/utils/read-tpl.js +2 -2
- package/lib/commands/audit/infra.d.ts +2 -5
- package/lib/commands/audit/infra.js +31 -9
- package/lib/commands/infra.d.ts +2 -10
- package/lib/commands/infra.js +20 -14
- package/lib/commands/init.d.ts +2 -5
- package/lib/commands/init.js +7 -5
- package/lib/commands/make/backend/{api-serializer.d.ts → api-resource.d.ts} +2 -5
- package/lib/commands/make/backend/api-resource.js +26 -0
- package/lib/commands/make/backend/command.d.ts +1 -4
- package/lib/commands/make/backend/command.js +3 -4
- package/lib/commands/make/backend/{api-controller.d.ts → controller.d.ts} +2 -5
- package/lib/commands/make/backend/controller.js +31 -0
- package/lib/commands/make/backend/event-listener.d.ts +1 -4
- package/lib/commands/make/backend/event-listener.js +2 -3
- package/lib/commands/make/backend/{api-serializer-attributes.d.ts → filter.d.ts} +3 -6
- package/lib/commands/make/backend/filter.js +26 -0
- package/lib/commands/make/backend/handler.d.ts +2 -5
- package/lib/commands/make/backend/handler.js +8 -11
- package/lib/commands/make/backend/integration-test.d.ts +1 -4
- package/lib/commands/make/backend/integration-test.js +4 -6
- package/lib/commands/make/backend/job.d.ts +1 -4
- package/lib/commands/make/backend/job.js +2 -2
- package/lib/commands/make/backend/mail-driver.d.ts +12 -0
- package/lib/commands/make/backend/mail-driver.js +29 -0
- package/lib/commands/make/backend/middleware.d.ts +11 -0
- package/lib/commands/make/backend/middleware.js +26 -0
- package/lib/commands/make/backend/migration.d.ts +1 -4
- package/lib/commands/make/backend/migration.js +10 -4
- package/lib/commands/make/backend/model.d.ts +6 -7
- package/lib/commands/make/backend/model.js +69 -449
- package/lib/commands/make/backend/notification-blueprint.d.ts +12 -0
- package/lib/commands/make/backend/notification-blueprint.js +29 -0
- package/lib/commands/make/backend/notification-driver.d.ts +12 -0
- package/lib/commands/make/backend/notification-driver.js +29 -0
- package/lib/commands/make/backend/policy.d.ts +1 -4
- package/lib/commands/make/backend/policy.js +2 -3
- package/lib/commands/make/backend/post-type.d.ts +12 -0
- package/lib/commands/make/backend/post-type.js +29 -0
- package/lib/commands/make/backend/repository.d.ts +1 -4
- package/lib/commands/make/backend/repository.js +1 -1
- package/lib/commands/make/backend/route.d.ts +1 -4
- package/lib/commands/make/backend/route.js +2 -3
- package/lib/commands/make/backend/search-driver.d.ts +11 -0
- package/lib/commands/make/backend/search-driver.js +51 -0
- package/lib/commands/make/backend/service-provider.d.ts +1 -4
- package/lib/commands/make/backend/service-provider.js +3 -4
- package/lib/commands/make/backend/validator.d.ts +1 -4
- package/lib/commands/make/backend/validator.js +2 -2
- package/lib/commands/make/frontend/component.d.ts +4 -5
- package/lib/commands/make/frontend/component.js +7 -2
- package/lib/commands/make/frontend/forum-page.d.ts +11 -0
- package/lib/commands/make/frontend/forum-page.js +92 -0
- package/lib/commands/make/frontend/gambit.d.ts +11 -0
- package/lib/commands/make/frontend/gambit.js +30 -0
- package/lib/commands/make/frontend/modal.d.ts +1 -4
- package/lib/commands/make/frontend/modal.js +3 -2
- package/lib/commands/make/frontend/model.d.ts +6 -7
- package/lib/commands/make/frontend/model.js +27 -28
- package/lib/commands/make/frontend/notification.d.ts +12 -0
- package/lib/commands/make/frontend/notification.js +62 -0
- package/lib/commands/make/frontend/post-type.d.ts +12 -0
- package/lib/commands/make/frontend/post-type.js +59 -0
- package/lib/commands/make/locale.d.ts +11 -0
- package/lib/commands/make/locale.js +27 -0
- package/lib/commands/make/model.d.ts +12 -0
- package/lib/commands/make/model.js +29 -0
- package/lib/commands/make/notification.d.ts +11 -0
- package/lib/commands/make/notification.js +33 -0
- package/lib/commands/make/post-type.d.ts +11 -0
- package/lib/commands/make/post-type.js +31 -0
- package/lib/commands/monorepo/create.d.ts +12 -0
- package/lib/commands/monorepo/create.js +20 -0
- package/lib/commands/monorepo/split.d.ts +12 -0
- package/lib/commands/monorepo/split.js +19 -0
- package/lib/commands/update/js-imports.d.ts +1 -4
- package/lib/commands/update/js-imports.js +2 -3
- package/lib/commands/upgrade/2.0.d.ts +17 -0
- package/lib/commands/upgrade/2.0.js +113 -0
- package/lib/help.js +2 -2
- package/lib/providers/php-provider.d.ts +7 -1
- package/lib/providers/php-provider.js +18 -5
- package/lib/steps/extenders/{api-serializer.d.ts → api-resource.d.ts} +1 -1
- package/lib/steps/extenders/api-resource.js +38 -0
- package/lib/steps/extenders/base.d.ts +1 -1
- package/lib/steps/extenders/base.js +13 -1
- package/lib/steps/extenders/console-command.js +1 -1
- package/lib/steps/extenders/event.js +1 -1
- package/lib/steps/extenders/mail-driver.d.ts +5 -0
- package/lib/steps/extenders/mail-driver.js +58 -0
- package/lib/steps/extenders/middleware.d.ts +5 -0
- package/lib/steps/extenders/middleware.js +57 -0
- package/lib/steps/extenders/notification-driver.d.ts +5 -0
- package/lib/steps/extenders/notification-driver.js +58 -0
- package/lib/steps/extenders/notification-type.d.ts +5 -0
- package/lib/steps/extenders/notification-type.js +55 -0
- package/lib/steps/extenders/policy.js +1 -1
- package/lib/steps/extenders/post-type.d.ts +5 -0
- package/lib/steps/extenders/post-type.js +42 -0
- package/lib/steps/extenders/route.js +11 -2
- package/lib/steps/extenders/search-driver.d.ts +5 -0
- package/lib/steps/extenders/search-driver.js +38 -0
- package/lib/steps/extenders/search-filter.d.ts +5 -0
- package/lib/steps/extenders/search-filter.js +67 -0
- package/lib/steps/extenders/service-provider.js +1 -1
- package/lib/steps/gen-ext-scaffolder.d.ts +4 -4
- package/lib/steps/gen-ext-scaffolder.js +262 -56
- package/lib/steps/js/base.d.ts +14 -5
- package/lib/steps/js/base.js +101 -27
- package/lib/steps/js/model.d.ts +4 -7
- package/lib/steps/js/model.js +45 -19
- package/lib/steps/js/notification.d.ts +7 -0
- package/lib/steps/js/notification.js +58 -0
- package/lib/steps/js/post-type.d.ts +8 -0
- package/lib/steps/js/post-type.js +60 -0
- package/lib/steps/js/routes.d.ts +7 -0
- package/lib/steps/js/routes.js +63 -0
- package/lib/steps/js/search-driver-locale.d.ts +8 -0
- package/lib/steps/js/search-driver-locale.js +36 -0
- package/lib/steps/js/search-gambit.d.ts +7 -0
- package/lib/steps/js/search-gambit.js +51 -0
- package/lib/steps/locale/base.d.ts +32 -0
- package/lib/steps/locale/base.js +97 -0
- package/lib/steps/misc/composer.js +2 -2
- package/lib/steps/misc/git.d.ts +1 -1
- package/lib/steps/misc/git.js +3 -3
- package/lib/steps/misc/npm.d.ts +11 -0
- package/lib/steps/misc/npm.js +19 -0
- package/lib/steps/misc/yarn.js +2 -2
- package/lib/steps/monorepo/create.d.ts +19 -0
- package/lib/steps/monorepo/create.js +187 -0
- package/lib/steps/monorepo/split.d.ts +14 -0
- package/lib/steps/monorepo/split.js +99 -0
- package/lib/steps/stubs/backend/advanced-api-resource.d.ts +13 -0
- package/lib/steps/stubs/backend/advanced-api-resource.js +81 -0
- package/lib/steps/stubs/backend/{api-serializer.d.ts → api-resource.d.ts} +2 -2
- package/lib/steps/stubs/backend/{api-serializer.js → api-resource.js} +12 -9
- package/lib/steps/stubs/backend/command.d.ts +2 -21
- package/lib/steps/stubs/backend/command.js +15 -1
- package/lib/steps/stubs/backend/{api-controller.d.ts → controller.d.ts} +4 -14
- package/lib/steps/stubs/backend/controller.js +40 -0
- package/lib/steps/stubs/backend/event-listener.d.ts +1 -1
- package/lib/steps/stubs/backend/event-listener.js +3 -1
- package/lib/steps/stubs/backend/filter.d.ts +8 -0
- package/lib/steps/stubs/backend/filter.js +44 -0
- package/lib/steps/stubs/backend/handler-command.d.ts +2 -27
- package/lib/steps/stubs/backend/handler-command.js +3 -1
- package/lib/steps/stubs/backend/handler.d.ts +1 -1
- package/lib/steps/stubs/backend/handler.js +5 -1
- package/lib/steps/stubs/backend/integration-test.d.ts +1 -1
- package/lib/steps/stubs/backend/integration-test.js +1 -4
- package/lib/steps/stubs/backend/job.d.ts +1 -1
- package/lib/steps/stubs/backend/job.js +1 -0
- package/lib/steps/stubs/backend/mail-driver.d.ts +7 -0
- package/lib/steps/stubs/backend/mail-driver.js +30 -0
- package/lib/steps/stubs/backend/middleware.d.ts +22 -0
- package/lib/steps/stubs/backend/middleware.js +31 -0
- package/lib/steps/stubs/backend/migration.js +6 -3
- package/lib/steps/stubs/backend/model.d.ts +2 -24
- package/lib/steps/stubs/backend/model.js +3 -5
- package/lib/steps/stubs/backend/notification-blueprint.d.ts +7 -0
- package/lib/steps/stubs/backend/notification-blueprint.js +44 -0
- package/lib/steps/stubs/backend/notification-driver.d.ts +7 -0
- package/lib/steps/stubs/backend/notification-driver.js +30 -0
- package/lib/steps/stubs/backend/policy.d.ts +1 -1
- package/lib/steps/stubs/backend/policy.js +3 -1
- package/lib/steps/stubs/backend/post-type.d.ts +7 -0
- package/lib/steps/stubs/backend/post-type.js +44 -0
- package/lib/steps/stubs/backend/repository.d.ts +1 -1
- package/lib/steps/stubs/backend/repository.js +3 -1
- package/lib/steps/stubs/backend/search-driver-searcher.d.ts +24 -0
- package/lib/steps/stubs/backend/search-driver-searcher.js +32 -0
- package/lib/steps/stubs/backend/search-driver.d.ts +8 -0
- package/lib/steps/stubs/backend/search-driver.js +49 -0
- package/lib/steps/stubs/backend/service-provider.d.ts +1 -1
- package/lib/steps/stubs/backend/service-provider.js +1 -0
- package/lib/steps/stubs/backend/validator.d.ts +1 -1
- package/lib/steps/stubs/backend/validator.js +1 -0
- package/lib/steps/stubs/flarum-base.js +1 -1
- package/lib/steps/stubs/frontend/component.d.ts +0 -5
- package/lib/steps/stubs/frontend/component.js +1 -0
- package/lib/steps/stubs/frontend/forum-page.d.ts +25 -0
- package/lib/steps/stubs/frontend/forum-page.js +37 -0
- package/lib/steps/stubs/frontend/gambit.d.ts +7 -0
- package/lib/steps/stubs/frontend/gambit.js +50 -0
- package/lib/steps/stubs/frontend/modal.d.ts +0 -5
- package/lib/steps/stubs/frontend/modal.js +1 -0
- package/lib/steps/stubs/frontend/model.d.ts +8 -1
- package/lib/steps/stubs/frontend/model.js +6 -0
- package/lib/steps/stubs/frontend/notification.d.ts +11 -0
- package/lib/steps/stubs/frontend/notification.js +48 -0
- package/lib/steps/stubs/frontend/post-type.d.ts +11 -0
- package/lib/steps/stubs/frontend/post-type.js +48 -0
- package/lib/steps/stubs/js-base.js +12 -5
- package/lib/steps/stubs/php-base.js +13 -9
- package/lib/steps/update/js-imports.js +9 -3
- package/lib/steps/upgrade/twopointoh/backend/email-views.d.ts +18 -0
- package/lib/steps/upgrade/twopointoh/backend/email-views.js +81 -0
- package/lib/steps/upgrade/twopointoh/backend/filesystem.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/filesystem.js +40 -0
- package/lib/steps/upgrade/twopointoh/backend/intervention-image.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/intervention-image.js +44 -0
- package/lib/steps/upgrade/twopointoh/backend/json-api.d.ts +12 -0
- package/lib/steps/upgrade/twopointoh/backend/json-api.js +111 -0
- package/lib/steps/upgrade/twopointoh/backend/mailer.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/mailer.js +37 -0
- package/lib/steps/upgrade/twopointoh/backend/misc.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/misc.js +42 -0
- package/lib/steps/upgrade/twopointoh/backend/phpunit.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/backend/phpunit.js +52 -0
- package/lib/steps/upgrade/twopointoh/backend/search.d.ts +28 -0
- package/lib/steps/upgrade/twopointoh/backend/search.js +200 -0
- package/lib/steps/upgrade/twopointoh/base.d.ts +58 -0
- package/lib/steps/upgrade/twopointoh/base.js +284 -0
- package/lib/steps/upgrade/twopointoh/dependencies.d.ts +10 -0
- package/lib/steps/upgrade/twopointoh/dependencies.js +108 -0
- package/lib/steps/upgrade/twopointoh/frontend/code-splitting/usage-of-lazy-modules.d.ts +26 -0
- package/lib/steps/upgrade/twopointoh/frontend/code-splitting/usage-of-lazy-modules.js +418 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/compat.d.ts +12 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/compat.js +75 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/import-ext.d.ts +13 -0
- package/lib/steps/upgrade/twopointoh/frontend/export-registry/import-ext.js +126 -0
- package/lib/steps/upgrade/twopointoh/frontend/format.d.ts +8 -0
- package/lib/steps/upgrade/twopointoh/frontend/format.js +32 -0
- package/lib/steps/upgrade/twopointoh/frontend/misc.d.ts +17 -0
- package/lib/steps/upgrade/twopointoh/frontend/misc.js +433 -0
- package/lib/steps/upgrade/twopointoh/infra.d.ts +10 -0
- package/lib/steps/upgrade/twopointoh/infra.js +51 -0
- package/lib/steps/upgrade/twopointoh/less.d.ts +12 -0
- package/lib/steps/upgrade/twopointoh/less.js +217 -0
- package/lib/utils/add-extenders.d.ts +2 -0
- package/lib/utils/add-extenders.js +115 -0
- package/lib/utils/ast.d.ts +22 -0
- package/lib/utils/ast.js +235 -0
- package/lib/utils/composer.d.ts +2 -1
- package/lib/utils/migration.js +3 -1
- package/lib/utils/model-name.d.ts +1 -0
- package/lib/utils/model-name.js +7 -3
- package/lib/utils/monorepo.d.ts +24 -0
- package/lib/utils/monorepo.js +24 -0
- package/lib/utils/validation.d.ts +6 -1
- package/lib/utils/validation.js +15 -0
- package/oclif.manifest.json +1 -1
- package/package.json +27 -14
- package/php-subsystem/composer.json +11 -9
- package/php-subsystem/composer.lock +66 -71
- package/php-subsystem/index.php +41 -6
- package/php-subsystem/src/CustomPrettyPrinter.php +1 -1
- package/php-subsystem/src/ExtenderUtil.php +7 -13
- package/php-subsystem/src/NodeUtil.php +72 -0
- package/php-subsystem/src/NodeVisitors/AddExtender.php +28 -12
- package/php-subsystem/src/NodeVisitors/AddUses.php +24 -0
- package/php-subsystem/src/NodeVisitors/ChangeSignatures.php +200 -0
- package/php-subsystem/src/NodeVisitors/ReplaceUses.php +175 -0
- package/php-subsystem/src/Upgrade/Replacement.php +51 -0
- package/php-subsystem/src/Upgrade/ReplacementResult.php +17 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/EmailViews.php +94 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/Filesystem.php +88 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/InterventionImage.php +86 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/JsonApi.php +186 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/Misc.php +564 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/PhpUnit.php +241 -0
- package/php-subsystem/src/Upgrade/TwoPointOh/Search.php +589 -0
- package/php-subsystem/vendor/autoload.php +18 -0
- package/php-subsystem/vendor/bin/php-parse +119 -0
- package/php-subsystem/vendor/composer/ClassLoader.php +166 -32
- package/php-subsystem/vendor/composer/InstalledVersions.php +350 -209
- package/php-subsystem/vendor/composer/autoload_classmap.php +1 -1
- package/php-subsystem/vendor/composer/autoload_namespaces.php +1 -1
- package/php-subsystem/vendor/composer/autoload_psr4.php +1 -1
- package/php-subsystem/vendor/composer/autoload_real.php +3 -22
- package/php-subsystem/vendor/composer/installed.json +56 -61
- package/php-subsystem/vendor/composer/installed.php +29 -30
- package/php-subsystem/vendor/composer/platform_check.php +2 -2
- package/php-subsystem/vendor/nikic/php-parser/README.md +21 -13
- package/php-subsystem/vendor/nikic/php-parser/bin/php-parse +12 -11
- package/php-subsystem/vendor/nikic/php-parser/composer.json +41 -39
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +58 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +54 -25
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +11 -4
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +87 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +116 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +22 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +26 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +31 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +5 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +69 -26
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +47 -18
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +6 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +25 -28
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +31 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +8 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +85 -70
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +119 -71
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Comment.php +35 -67
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +3 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +17 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Error.php +24 -33
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +6 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +11 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +36 -22
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +24 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +63 -69
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +15 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +74 -92
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +11 -18
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +10 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +45 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +19 -25
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +6 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +22 -29
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +31 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +6 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +10 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +70 -491
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php +69 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +23 -24
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +13 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +5 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +13 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +12 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +1 -39
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +11 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +35 -30
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +8 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +35 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +5 -6
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +5 -6
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +12 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +34 -27
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +1 -32
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +5 -6
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +15 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +13 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +11 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +12 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +8 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +18 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +17 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +18 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +10 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +10 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +9 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +19 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +11 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +12 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +6 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +13 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +27 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +80 -53
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +47 -23
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +1 -68
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +1 -29
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +1 -28
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +1 -71
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +44 -24
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +10 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +33 -27
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +15 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +66 -71
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +48 -61
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +1 -32
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +12 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +17 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +19 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +20 -17
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +31 -27
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +16 -14
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +18 -15
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +13 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +35 -36
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +1 -32
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +1 -35
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +8 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +8 -9
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +12 -13
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +3 -4
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +10 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +11 -12
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +7 -8
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +1 -50
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +16 -16
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +9 -10
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php +8 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node.php +24 -29
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +20 -20
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +169 -82
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +28 -19
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +71 -84
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +4 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +4 -5
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +6 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +40 -24
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +2 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +8 -11
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +59 -7
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +1 -2
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2011 -2058
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2717 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser.php +9 -3
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +466 -248
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +31 -33
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +164 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +419 -338
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +587 -431
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Token.php +18 -0
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +63 -0
- package/boilerplate/stubs/backend/api-controller/create.php +0 -53
- package/boilerplate/stubs/backend/api-controller/delete.php +0 -52
- package/boilerplate/stubs/backend/api-controller/list.php +0 -61
- package/boilerplate/stubs/backend/api-controller/normal.php +0 -29
- package/boilerplate/stubs/backend/api-controller/show.php +0 -48
- package/boilerplate/stubs/backend/api-controller/update.php +0 -54
- package/boilerplate/stubs/backend/api-serializer.php +0 -36
- package/lib/commands/make/backend/api-controller.js +0 -27
- package/lib/commands/make/backend/api-serializer-attributes.js +0 -15
- package/lib/commands/make/backend/api-serializer.js +0 -15
- package/lib/steps/extenders/api-serializer.js +0 -77
- package/lib/steps/stubs/backend/api-controller.js +0 -62
- package/lib/steps/stubs/frontend/migration.js +0 -1
- package/php-subsystem/vendor/nikic/php-parser/.editorconfig +0 -9
- package/php-subsystem/vendor/nikic/php-parser/grammar/README.md +0 -30
- package/php-subsystem/vendor/nikic/php-parser/grammar/parser.template +0 -106
- package/php-subsystem/vendor/nikic/php-parser/grammar/php5.y +0 -1026
- package/php-subsystem/vendor/nikic/php-parser/grammar/php7.y +0 -1152
- package/php-subsystem/vendor/nikic/php-parser/grammar/phpyLang.php +0 -192
- package/php-subsystem/vendor/nikic/php-parser/grammar/rebuildParsers.php +0 -81
- package/php-subsystem/vendor/nikic/php-parser/grammar/tokens.template +0 -17
- package/php-subsystem/vendor/nikic/php-parser/grammar/tokens.y +0 -115
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +0 -47
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +0 -76
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +0 -23
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +0 -105
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +0 -30
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +0 -55
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +0 -2630
- package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +0 -145
- /package/{lib/steps/stubs/frontend/migration.d.ts → boilerplate/skeleton/extension/js/tests/integration/.gitkeep} +0 -0
- /package/boilerplate/skeleton/extension/js/{webpack.config.js → webpack.config.cjs} +0 -0
|
@@ -2,23 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser;
|
|
4
4
|
|
|
5
|
-
class Comment implements \JsonSerializable
|
|
6
|
-
|
|
7
|
-
protected $
|
|
8
|
-
protected $
|
|
9
|
-
protected $
|
|
10
|
-
protected $
|
|
11
|
-
protected $
|
|
12
|
-
protected $
|
|
13
|
-
protected $endTokenPos;
|
|
5
|
+
class Comment implements \JsonSerializable {
|
|
6
|
+
protected string $text;
|
|
7
|
+
protected int $startLine;
|
|
8
|
+
protected int $startFilePos;
|
|
9
|
+
protected int $startTokenPos;
|
|
10
|
+
protected int $endLine;
|
|
11
|
+
protected int $endFilePos;
|
|
12
|
+
protected int $endTokenPos;
|
|
14
13
|
|
|
15
14
|
/**
|
|
16
15
|
* Constructs a comment node.
|
|
17
16
|
*
|
|
18
|
-
* @param string $text
|
|
19
|
-
* @param int
|
|
20
|
-
* @param int
|
|
21
|
-
* @param int
|
|
17
|
+
* @param string $text Comment text (including comment delimiters like /*)
|
|
18
|
+
* @param int $startLine Line number the comment started on
|
|
19
|
+
* @param int $startFilePos File offset the comment started on
|
|
20
|
+
* @param int $startTokenPos Token offset the comment started on
|
|
22
21
|
*/
|
|
23
22
|
public function __construct(
|
|
24
23
|
string $text,
|
|
@@ -39,7 +38,7 @@ class Comment implements \JsonSerializable
|
|
|
39
38
|
*
|
|
40
39
|
* @return string The comment text (including comment delimiters like /*)
|
|
41
40
|
*/
|
|
42
|
-
public function getText()
|
|
41
|
+
public function getText(): string {
|
|
43
42
|
return $this->text;
|
|
44
43
|
}
|
|
45
44
|
|
|
@@ -48,7 +47,7 @@ class Comment implements \JsonSerializable
|
|
|
48
47
|
*
|
|
49
48
|
* @return int Line number (or -1 if not available)
|
|
50
49
|
*/
|
|
51
|
-
public function getStartLine()
|
|
50
|
+
public function getStartLine(): int {
|
|
52
51
|
return $this->startLine;
|
|
53
52
|
}
|
|
54
53
|
|
|
@@ -57,7 +56,7 @@ class Comment implements \JsonSerializable
|
|
|
57
56
|
*
|
|
58
57
|
* @return int File offset (or -1 if not available)
|
|
59
58
|
*/
|
|
60
|
-
public function getStartFilePos()
|
|
59
|
+
public function getStartFilePos(): int {
|
|
61
60
|
return $this->startFilePos;
|
|
62
61
|
}
|
|
63
62
|
|
|
@@ -66,7 +65,7 @@ class Comment implements \JsonSerializable
|
|
|
66
65
|
*
|
|
67
66
|
* @return int Token offset (or -1 if not available)
|
|
68
67
|
*/
|
|
69
|
-
public function getStartTokenPos()
|
|
68
|
+
public function getStartTokenPos(): int {
|
|
70
69
|
return $this->startTokenPos;
|
|
71
70
|
}
|
|
72
71
|
|
|
@@ -75,7 +74,7 @@ class Comment implements \JsonSerializable
|
|
|
75
74
|
*
|
|
76
75
|
* @return int Line number (or -1 if not available)
|
|
77
76
|
*/
|
|
78
|
-
public function getEndLine()
|
|
77
|
+
public function getEndLine(): int {
|
|
79
78
|
return $this->endLine;
|
|
80
79
|
}
|
|
81
80
|
|
|
@@ -84,7 +83,7 @@ class Comment implements \JsonSerializable
|
|
|
84
83
|
*
|
|
85
84
|
* @return int File offset (or -1 if not available)
|
|
86
85
|
*/
|
|
87
|
-
public function getEndFilePos()
|
|
86
|
+
public function getEndFilePos(): int {
|
|
88
87
|
return $this->endFilePos;
|
|
89
88
|
}
|
|
90
89
|
|
|
@@ -93,49 +92,16 @@ class Comment implements \JsonSerializable
|
|
|
93
92
|
*
|
|
94
93
|
* @return int Token offset (or -1 if not available)
|
|
95
94
|
*/
|
|
96
|
-
public function getEndTokenPos()
|
|
95
|
+
public function getEndTokenPos(): int {
|
|
97
96
|
return $this->endTokenPos;
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
/**
|
|
101
|
-
* Gets the line number the comment started on.
|
|
102
|
-
*
|
|
103
|
-
* @deprecated Use getStartLine() instead
|
|
104
|
-
*
|
|
105
|
-
* @return int Line number
|
|
106
|
-
*/
|
|
107
|
-
public function getLine() : int {
|
|
108
|
-
return $this->startLine;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Gets the file offset the comment started on.
|
|
113
|
-
*
|
|
114
|
-
* @deprecated Use getStartFilePos() instead
|
|
115
|
-
*
|
|
116
|
-
* @return int File offset
|
|
117
|
-
*/
|
|
118
|
-
public function getFilePos() : int {
|
|
119
|
-
return $this->startFilePos;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Gets the token offset the comment started on.
|
|
124
|
-
*
|
|
125
|
-
* @deprecated Use getStartTokenPos() instead
|
|
126
|
-
*
|
|
127
|
-
* @return int Token offset
|
|
128
|
-
*/
|
|
129
|
-
public function getTokenPos() : int {
|
|
130
|
-
return $this->startTokenPos;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
99
|
/**
|
|
134
100
|
* Gets the comment text.
|
|
135
101
|
*
|
|
136
102
|
* @return string The comment text (including comment delimiters like /*)
|
|
137
103
|
*/
|
|
138
|
-
public function __toString()
|
|
104
|
+
public function __toString(): string {
|
|
139
105
|
return $this->text;
|
|
140
106
|
}
|
|
141
107
|
|
|
@@ -144,18 +110,19 @@ class Comment implements \JsonSerializable
|
|
|
144
110
|
*
|
|
145
111
|
* "Reformatted" here means that we try to clean up the whitespace at the
|
|
146
112
|
* starts of the lines. This is necessary because we receive the comments
|
|
147
|
-
* without
|
|
113
|
+
* without leading whitespace on the first line, but with leading whitespace
|
|
148
114
|
* on all subsequent lines.
|
|
149
115
|
*
|
|
150
|
-
*
|
|
116
|
+
* Additionally, this normalizes CRLF newlines to LF newlines.
|
|
151
117
|
*/
|
|
152
|
-
public function getReformattedText() {
|
|
153
|
-
$text =
|
|
118
|
+
public function getReformattedText(): string {
|
|
119
|
+
$text = str_replace("\r\n", "\n", $this->text);
|
|
154
120
|
$newlinePos = strpos($text, "\n");
|
|
155
121
|
if (false === $newlinePos) {
|
|
156
122
|
// Single line comments don't need further processing
|
|
157
123
|
return $text;
|
|
158
|
-
}
|
|
124
|
+
}
|
|
125
|
+
if (preg_match('(^.*(?:\n\s+\*.*)+$)', $text)) {
|
|
159
126
|
// Multi line comment of the type
|
|
160
127
|
//
|
|
161
128
|
// /*
|
|
@@ -164,8 +131,9 @@ class Comment implements \JsonSerializable
|
|
|
164
131
|
// */
|
|
165
132
|
//
|
|
166
133
|
// is handled by replacing the whitespace sequences before the * by a single space
|
|
167
|
-
return preg_replace('(^\s+\*)m', ' *', $
|
|
168
|
-
}
|
|
134
|
+
return preg_replace('(^\s+\*)m', ' *', $text);
|
|
135
|
+
}
|
|
136
|
+
if (preg_match('(^/\*\*?\s*\n)', $text) && preg_match('(\n(\s*)\*/$)', $text, $matches)) {
|
|
169
137
|
// Multi line comment of the type
|
|
170
138
|
//
|
|
171
139
|
// /*
|
|
@@ -177,7 +145,8 @@ class Comment implements \JsonSerializable
|
|
|
177
145
|
// */ on all lines. So if the last line is " */", then " " is removed at the
|
|
178
146
|
// start of all lines.
|
|
179
147
|
return preg_replace('(^' . preg_quote($matches[1]) . ')m', '', $text);
|
|
180
|
-
}
|
|
148
|
+
}
|
|
149
|
+
if (preg_match('(^/\*\*?\s*(?!\s))', $text, $matches)) {
|
|
181
150
|
// Multi line comment of the type
|
|
182
151
|
//
|
|
183
152
|
// /* Some text.
|
|
@@ -204,9 +173,9 @@ class Comment implements \JsonSerializable
|
|
|
204
173
|
* @param string $str String to check
|
|
205
174
|
* @return int Length in characters. Tabs count as single characters.
|
|
206
175
|
*/
|
|
207
|
-
private function getShortestWhitespacePrefixLen(string $str)
|
|
176
|
+
private function getShortestWhitespacePrefixLen(string $str): int {
|
|
208
177
|
$lines = explode("\n", $str);
|
|
209
|
-
$shortestPrefixLen = \
|
|
178
|
+
$shortestPrefixLen = \PHP_INT_MAX;
|
|
210
179
|
foreach ($lines as $line) {
|
|
211
180
|
preg_match('(^\s*)', $line, $matches);
|
|
212
181
|
$prefixLen = strlen($matches[0]);
|
|
@@ -218,10 +187,9 @@ class Comment implements \JsonSerializable
|
|
|
218
187
|
}
|
|
219
188
|
|
|
220
189
|
/**
|
|
221
|
-
* @return
|
|
222
|
-
* @psalm-return array{nodeType:string, text:mixed, line:mixed, filePos:mixed}
|
|
190
|
+
* @return array{nodeType:string, text:mixed, line:mixed, filePos:mixed}
|
|
223
191
|
*/
|
|
224
|
-
public function jsonSerialize()
|
|
192
|
+
public function jsonSerialize(): array {
|
|
225
193
|
// Technically not a node, but we make it look like one anyway
|
|
226
194
|
$type = $this instanceof Comment\Doc ? 'Comment_Doc' : 'Comment';
|
|
227
195
|
return [
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
<?php
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
2
|
|
|
3
3
|
namespace PhpParser;
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node\Expr;
|
|
6
6
|
use PhpParser\Node\Scalar;
|
|
7
7
|
|
|
8
|
+
use function array_merge;
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* Evaluates constant expressions.
|
|
10
12
|
*
|
|
@@ -24,8 +26,8 @@ use PhpParser\Node\Scalar;
|
|
|
24
26
|
* point to string conversions are affected by the precision ini setting. Secondly, they are also
|
|
25
27
|
* affected by the LC_NUMERIC locale.
|
|
26
28
|
*/
|
|
27
|
-
class ConstExprEvaluator
|
|
28
|
-
|
|
29
|
+
class ConstExprEvaluator {
|
|
30
|
+
/** @var callable|null */
|
|
29
31
|
private $fallbackEvaluator;
|
|
30
32
|
|
|
31
33
|
/**
|
|
@@ -36,8 +38,8 @@ class ConstExprEvaluator
|
|
|
36
38
|
*
|
|
37
39
|
* @param callable|null $fallbackEvaluator To call if subexpression cannot be evaluated
|
|
38
40
|
*/
|
|
39
|
-
public function __construct(callable $fallbackEvaluator = null) {
|
|
40
|
-
$this->fallbackEvaluator = $fallbackEvaluator ?? function(Expr $expr) {
|
|
41
|
+
public function __construct(?callable $fallbackEvaluator = null) {
|
|
42
|
+
$this->fallbackEvaluator = $fallbackEvaluator ?? function (Expr $expr) {
|
|
41
43
|
throw new ConstExprEvaluationException(
|
|
42
44
|
"Expression of type {$expr->getType()} cannot be evaluated"
|
|
43
45
|
);
|
|
@@ -62,7 +64,7 @@ class ConstExprEvaluator
|
|
|
62
64
|
* @throws ConstExprEvaluationException if the expression cannot be evaluated or an error occurred
|
|
63
65
|
*/
|
|
64
66
|
public function evaluateSilently(Expr $expr) {
|
|
65
|
-
set_error_handler(function($num, $str, $file, $line) {
|
|
67
|
+
set_error_handler(function ($num, $str, $file, $line) {
|
|
66
68
|
throw new \ErrorException($str, 0, $num, $file, $line);
|
|
67
69
|
});
|
|
68
70
|
|
|
@@ -100,9 +102,10 @@ class ConstExprEvaluator
|
|
|
100
102
|
return $this->evaluate($expr);
|
|
101
103
|
}
|
|
102
104
|
|
|
105
|
+
/** @return mixed */
|
|
103
106
|
private function evaluate(Expr $expr) {
|
|
104
|
-
if ($expr instanceof Scalar\
|
|
105
|
-
|| $expr instanceof Scalar\
|
|
107
|
+
if ($expr instanceof Scalar\Int_
|
|
108
|
+
|| $expr instanceof Scalar\Float_
|
|
106
109
|
|| $expr instanceof Scalar\String_
|
|
107
110
|
) {
|
|
108
111
|
return $expr->value;
|
|
@@ -145,11 +148,13 @@ class ConstExprEvaluator
|
|
|
145
148
|
return ($this->fallbackEvaluator)($expr);
|
|
146
149
|
}
|
|
147
150
|
|
|
148
|
-
private function evaluateArray(Expr\Array_ $expr) {
|
|
151
|
+
private function evaluateArray(Expr\Array_ $expr): array {
|
|
149
152
|
$array = [];
|
|
150
153
|
foreach ($expr->items as $item) {
|
|
151
154
|
if (null !== $item->key) {
|
|
152
155
|
$array[$this->evaluate($item->key)] = $this->evaluate($item->value);
|
|
156
|
+
} elseif ($item->unpack) {
|
|
157
|
+
$array = array_merge($array, $this->evaluate($item->value));
|
|
153
158
|
} else {
|
|
154
159
|
$array[] = $this->evaluate($item->value);
|
|
155
160
|
}
|
|
@@ -157,6 +162,7 @@ class ConstExprEvaluator
|
|
|
157
162
|
return $array;
|
|
158
163
|
}
|
|
159
164
|
|
|
165
|
+
/** @return mixed */
|
|
160
166
|
private function evaluateTernary(Expr\Ternary $expr) {
|
|
161
167
|
if (null === $expr->if) {
|
|
162
168
|
return $this->evaluate($expr->cond) ?: $this->evaluate($expr->else);
|
|
@@ -167,6 +173,7 @@ class ConstExprEvaluator
|
|
|
167
173
|
: $this->evaluate($expr->else);
|
|
168
174
|
}
|
|
169
175
|
|
|
176
|
+
/** @return mixed */
|
|
170
177
|
private function evaluateBinaryOp(Expr\BinaryOp $expr) {
|
|
171
178
|
if ($expr instanceof Expr\BinaryOp\Coalesce
|
|
172
179
|
&& $expr->left instanceof Expr\ArrayDimFetch
|
|
@@ -213,6 +220,7 @@ class ConstExprEvaluator
|
|
|
213
220
|
throw new \Exception('Should not happen');
|
|
214
221
|
}
|
|
215
222
|
|
|
223
|
+
/** @return mixed */
|
|
216
224
|
private function evaluateConstFetch(Expr\ConstFetch $expr) {
|
|
217
225
|
$name = $expr->name->toLowerString();
|
|
218
226
|
switch ($name) {
|
|
@@ -2,25 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser;
|
|
4
4
|
|
|
5
|
-
class Error extends \RuntimeException
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
protected $attributes;
|
|
5
|
+
class Error extends \RuntimeException {
|
|
6
|
+
protected string $rawMessage;
|
|
7
|
+
/** @var array<string, mixed> */
|
|
8
|
+
protected array $attributes;
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Creates an Exception signifying a parse error.
|
|
12
12
|
*
|
|
13
|
-
* @param string
|
|
14
|
-
* @param array
|
|
15
|
-
* (or start line of error -- deprecated)
|
|
13
|
+
* @param string $message Error message
|
|
14
|
+
* @param array<string, mixed> $attributes Attributes of node/token where error occurred
|
|
16
15
|
*/
|
|
17
|
-
public function __construct(string $message, $attributes = []) {
|
|
16
|
+
public function __construct(string $message, array $attributes = []) {
|
|
18
17
|
$this->rawMessage = $message;
|
|
19
|
-
|
|
20
|
-
$this->attributes = $attributes;
|
|
21
|
-
} else {
|
|
22
|
-
$this->attributes = ['startLine' => $attributes];
|
|
23
|
-
}
|
|
18
|
+
$this->attributes = $attributes;
|
|
24
19
|
$this->updateMessage();
|
|
25
20
|
}
|
|
26
21
|
|
|
@@ -29,7 +24,7 @@ class Error extends \RuntimeException
|
|
|
29
24
|
*
|
|
30
25
|
* @return string Error message
|
|
31
26
|
*/
|
|
32
|
-
public function getRawMessage()
|
|
27
|
+
public function getRawMessage(): string {
|
|
33
28
|
return $this->rawMessage;
|
|
34
29
|
}
|
|
35
30
|
|
|
@@ -38,7 +33,7 @@ class Error extends \RuntimeException
|
|
|
38
33
|
*
|
|
39
34
|
* @return int Error start line
|
|
40
35
|
*/
|
|
41
|
-
public function getStartLine()
|
|
36
|
+
public function getStartLine(): int {
|
|
42
37
|
return $this->attributes['startLine'] ?? -1;
|
|
43
38
|
}
|
|
44
39
|
|
|
@@ -47,25 +42,25 @@ class Error extends \RuntimeException
|
|
|
47
42
|
*
|
|
48
43
|
* @return int Error end line
|
|
49
44
|
*/
|
|
50
|
-
public function getEndLine()
|
|
45
|
+
public function getEndLine(): int {
|
|
51
46
|
return $this->attributes['endLine'] ?? -1;
|
|
52
47
|
}
|
|
53
48
|
|
|
54
49
|
/**
|
|
55
50
|
* Gets the attributes of the node/token the error occurred at.
|
|
56
51
|
*
|
|
57
|
-
* @return array
|
|
52
|
+
* @return array<string, mixed>
|
|
58
53
|
*/
|
|
59
|
-
public function getAttributes()
|
|
54
|
+
public function getAttributes(): array {
|
|
60
55
|
return $this->attributes;
|
|
61
56
|
}
|
|
62
57
|
|
|
63
58
|
/**
|
|
64
59
|
* Sets the attributes of the node/token the error occurred at.
|
|
65
60
|
*
|
|
66
|
-
* @param array $attributes
|
|
61
|
+
* @param array<string, mixed> $attributes
|
|
67
62
|
*/
|
|
68
|
-
public function setAttributes(array $attributes) {
|
|
63
|
+
public function setAttributes(array $attributes): void {
|
|
69
64
|
$this->attributes = $attributes;
|
|
70
65
|
$this->updateMessage();
|
|
71
66
|
}
|
|
@@ -75,7 +70,7 @@ class Error extends \RuntimeException
|
|
|
75
70
|
*
|
|
76
71
|
* @param string $message Error message
|
|
77
72
|
*/
|
|
78
|
-
public function setRawMessage(string $message) {
|
|
73
|
+
public function setRawMessage(string $message): void {
|
|
79
74
|
$this->rawMessage = $message;
|
|
80
75
|
$this->updateMessage();
|
|
81
76
|
}
|
|
@@ -85,7 +80,7 @@ class Error extends \RuntimeException
|
|
|
85
80
|
*
|
|
86
81
|
* @param int $line Error start line
|
|
87
82
|
*/
|
|
88
|
-
public function setStartLine(int $line) {
|
|
83
|
+
public function setStartLine(int $line): void {
|
|
89
84
|
$this->attributes['startLine'] = $line;
|
|
90
85
|
$this->updateMessage();
|
|
91
86
|
}
|
|
@@ -94,10 +89,8 @@ class Error extends \RuntimeException
|
|
|
94
89
|
* Returns whether the error has start and end column information.
|
|
95
90
|
*
|
|
96
91
|
* For column information enable the startFilePos and endFilePos in the lexer options.
|
|
97
|
-
*
|
|
98
|
-
* @return bool
|
|
99
92
|
*/
|
|
100
|
-
public function hasColumnInfo()
|
|
93
|
+
public function hasColumnInfo(): bool {
|
|
101
94
|
return isset($this->attributes['startFilePos'], $this->attributes['endFilePos']);
|
|
102
95
|
}
|
|
103
96
|
|
|
@@ -105,9 +98,8 @@ class Error extends \RuntimeException
|
|
|
105
98
|
* Gets the start column (1-based) into the line where the error started.
|
|
106
99
|
*
|
|
107
100
|
* @param string $code Source code of the file
|
|
108
|
-
* @return int
|
|
109
101
|
*/
|
|
110
|
-
public function getStartColumn(string $code)
|
|
102
|
+
public function getStartColumn(string $code): int {
|
|
111
103
|
if (!$this->hasColumnInfo()) {
|
|
112
104
|
throw new \RuntimeException('Error does not have column information');
|
|
113
105
|
}
|
|
@@ -119,9 +111,8 @@ class Error extends \RuntimeException
|
|
|
119
111
|
* Gets the end column (1-based) into the line where the error ended.
|
|
120
112
|
*
|
|
121
113
|
* @param string $code Source code of the file
|
|
122
|
-
* @return int
|
|
123
114
|
*/
|
|
124
|
-
public function getEndColumn(string $code)
|
|
115
|
+
public function getEndColumn(string $code): int {
|
|
125
116
|
if (!$this->hasColumnInfo()) {
|
|
126
117
|
throw new \RuntimeException('Error does not have column information');
|
|
127
118
|
}
|
|
@@ -136,7 +127,7 @@ class Error extends \RuntimeException
|
|
|
136
127
|
*
|
|
137
128
|
* @return string Formatted message
|
|
138
129
|
*/
|
|
139
|
-
public function getMessageWithColumnInfo(string $code)
|
|
130
|
+
public function getMessageWithColumnInfo(string $code): string {
|
|
140
131
|
return sprintf(
|
|
141
132
|
'%s from %d:%d to %d:%d', $this->getRawMessage(),
|
|
142
133
|
$this->getStartLine(), $this->getStartColumn($code),
|
|
@@ -148,11 +139,11 @@ class Error extends \RuntimeException
|
|
|
148
139
|
* Converts a file offset into a column.
|
|
149
140
|
*
|
|
150
141
|
* @param string $code Source code that $pos indexes into
|
|
151
|
-
* @param int
|
|
142
|
+
* @param int $pos 0-based position in $code
|
|
152
143
|
*
|
|
153
144
|
* @return int 1-based column (relative to start of line)
|
|
154
145
|
*/
|
|
155
|
-
private function toColumn(string $code, int $pos)
|
|
146
|
+
private function toColumn(string $code, int $pos): int {
|
|
156
147
|
if ($pos > strlen($code)) {
|
|
157
148
|
throw new \RuntimeException('Invalid position information');
|
|
158
149
|
}
|
|
@@ -168,7 +159,7 @@ class Error extends \RuntimeException
|
|
|
168
159
|
/**
|
|
169
160
|
* Updates the exception message after a change to rawMessage or rawLine.
|
|
170
161
|
*/
|
|
171
|
-
protected function updateMessage() {
|
|
162
|
+
protected function updateMessage(): void {
|
|
172
163
|
$this->message = $this->rawMessage;
|
|
173
164
|
|
|
174
165
|
if (-1 === $this->getStartLine()) {
|
|
@@ -10,12 +10,11 @@ use PhpParser\ErrorHandler;
|
|
|
10
10
|
*
|
|
11
11
|
* This allows graceful handling of errors.
|
|
12
12
|
*/
|
|
13
|
-
class Collecting implements ErrorHandler
|
|
14
|
-
{
|
|
13
|
+
class Collecting implements ErrorHandler {
|
|
15
14
|
/** @var Error[] Collected errors */
|
|
16
|
-
private $errors = [];
|
|
15
|
+
private array $errors = [];
|
|
17
16
|
|
|
18
|
-
public function handleError(Error $error) {
|
|
17
|
+
public function handleError(Error $error): void {
|
|
19
18
|
$this->errors[] = $error;
|
|
20
19
|
}
|
|
21
20
|
|
|
@@ -24,23 +23,21 @@ class Collecting implements ErrorHandler
|
|
|
24
23
|
*
|
|
25
24
|
* @return Error[]
|
|
26
25
|
*/
|
|
27
|
-
public function getErrors()
|
|
26
|
+
public function getErrors(): array {
|
|
28
27
|
return $this->errors;
|
|
29
28
|
}
|
|
30
29
|
|
|
31
30
|
/**
|
|
32
31
|
* Check whether there are any errors.
|
|
33
|
-
*
|
|
34
|
-
* @return bool
|
|
35
32
|
*/
|
|
36
|
-
public function hasErrors()
|
|
33
|
+
public function hasErrors(): bool {
|
|
37
34
|
return !empty($this->errors);
|
|
38
35
|
}
|
|
39
36
|
|
|
40
37
|
/**
|
|
41
38
|
* Reset/clear collected errors.
|
|
42
39
|
*/
|
|
43
|
-
public function clearErrors() {
|
|
40
|
+
public function clearErrors(): void {
|
|
44
41
|
$this->errors = [];
|
|
45
42
|
}
|
|
46
43
|
}
|
|
@@ -10,9 +10,8 @@ use PhpParser\ErrorHandler;
|
|
|
10
10
|
*
|
|
11
11
|
* This is the default strategy used by all components.
|
|
12
12
|
*/
|
|
13
|
-
class Throwing implements ErrorHandler
|
|
14
|
-
{
|
|
15
|
-
public function handleError(Error $error) {
|
|
13
|
+
class Throwing implements ErrorHandler {
|
|
14
|
+
public function handleError(Error $error): void {
|
|
16
15
|
throw $error;
|
|
17
16
|
}
|
|
18
17
|
}
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser;
|
|
4
4
|
|
|
5
|
-
interface ErrorHandler
|
|
6
|
-
{
|
|
5
|
+
interface ErrorHandler {
|
|
7
6
|
/**
|
|
8
7
|
* Handle an error generated during lexing, parsing or some other operation.
|
|
9
8
|
*
|
|
10
9
|
* @param Error $error The error that needs to be handled
|
|
11
10
|
*/
|
|
12
|
-
public function handleError(Error $error);
|
|
11
|
+
public function handleError(Error $error): void;
|
|
13
12
|
}
|
|
@@ -5,20 +5,24 @@ namespace PhpParser\Internal;
|
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
8
|
-
class DiffElem
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const TYPE_REPLACE = 3;
|
|
8
|
+
class DiffElem {
|
|
9
|
+
public const TYPE_KEEP = 0;
|
|
10
|
+
public const TYPE_REMOVE = 1;
|
|
11
|
+
public const TYPE_ADD = 2;
|
|
12
|
+
public const TYPE_REPLACE = 3;
|
|
14
13
|
|
|
15
14
|
/** @var int One of the TYPE_* constants */
|
|
16
|
-
public $type;
|
|
15
|
+
public int $type;
|
|
17
16
|
/** @var mixed Is null for add operations */
|
|
18
17
|
public $old;
|
|
19
18
|
/** @var mixed Is null for remove operations */
|
|
20
19
|
public $new;
|
|
21
20
|
|
|
21
|
+
/**
|
|
22
|
+
* @param int $type One of the TYPE_* constants
|
|
23
|
+
* @param mixed $old Is null for add operations
|
|
24
|
+
* @param mixed $new Is null for remove operations
|
|
25
|
+
*/
|
|
22
26
|
public function __construct(int $type, $old, $new) {
|
|
23
27
|
$this->type = $type;
|
|
24
28
|
$this->old = $old;
|