@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
|
@@ -5,25 +5,27 @@ namespace PhpParser;
|
|
|
5
5
|
use PhpParser\NodeVisitor\FindingVisitor;
|
|
6
6
|
use PhpParser\NodeVisitor\FirstFindingVisitor;
|
|
7
7
|
|
|
8
|
-
class NodeFinder
|
|
9
|
-
{
|
|
8
|
+
class NodeFinder {
|
|
10
9
|
/**
|
|
11
10
|
* Find all nodes satisfying a filter callback.
|
|
12
11
|
*
|
|
13
|
-
* @param Node|Node[] $nodes
|
|
14
|
-
* @param callable
|
|
12
|
+
* @param Node|Node[] $nodes Single node or array of nodes to search in
|
|
13
|
+
* @param callable $filter Filter callback: function(Node $node) : bool
|
|
15
14
|
*
|
|
16
15
|
* @return Node[] Found nodes satisfying the filter callback
|
|
17
16
|
*/
|
|
18
|
-
public function find($nodes, callable $filter)
|
|
17
|
+
public function find($nodes, callable $filter): array {
|
|
18
|
+
if ($nodes === []) {
|
|
19
|
+
return [];
|
|
20
|
+
}
|
|
21
|
+
|
|
19
22
|
if (!is_array($nodes)) {
|
|
20
23
|
$nodes = [$nodes];
|
|
21
24
|
}
|
|
22
25
|
|
|
23
26
|
$visitor = new FindingVisitor($filter);
|
|
24
27
|
|
|
25
|
-
$traverser = new NodeTraverser;
|
|
26
|
-
$traverser->addVisitor($visitor);
|
|
28
|
+
$traverser = new NodeTraverser($visitor);
|
|
27
29
|
$traverser->traverse($nodes);
|
|
28
30
|
|
|
29
31
|
return $visitor->getFoundNodes();
|
|
@@ -31,13 +33,15 @@ class NodeFinder
|
|
|
31
33
|
|
|
32
34
|
/**
|
|
33
35
|
* Find all nodes that are instances of a certain class.
|
|
36
|
+
|
|
37
|
+
* @template TNode as Node
|
|
34
38
|
*
|
|
35
39
|
* @param Node|Node[] $nodes Single node or array of nodes to search in
|
|
36
|
-
* @param string
|
|
40
|
+
* @param class-string<TNode> $class Class name
|
|
37
41
|
*
|
|
38
|
-
* @return
|
|
42
|
+
* @return TNode[] Found nodes (all instances of $class)
|
|
39
43
|
*/
|
|
40
|
-
public function findInstanceOf($nodes, string $class)
|
|
44
|
+
public function findInstanceOf($nodes, string $class): array {
|
|
41
45
|
return $this->find($nodes, function ($node) use ($class) {
|
|
42
46
|
return $node instanceof $class;
|
|
43
47
|
});
|
|
@@ -46,20 +50,23 @@ class NodeFinder
|
|
|
46
50
|
/**
|
|
47
51
|
* Find first node satisfying a filter callback.
|
|
48
52
|
*
|
|
49
|
-
* @param Node|Node[] $nodes
|
|
50
|
-
* @param callable
|
|
53
|
+
* @param Node|Node[] $nodes Single node or array of nodes to search in
|
|
54
|
+
* @param callable $filter Filter callback: function(Node $node) : bool
|
|
51
55
|
*
|
|
52
56
|
* @return null|Node Found node (or null if none found)
|
|
53
57
|
*/
|
|
54
|
-
public function findFirst($nodes, callable $filter) {
|
|
58
|
+
public function findFirst($nodes, callable $filter): ?Node {
|
|
59
|
+
if ($nodes === []) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
|
|
55
63
|
if (!is_array($nodes)) {
|
|
56
64
|
$nodes = [$nodes];
|
|
57
65
|
}
|
|
58
66
|
|
|
59
67
|
$visitor = new FirstFindingVisitor($filter);
|
|
60
68
|
|
|
61
|
-
$traverser = new NodeTraverser;
|
|
62
|
-
$traverser->addVisitor($visitor);
|
|
69
|
+
$traverser = new NodeTraverser($visitor);
|
|
63
70
|
$traverser->traverse($nodes);
|
|
64
71
|
|
|
65
72
|
return $visitor->getFoundNode();
|
|
@@ -68,12 +75,14 @@ class NodeFinder
|
|
|
68
75
|
/**
|
|
69
76
|
* Find first node that is an instance of a certain class.
|
|
70
77
|
*
|
|
71
|
-
* @
|
|
72
|
-
*
|
|
78
|
+
* @template TNode as Node
|
|
79
|
+
*
|
|
80
|
+
* @param Node|Node[] $nodes Single node or array of nodes to search in
|
|
81
|
+
* @param class-string<TNode> $class Class name
|
|
73
82
|
*
|
|
74
|
-
* @return null|
|
|
83
|
+
* @return null|TNode Found node, which is an instance of $class (or null if none found)
|
|
75
84
|
*/
|
|
76
|
-
public function findFirstInstanceOf($nodes, string $class) {
|
|
85
|
+
public function findFirstInstanceOf($nodes, string $class): ?Node {
|
|
77
86
|
return $this->findFirst($nodes, function ($node) use ($class) {
|
|
78
87
|
return $node instanceof $class;
|
|
79
88
|
});
|
|
@@ -2,51 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser;
|
|
4
4
|
|
|
5
|
-
class NodeTraverser implements NodeTraverserInterface
|
|
6
|
-
{
|
|
5
|
+
class NodeTraverser implements NodeTraverserInterface {
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
9
|
-
* of the current node will not be traversed for any visitors.
|
|
10
|
-
*
|
|
11
|
-
* For subsequent visitors enterNode() will still be called on the current
|
|
12
|
-
* node and leaveNode() will also be invoked for the current node.
|
|
7
|
+
* @deprecated Use NodeVisitor::DONT_TRAVERSE_CHILDREN instead.
|
|
13
8
|
*/
|
|
14
|
-
const DONT_TRAVERSE_CHILDREN =
|
|
9
|
+
public const DONT_TRAVERSE_CHILDREN = NodeVisitor::DONT_TRAVERSE_CHILDREN;
|
|
15
10
|
|
|
16
11
|
/**
|
|
17
|
-
*
|
|
18
|
-
* STOP_TRAVERSAL, traversal is aborted.
|
|
19
|
-
*
|
|
20
|
-
* The afterTraverse() method will still be invoked.
|
|
12
|
+
* @deprecated Use NodeVisitor::STOP_TRAVERSAL instead.
|
|
21
13
|
*/
|
|
22
|
-
const STOP_TRAVERSAL =
|
|
14
|
+
public const STOP_TRAVERSAL = NodeVisitor::STOP_TRAVERSAL;
|
|
23
15
|
|
|
24
16
|
/**
|
|
25
|
-
*
|
|
26
|
-
* in an array, it will be removed from the array.
|
|
27
|
-
*
|
|
28
|
-
* For subsequent visitors leaveNode() will still be invoked for the
|
|
29
|
-
* removed node.
|
|
17
|
+
* @deprecated Use NodeVisitor::REMOVE_NODE instead.
|
|
30
18
|
*/
|
|
31
|
-
const REMOVE_NODE =
|
|
19
|
+
public const REMOVE_NODE = NodeVisitor::REMOVE_NODE;
|
|
32
20
|
|
|
33
21
|
/**
|
|
34
|
-
*
|
|
35
|
-
* of the current node will not be traversed for any visitors.
|
|
36
|
-
*
|
|
37
|
-
* For subsequent visitors enterNode() will not be called as well.
|
|
38
|
-
* leaveNode() will be invoked for visitors that has enterNode() method invoked.
|
|
22
|
+
* @deprecated Use NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN instead.
|
|
39
23
|
*/
|
|
40
|
-
const DONT_TRAVERSE_CURRENT_AND_CHILDREN =
|
|
24
|
+
public const DONT_TRAVERSE_CURRENT_AND_CHILDREN = NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN;
|
|
41
25
|
|
|
42
|
-
/** @var NodeVisitor
|
|
43
|
-
protected $visitors = [];
|
|
26
|
+
/** @var list<NodeVisitor> Visitors */
|
|
27
|
+
protected array $visitors = [];
|
|
44
28
|
|
|
45
29
|
/** @var bool Whether traversal should be stopped */
|
|
46
|
-
protected $stopTraversal;
|
|
30
|
+
protected bool $stopTraversal;
|
|
47
31
|
|
|
48
|
-
|
|
49
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Create a traverser with the given visitors.
|
|
34
|
+
*
|
|
35
|
+
* @param NodeVisitor ...$visitors Node visitors
|
|
36
|
+
*/
|
|
37
|
+
public function __construct(NodeVisitor ...$visitors) {
|
|
38
|
+
$this->visitors = $visitors;
|
|
50
39
|
}
|
|
51
40
|
|
|
52
41
|
/**
|
|
@@ -54,21 +43,17 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
54
43
|
*
|
|
55
44
|
* @param NodeVisitor $visitor Visitor to add
|
|
56
45
|
*/
|
|
57
|
-
public function addVisitor(NodeVisitor $visitor) {
|
|
46
|
+
public function addVisitor(NodeVisitor $visitor): void {
|
|
58
47
|
$this->visitors[] = $visitor;
|
|
59
48
|
}
|
|
60
49
|
|
|
61
50
|
/**
|
|
62
51
|
* Removes an added visitor.
|
|
63
|
-
*
|
|
64
|
-
* @param NodeVisitor $visitor
|
|
65
52
|
*/
|
|
66
|
-
public function removeVisitor(NodeVisitor $visitor) {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
break;
|
|
71
|
-
}
|
|
53
|
+
public function removeVisitor(NodeVisitor $visitor): void {
|
|
54
|
+
$index = array_search($visitor, $this->visitors);
|
|
55
|
+
if ($index !== false) {
|
|
56
|
+
array_splice($this->visitors, $index, 1, []);
|
|
72
57
|
}
|
|
73
58
|
}
|
|
74
59
|
|
|
@@ -79,7 +64,7 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
79
64
|
*
|
|
80
65
|
* @return Node[] Traversed array of nodes
|
|
81
66
|
*/
|
|
82
|
-
public function traverse(array $nodes)
|
|
67
|
+
public function traverse(array $nodes): array {
|
|
83
68
|
$this->stopTraversal = false;
|
|
84
69
|
|
|
85
70
|
foreach ($this->visitors as $visitor) {
|
|
@@ -90,7 +75,8 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
90
75
|
|
|
91
76
|
$nodes = $this->traverseArray($nodes);
|
|
92
77
|
|
|
93
|
-
|
|
78
|
+
for ($i = \count($this->visitors) - 1; $i >= 0; --$i) {
|
|
79
|
+
$visitor = $this->visitors[$i];
|
|
94
80
|
if (null !== $return = $visitor->afterTraverse($nodes)) {
|
|
95
81
|
$nodes = $return;
|
|
96
82
|
}
|
|
@@ -103,37 +89,37 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
103
89
|
* Recursively traverse a node.
|
|
104
90
|
*
|
|
105
91
|
* @param Node $node Node to traverse.
|
|
106
|
-
*
|
|
107
|
-
* @return Node Result of traversal (may be original node or new one)
|
|
108
92
|
*/
|
|
109
|
-
protected function traverseNode(Node $node)
|
|
93
|
+
protected function traverseNode(Node $node): void {
|
|
110
94
|
foreach ($node->getSubNodeNames() as $name) {
|
|
111
|
-
$subNode
|
|
95
|
+
$subNode = $node->$name;
|
|
112
96
|
|
|
113
97
|
if (\is_array($subNode)) {
|
|
114
|
-
$
|
|
98
|
+
$node->$name = $this->traverseArray($subNode);
|
|
115
99
|
if ($this->stopTraversal) {
|
|
116
100
|
break;
|
|
117
101
|
}
|
|
118
102
|
} elseif ($subNode instanceof Node) {
|
|
119
103
|
$traverseChildren = true;
|
|
120
|
-
$
|
|
104
|
+
$visitorIndex = -1;
|
|
121
105
|
|
|
122
106
|
foreach ($this->visitors as $visitorIndex => $visitor) {
|
|
123
107
|
$return = $visitor->enterNode($subNode);
|
|
124
108
|
if (null !== $return) {
|
|
125
109
|
if ($return instanceof Node) {
|
|
126
110
|
$this->ensureReplacementReasonable($subNode, $return);
|
|
127
|
-
$subNode = $return;
|
|
128
|
-
} elseif (
|
|
111
|
+
$subNode = $node->$name = $return;
|
|
112
|
+
} elseif (NodeVisitor::DONT_TRAVERSE_CHILDREN === $return) {
|
|
129
113
|
$traverseChildren = false;
|
|
130
|
-
} elseif (
|
|
114
|
+
} elseif (NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) {
|
|
131
115
|
$traverseChildren = false;
|
|
132
|
-
$breakVisitorIndex = $visitorIndex;
|
|
133
116
|
break;
|
|
134
|
-
} elseif (
|
|
117
|
+
} elseif (NodeVisitor::STOP_TRAVERSAL === $return) {
|
|
135
118
|
$this->stopTraversal = true;
|
|
136
119
|
break 2;
|
|
120
|
+
} elseif (NodeVisitor::REPLACE_WITH_NULL === $return) {
|
|
121
|
+
$node->$name = null;
|
|
122
|
+
continue 2;
|
|
137
123
|
} else {
|
|
138
124
|
throw new \LogicException(
|
|
139
125
|
'enterNode() returned invalid value of type ' . gettype($return)
|
|
@@ -143,22 +129,26 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
143
129
|
}
|
|
144
130
|
|
|
145
131
|
if ($traverseChildren) {
|
|
146
|
-
$
|
|
132
|
+
$this->traverseNode($subNode);
|
|
147
133
|
if ($this->stopTraversal) {
|
|
148
134
|
break;
|
|
149
135
|
}
|
|
150
136
|
}
|
|
151
137
|
|
|
152
|
-
|
|
138
|
+
for (; $visitorIndex >= 0; --$visitorIndex) {
|
|
139
|
+
$visitor = $this->visitors[$visitorIndex];
|
|
153
140
|
$return = $visitor->leaveNode($subNode);
|
|
154
141
|
|
|
155
142
|
if (null !== $return) {
|
|
156
143
|
if ($return instanceof Node) {
|
|
157
144
|
$this->ensureReplacementReasonable($subNode, $return);
|
|
158
|
-
$subNode = $return;
|
|
159
|
-
} elseif (
|
|
145
|
+
$subNode = $node->$name = $return;
|
|
146
|
+
} elseif (NodeVisitor::STOP_TRAVERSAL === $return) {
|
|
160
147
|
$this->stopTraversal = true;
|
|
161
148
|
break 2;
|
|
149
|
+
} elseif (NodeVisitor::REPLACE_WITH_NULL === $return) {
|
|
150
|
+
$node->$name = null;
|
|
151
|
+
break;
|
|
162
152
|
} elseif (\is_array($return)) {
|
|
163
153
|
throw new \LogicException(
|
|
164
154
|
'leaveNode() may only return an array ' .
|
|
@@ -170,15 +160,9 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
170
160
|
);
|
|
171
161
|
}
|
|
172
162
|
}
|
|
173
|
-
|
|
174
|
-
if ($breakVisitorIndex === $visitorIndex) {
|
|
175
|
-
break;
|
|
176
|
-
}
|
|
177
163
|
}
|
|
178
164
|
}
|
|
179
165
|
}
|
|
180
|
-
|
|
181
|
-
return $node;
|
|
182
166
|
}
|
|
183
167
|
|
|
184
168
|
/**
|
|
@@ -188,29 +172,37 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
188
172
|
*
|
|
189
173
|
* @return array Result of traversal (may be original array or changed one)
|
|
190
174
|
*/
|
|
191
|
-
protected function traverseArray(array $nodes)
|
|
175
|
+
protected function traverseArray(array $nodes): array {
|
|
192
176
|
$doNodes = [];
|
|
193
177
|
|
|
194
|
-
foreach ($nodes as $i =>
|
|
178
|
+
foreach ($nodes as $i => $node) {
|
|
195
179
|
if ($node instanceof Node) {
|
|
196
180
|
$traverseChildren = true;
|
|
197
|
-
$
|
|
181
|
+
$visitorIndex = -1;
|
|
198
182
|
|
|
199
183
|
foreach ($this->visitors as $visitorIndex => $visitor) {
|
|
200
184
|
$return = $visitor->enterNode($node);
|
|
201
185
|
if (null !== $return) {
|
|
202
186
|
if ($return instanceof Node) {
|
|
203
187
|
$this->ensureReplacementReasonable($node, $return);
|
|
204
|
-
$node = $return;
|
|
205
|
-
} elseif (
|
|
188
|
+
$nodes[$i] = $node = $return;
|
|
189
|
+
} elseif (\is_array($return)) {
|
|
190
|
+
$doNodes[] = [$i, $return];
|
|
191
|
+
continue 2;
|
|
192
|
+
} elseif (NodeVisitor::REMOVE_NODE === $return) {
|
|
193
|
+
$doNodes[] = [$i, []];
|
|
194
|
+
continue 2;
|
|
195
|
+
} elseif (NodeVisitor::DONT_TRAVERSE_CHILDREN === $return) {
|
|
206
196
|
$traverseChildren = false;
|
|
207
|
-
} elseif (
|
|
197
|
+
} elseif (NodeVisitor::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) {
|
|
208
198
|
$traverseChildren = false;
|
|
209
|
-
$breakVisitorIndex = $visitorIndex;
|
|
210
199
|
break;
|
|
211
|
-
} elseif (
|
|
200
|
+
} elseif (NodeVisitor::STOP_TRAVERSAL === $return) {
|
|
212
201
|
$this->stopTraversal = true;
|
|
213
202
|
break 2;
|
|
203
|
+
} elseif (NodeVisitor::REPLACE_WITH_NULL === $return) {
|
|
204
|
+
throw new \LogicException(
|
|
205
|
+
'REPLACE_WITH_NULL can not be used if the parent structure is an array');
|
|
214
206
|
} else {
|
|
215
207
|
throw new \LogicException(
|
|
216
208
|
'enterNode() returned invalid value of type ' . gettype($return)
|
|
@@ -220,43 +212,38 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
220
212
|
}
|
|
221
213
|
|
|
222
214
|
if ($traverseChildren) {
|
|
223
|
-
$
|
|
215
|
+
$this->traverseNode($node);
|
|
224
216
|
if ($this->stopTraversal) {
|
|
225
217
|
break;
|
|
226
218
|
}
|
|
227
219
|
}
|
|
228
220
|
|
|
229
|
-
|
|
221
|
+
for (; $visitorIndex >= 0; --$visitorIndex) {
|
|
222
|
+
$visitor = $this->visitors[$visitorIndex];
|
|
230
223
|
$return = $visitor->leaveNode($node);
|
|
231
224
|
|
|
232
225
|
if (null !== $return) {
|
|
233
226
|
if ($return instanceof Node) {
|
|
234
227
|
$this->ensureReplacementReasonable($node, $return);
|
|
235
|
-
$node = $return;
|
|
228
|
+
$nodes[$i] = $node = $return;
|
|
236
229
|
} elseif (\is_array($return)) {
|
|
237
230
|
$doNodes[] = [$i, $return];
|
|
238
231
|
break;
|
|
239
|
-
} elseif (
|
|
232
|
+
} elseif (NodeVisitor::REMOVE_NODE === $return) {
|
|
240
233
|
$doNodes[] = [$i, []];
|
|
241
234
|
break;
|
|
242
|
-
} elseif (
|
|
235
|
+
} elseif (NodeVisitor::STOP_TRAVERSAL === $return) {
|
|
243
236
|
$this->stopTraversal = true;
|
|
244
237
|
break 2;
|
|
245
|
-
} elseif (
|
|
238
|
+
} elseif (NodeVisitor::REPLACE_WITH_NULL === $return) {
|
|
246
239
|
throw new \LogicException(
|
|
247
|
-
'
|
|
248
|
-
'Return NodeTraverser::REMOVE_NODE instead'
|
|
249
|
-
);
|
|
240
|
+
'REPLACE_WITH_NULL can not be used if the parent structure is an array');
|
|
250
241
|
} else {
|
|
251
242
|
throw new \LogicException(
|
|
252
243
|
'leaveNode() returned invalid value of type ' . gettype($return)
|
|
253
244
|
);
|
|
254
245
|
}
|
|
255
246
|
}
|
|
256
|
-
|
|
257
|
-
if ($breakVisitorIndex === $visitorIndex) {
|
|
258
|
-
break;
|
|
259
|
-
}
|
|
260
247
|
}
|
|
261
248
|
} elseif (\is_array($node)) {
|
|
262
249
|
throw new \LogicException('Invalid node structure: Contains nested arrays');
|
|
@@ -272,7 +259,7 @@ class NodeTraverser implements NodeTraverserInterface
|
|
|
272
259
|
return $nodes;
|
|
273
260
|
}
|
|
274
261
|
|
|
275
|
-
private function ensureReplacementReasonable($old, $new) {
|
|
262
|
+
private function ensureReplacementReasonable(Node $old, Node $new): void {
|
|
276
263
|
if ($old instanceof Node\Stmt && $new instanceof Node\Expr) {
|
|
277
264
|
throw new \LogicException(
|
|
278
265
|
"Trying to replace statement ({$old->getType()}) " .
|
|
@@ -2,21 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser;
|
|
4
4
|
|
|
5
|
-
interface NodeTraverserInterface
|
|
6
|
-
{
|
|
5
|
+
interface NodeTraverserInterface {
|
|
7
6
|
/**
|
|
8
7
|
* Adds a visitor.
|
|
9
8
|
*
|
|
10
9
|
* @param NodeVisitor $visitor Visitor to add
|
|
11
10
|
*/
|
|
12
|
-
public function addVisitor(NodeVisitor $visitor);
|
|
11
|
+
public function addVisitor(NodeVisitor $visitor): void;
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* Removes an added visitor.
|
|
16
|
-
*
|
|
17
|
-
* @param NodeVisitor $visitor
|
|
18
15
|
*/
|
|
19
|
-
public function removeVisitor(NodeVisitor $visitor);
|
|
16
|
+
public function removeVisitor(NodeVisitor $visitor): void;
|
|
20
17
|
|
|
21
18
|
/**
|
|
22
19
|
* Traverses an array of nodes using the registered visitors.
|
|
@@ -25,5 +22,5 @@ interface NodeTraverserInterface
|
|
|
25
22
|
*
|
|
26
23
|
* @return Node[] Traversed array of nodes
|
|
27
24
|
*/
|
|
28
|
-
public function traverse(array $nodes)
|
|
25
|
+
public function traverse(array $nodes): array;
|
|
29
26
|
}
|
|
@@ -10,8 +10,7 @@ use PhpParser\NodeVisitorAbstract;
|
|
|
10
10
|
*
|
|
11
11
|
* This visitor is required to perform format-preserving pretty prints.
|
|
12
12
|
*/
|
|
13
|
-
class CloningVisitor extends NodeVisitorAbstract
|
|
14
|
-
{
|
|
13
|
+
class CloningVisitor extends NodeVisitorAbstract {
|
|
15
14
|
public function enterNode(Node $origNode) {
|
|
16
15
|
$node = clone $origNode;
|
|
17
16
|
$node->setAttribute('origNode', $origNode);
|
package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\NodeVisitor;
|
|
4
|
+
|
|
5
|
+
use PhpParser\Comment;
|
|
6
|
+
use PhpParser\Node;
|
|
7
|
+
use PhpParser\NodeVisitorAbstract;
|
|
8
|
+
use PhpParser\Token;
|
|
9
|
+
|
|
10
|
+
class CommentAnnotatingVisitor extends NodeVisitorAbstract {
|
|
11
|
+
/** @var int Last seen token start position */
|
|
12
|
+
private int $pos = 0;
|
|
13
|
+
/** @var Token[] Token array */
|
|
14
|
+
private array $tokens;
|
|
15
|
+
/** @var list<int> Token positions of comments */
|
|
16
|
+
private array $commentPositions = [];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Create a comment annotation visitor.
|
|
20
|
+
*
|
|
21
|
+
* @param Token[] $tokens Token array
|
|
22
|
+
*/
|
|
23
|
+
public function __construct(array $tokens) {
|
|
24
|
+
$this->tokens = $tokens;
|
|
25
|
+
|
|
26
|
+
// Collect positions of comments. We use this to avoid traversing parts of the AST where
|
|
27
|
+
// there are no comments.
|
|
28
|
+
foreach ($tokens as $i => $token) {
|
|
29
|
+
if ($token->id === \T_COMMENT || $token->id === \T_DOC_COMMENT) {
|
|
30
|
+
$this->commentPositions[] = $i;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
public function enterNode(Node $node) {
|
|
36
|
+
$nextCommentPos = current($this->commentPositions);
|
|
37
|
+
if ($nextCommentPos === false) {
|
|
38
|
+
// No more comments.
|
|
39
|
+
return self::STOP_TRAVERSAL;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
$oldPos = $this->pos;
|
|
43
|
+
$this->pos = $pos = $node->getStartTokenPos();
|
|
44
|
+
if ($nextCommentPos > $oldPos && $nextCommentPos < $pos) {
|
|
45
|
+
$comments = [];
|
|
46
|
+
while (--$pos >= $oldPos) {
|
|
47
|
+
$token = $this->tokens[$pos];
|
|
48
|
+
if ($token->id === \T_DOC_COMMENT) {
|
|
49
|
+
$comments[] = new Comment\Doc(
|
|
50
|
+
$token->text, $token->line, $token->pos, $pos,
|
|
51
|
+
$token->getEndLine(), $token->getEndPos() - 1, $pos);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if ($token->id === \T_COMMENT) {
|
|
55
|
+
$comments[] = new Comment(
|
|
56
|
+
$token->text, $token->line, $token->pos, $pos,
|
|
57
|
+
$token->getEndLine(), $token->getEndPos() - 1, $pos);
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
if ($token->id !== \T_WHITESPACE) {
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
if (!empty($comments)) {
|
|
65
|
+
$node->setAttribute('comments', array_reverse($comments));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
do {
|
|
69
|
+
$nextCommentPos = next($this->commentPositions);
|
|
70
|
+
} while ($nextCommentPos !== false && $nextCommentPos < $this->pos);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
$endPos = $node->getEndTokenPos();
|
|
74
|
+
if ($nextCommentPos > $endPos) {
|
|
75
|
+
// Skip children if there are no comments located inside this node.
|
|
76
|
+
$this->pos = $endPos;
|
|
77
|
+
return self::DONT_TRAVERSE_CHILDREN;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
@@ -9,12 +9,11 @@ use PhpParser\NodeVisitorAbstract;
|
|
|
9
9
|
* This visitor can be used to find and collect all nodes satisfying some criterion determined by
|
|
10
10
|
* a filter callback.
|
|
11
11
|
*/
|
|
12
|
-
class FindingVisitor extends NodeVisitorAbstract
|
|
13
|
-
{
|
|
12
|
+
class FindingVisitor extends NodeVisitorAbstract {
|
|
14
13
|
/** @var callable Filter callback */
|
|
15
14
|
protected $filterCallback;
|
|
16
15
|
/** @var Node[] Found nodes */
|
|
17
|
-
protected $foundNodes;
|
|
16
|
+
protected array $foundNodes;
|
|
18
17
|
|
|
19
18
|
public function __construct(callable $filterCallback) {
|
|
20
19
|
$this->filterCallback = $filterCallback;
|
|
@@ -27,11 +26,11 @@ class FindingVisitor extends NodeVisitorAbstract
|
|
|
27
26
|
*
|
|
28
27
|
* @return Node[] Found nodes
|
|
29
28
|
*/
|
|
30
|
-
public function getFoundNodes()
|
|
29
|
+
public function getFoundNodes(): array {
|
|
31
30
|
return $this->foundNodes;
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
public function beforeTraverse(array $nodes) {
|
|
33
|
+
public function beforeTraverse(array $nodes): ?array {
|
|
35
34
|
$this->foundNodes = [];
|
|
36
35
|
|
|
37
36
|
return null;
|
package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php
CHANGED
|
@@ -3,19 +3,18 @@
|
|
|
3
3
|
namespace PhpParser\NodeVisitor;
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
|
-
use PhpParser\
|
|
6
|
+
use PhpParser\NodeVisitor;
|
|
7
7
|
use PhpParser\NodeVisitorAbstract;
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* This visitor can be used to find the first node satisfying some criterion determined by
|
|
11
11
|
* a filter callback.
|
|
12
12
|
*/
|
|
13
|
-
class FirstFindingVisitor extends NodeVisitorAbstract
|
|
14
|
-
{
|
|
13
|
+
class FirstFindingVisitor extends NodeVisitorAbstract {
|
|
15
14
|
/** @var callable Filter callback */
|
|
16
15
|
protected $filterCallback;
|
|
17
16
|
/** @var null|Node Found node */
|
|
18
|
-
protected $foundNode;
|
|
17
|
+
protected ?Node $foundNode;
|
|
19
18
|
|
|
20
19
|
public function __construct(callable $filterCallback) {
|
|
21
20
|
$this->filterCallback = $filterCallback;
|
|
@@ -28,11 +27,11 @@ class FirstFindingVisitor extends NodeVisitorAbstract
|
|
|
28
27
|
*
|
|
29
28
|
* @return null|Node Found node (or null if not found)
|
|
30
29
|
*/
|
|
31
|
-
public function getFoundNode() {
|
|
30
|
+
public function getFoundNode(): ?Node {
|
|
32
31
|
return $this->foundNode;
|
|
33
32
|
}
|
|
34
33
|
|
|
35
|
-
public function beforeTraverse(array $nodes) {
|
|
34
|
+
public function beforeTraverse(array $nodes): ?array {
|
|
36
35
|
$this->foundNode = null;
|
|
37
36
|
|
|
38
37
|
return null;
|
|
@@ -42,7 +41,7 @@ class FirstFindingVisitor extends NodeVisitorAbstract
|
|
|
42
41
|
$filterCallback = $this->filterCallback;
|
|
43
42
|
if ($filterCallback($node)) {
|
|
44
43
|
$this->foundNode = $node;
|
|
45
|
-
return
|
|
44
|
+
return NodeVisitor::STOP_TRAVERSAL;
|
|
46
45
|
}
|
|
47
46
|
|
|
48
47
|
return null;
|