@flarum/cli 2.0.0-beta.8 → 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 +264 -58
- 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,24 @@ namespace PhpParser\Node\Stmt;
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
use PhpParser\Node\Expr;
|
|
7
7
|
|
|
8
|
-
class Catch_ extends Node\Stmt
|
|
9
|
-
{
|
|
8
|
+
class Catch_ extends Node\Stmt {
|
|
10
9
|
/** @var Node\Name[] Types of exceptions to catch */
|
|
11
|
-
public $types;
|
|
10
|
+
public array $types;
|
|
12
11
|
/** @var Expr\Variable|null Variable for exception */
|
|
13
|
-
public $var;
|
|
12
|
+
public ?Expr\Variable $var;
|
|
14
13
|
/** @var Node\Stmt[] Statements */
|
|
15
|
-
public $stmts;
|
|
14
|
+
public array $stmts;
|
|
16
15
|
|
|
17
16
|
/**
|
|
18
17
|
* Constructs a catch node.
|
|
19
18
|
*
|
|
20
|
-
* @param Node\Name[]
|
|
21
|
-
* @param Expr\Variable|null
|
|
22
|
-
* @param Node\Stmt[]
|
|
23
|
-
* @param array
|
|
19
|
+
* @param Node\Name[] $types Types of exceptions to catch
|
|
20
|
+
* @param Expr\Variable|null $var Variable for exception
|
|
21
|
+
* @param Node\Stmt[] $stmts Statements
|
|
22
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
24
23
|
*/
|
|
25
24
|
public function __construct(
|
|
26
|
-
array $types, Expr\Variable $var = null, array $stmts = [], array $attributes = []
|
|
25
|
+
array $types, ?Expr\Variable $var = null, array $stmts = [], array $attributes = []
|
|
27
26
|
) {
|
|
28
27
|
$this->attributes = $attributes;
|
|
29
28
|
$this->types = $types;
|
|
@@ -31,11 +30,11 @@ class Catch_ extends Node\Stmt
|
|
|
31
30
|
$this->stmts = $stmts;
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
public function getSubNodeNames()
|
|
33
|
+
public function getSubNodeNames(): array {
|
|
35
34
|
return ['types', 'var', 'stmts'];
|
|
36
35
|
}
|
|
37
36
|
|
|
38
|
-
public function getType()
|
|
37
|
+
public function getType(): string {
|
|
39
38
|
return 'Stmt_Catch';
|
|
40
39
|
}
|
|
41
40
|
}
|
|
@@ -2,70 +2,76 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
|
+
use PhpParser\Modifiers;
|
|
5
6
|
use PhpParser\Node;
|
|
6
7
|
|
|
7
|
-
class ClassConst extends Node\Stmt
|
|
8
|
-
{
|
|
8
|
+
class ClassConst extends Node\Stmt {
|
|
9
9
|
/** @var int Modifiers */
|
|
10
|
-
public $flags;
|
|
10
|
+
public int $flags;
|
|
11
11
|
/** @var Node\Const_[] Constant declarations */
|
|
12
|
-
public $consts;
|
|
13
|
-
/** @var Node\AttributeGroup[] */
|
|
14
|
-
public $attrGroups;
|
|
12
|
+
public array $consts;
|
|
13
|
+
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
14
|
+
public array $attrGroups;
|
|
15
|
+
/** @var Node\Identifier|Node\Name|Node\ComplexType|null Type declaration */
|
|
16
|
+
public ?Node $type;
|
|
15
17
|
|
|
16
18
|
/**
|
|
17
19
|
* Constructs a class const list node.
|
|
18
20
|
*
|
|
19
|
-
* @param Node\Const_[]
|
|
20
|
-
* @param int
|
|
21
|
-
* @param array
|
|
22
|
-
* @param Node\AttributeGroup
|
|
21
|
+
* @param Node\Const_[] $consts Constant declarations
|
|
22
|
+
* @param int $flags Modifiers
|
|
23
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
24
|
+
* @param list<Node\AttributeGroup> $attrGroups PHP attribute groups
|
|
25
|
+
* @param null|Node\Identifier|Node\Name|Node\ComplexType $type Type declaration
|
|
23
26
|
*/
|
|
24
27
|
public function __construct(
|
|
25
28
|
array $consts,
|
|
26
29
|
int $flags = 0,
|
|
27
30
|
array $attributes = [],
|
|
28
|
-
array $attrGroups = []
|
|
31
|
+
array $attrGroups = [],
|
|
32
|
+
?Node $type = null
|
|
29
33
|
) {
|
|
30
34
|
$this->attributes = $attributes;
|
|
31
35
|
$this->flags = $flags;
|
|
32
36
|
$this->consts = $consts;
|
|
33
37
|
$this->attrGroups = $attrGroups;
|
|
38
|
+
$this->type = $type;
|
|
34
39
|
}
|
|
35
40
|
|
|
36
|
-
public function getSubNodeNames()
|
|
37
|
-
return ['attrGroups', 'flags', 'consts'];
|
|
41
|
+
public function getSubNodeNames(): array {
|
|
42
|
+
return ['attrGroups', 'flags', 'type', 'consts'];
|
|
38
43
|
}
|
|
39
44
|
|
|
40
45
|
/**
|
|
41
46
|
* Whether constant is explicitly or implicitly public.
|
|
42
|
-
*
|
|
43
|
-
* @return bool
|
|
44
47
|
*/
|
|
45
|
-
public function isPublic()
|
|
46
|
-
return ($this->flags &
|
|
47
|
-
|| ($this->flags &
|
|
48
|
+
public function isPublic(): bool {
|
|
49
|
+
return ($this->flags & Modifiers::PUBLIC) !== 0
|
|
50
|
+
|| ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
|
|
48
51
|
}
|
|
49
52
|
|
|
50
53
|
/**
|
|
51
54
|
* Whether constant is protected.
|
|
52
|
-
*
|
|
53
|
-
* @return bool
|
|
54
55
|
*/
|
|
55
|
-
public function isProtected()
|
|
56
|
-
return (bool) ($this->flags &
|
|
56
|
+
public function isProtected(): bool {
|
|
57
|
+
return (bool) ($this->flags & Modifiers::PROTECTED);
|
|
57
58
|
}
|
|
58
59
|
|
|
59
60
|
/**
|
|
60
61
|
* Whether constant is private.
|
|
61
|
-
*
|
|
62
|
-
* @return bool
|
|
63
62
|
*/
|
|
64
|
-
public function isPrivate()
|
|
65
|
-
return (bool) ($this->flags &
|
|
63
|
+
public function isPrivate(): bool {
|
|
64
|
+
return (bool) ($this->flags & Modifiers::PRIVATE);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Whether constant is final.
|
|
69
|
+
*/
|
|
70
|
+
public function isFinal(): bool {
|
|
71
|
+
return (bool) ($this->flags & Modifiers::FINAL);
|
|
66
72
|
}
|
|
67
73
|
|
|
68
|
-
public function getType()
|
|
74
|
+
public function getType(): string {
|
|
69
75
|
return 'Stmt_ClassConst';
|
|
70
76
|
}
|
|
71
77
|
}
|
|
@@ -3,23 +3,23 @@
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
|
+
use PhpParser\Node\PropertyItem;
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
* @property Node\Name $namespacedName Namespaced name (if using NameResolver)
|
|
9
|
-
*/
|
|
10
|
-
abstract class ClassLike extends Node\Stmt
|
|
11
|
-
{
|
|
8
|
+
abstract class ClassLike extends Node\Stmt {
|
|
12
9
|
/** @var Node\Identifier|null Name */
|
|
13
|
-
public $name;
|
|
10
|
+
public ?Node\Identifier $name;
|
|
14
11
|
/** @var Node\Stmt[] Statements */
|
|
15
|
-
public $stmts;
|
|
12
|
+
public array $stmts;
|
|
16
13
|
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
17
|
-
public $attrGroups;
|
|
14
|
+
public array $attrGroups;
|
|
15
|
+
|
|
16
|
+
/** @var Node\Name|null Namespaced name (if using NameResolver) */
|
|
17
|
+
public ?Node\Name $namespacedName;
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* @return TraitUse[]
|
|
21
21
|
*/
|
|
22
|
-
public function getTraitUses()
|
|
22
|
+
public function getTraitUses(): array {
|
|
23
23
|
$traitUses = [];
|
|
24
24
|
foreach ($this->stmts as $stmt) {
|
|
25
25
|
if ($stmt instanceof TraitUse) {
|
|
@@ -32,7 +32,7 @@ abstract class ClassLike extends Node\Stmt
|
|
|
32
32
|
/**
|
|
33
33
|
* @return ClassConst[]
|
|
34
34
|
*/
|
|
35
|
-
public function getConstants()
|
|
35
|
+
public function getConstants(): array {
|
|
36
36
|
$constants = [];
|
|
37
37
|
foreach ($this->stmts as $stmt) {
|
|
38
38
|
if ($stmt instanceof ClassConst) {
|
|
@@ -45,7 +45,7 @@ abstract class ClassLike extends Node\Stmt
|
|
|
45
45
|
/**
|
|
46
46
|
* @return Property[]
|
|
47
47
|
*/
|
|
48
|
-
public function getProperties()
|
|
48
|
+
public function getProperties(): array {
|
|
49
49
|
$properties = [];
|
|
50
50
|
foreach ($this->stmts as $stmt) {
|
|
51
51
|
if ($stmt instanceof Property) {
|
|
@@ -62,11 +62,11 @@ abstract class ClassLike extends Node\Stmt
|
|
|
62
62
|
*
|
|
63
63
|
* @return Property|null Property node or null if the property does not exist
|
|
64
64
|
*/
|
|
65
|
-
public function getProperty(string $name) {
|
|
65
|
+
public function getProperty(string $name): ?Property {
|
|
66
66
|
foreach ($this->stmts as $stmt) {
|
|
67
67
|
if ($stmt instanceof Property) {
|
|
68
68
|
foreach ($stmt->props as $prop) {
|
|
69
|
-
if ($prop instanceof
|
|
69
|
+
if ($prop instanceof PropertyItem && $name === $prop->name->toString()) {
|
|
70
70
|
return $stmt;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -80,7 +80,7 @@ abstract class ClassLike extends Node\Stmt
|
|
|
80
80
|
*
|
|
81
81
|
* @return ClassMethod[]
|
|
82
82
|
*/
|
|
83
|
-
public function getMethods()
|
|
83
|
+
public function getMethods(): array {
|
|
84
84
|
$methods = [];
|
|
85
85
|
foreach ($this->stmts as $stmt) {
|
|
86
86
|
if ($stmt instanceof ClassMethod) {
|
|
@@ -97,7 +97,7 @@ abstract class ClassLike extends Node\Stmt
|
|
|
97
97
|
*
|
|
98
98
|
* @return ClassMethod|null Method node or null if the method does not exist
|
|
99
99
|
*/
|
|
100
|
-
public function getMethod(string $name) {
|
|
100
|
+
public function getMethod(string $name): ?ClassMethod {
|
|
101
101
|
$lowerName = strtolower($name);
|
|
102
102
|
foreach ($this->stmts as $stmt) {
|
|
103
103
|
if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) {
|
|
@@ -2,56 +2,66 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
|
+
use PhpParser\Modifiers;
|
|
5
6
|
use PhpParser\Node;
|
|
6
7
|
use PhpParser\Node\FunctionLike;
|
|
7
8
|
|
|
8
|
-
class ClassMethod extends Node\Stmt implements FunctionLike
|
|
9
|
-
{
|
|
9
|
+
class ClassMethod extends Node\Stmt implements FunctionLike {
|
|
10
10
|
/** @var int Flags */
|
|
11
|
-
public $flags;
|
|
11
|
+
public int $flags;
|
|
12
12
|
/** @var bool Whether to return by reference */
|
|
13
|
-
public $byRef;
|
|
13
|
+
public bool $byRef;
|
|
14
14
|
/** @var Node\Identifier Name */
|
|
15
|
-
public $name;
|
|
15
|
+
public Node\Identifier $name;
|
|
16
16
|
/** @var Node\Param[] Parameters */
|
|
17
|
-
public $params;
|
|
18
|
-
/** @var null|Node\Identifier|Node\Name|Node\
|
|
19
|
-
public $returnType;
|
|
17
|
+
public array $params;
|
|
18
|
+
/** @var null|Node\Identifier|Node\Name|Node\ComplexType Return type */
|
|
19
|
+
public ?Node $returnType;
|
|
20
20
|
/** @var Node\Stmt[]|null Statements */
|
|
21
|
-
public $stmts;
|
|
21
|
+
public ?array $stmts;
|
|
22
22
|
/** @var Node\AttributeGroup[] PHP attribute groups */
|
|
23
|
-
public $attrGroups;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
30
|
-
'
|
|
31
|
-
'
|
|
32
|
-
'
|
|
33
|
-
'
|
|
34
|
-
'
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
-
'
|
|
40
|
-
'
|
|
23
|
+
public array $attrGroups;
|
|
24
|
+
|
|
25
|
+
/** @var array<string, bool> */
|
|
26
|
+
private static array $magicNames = [
|
|
27
|
+
'__construct' => true,
|
|
28
|
+
'__destruct' => true,
|
|
29
|
+
'__call' => true,
|
|
30
|
+
'__callstatic' => true,
|
|
31
|
+
'__get' => true,
|
|
32
|
+
'__set' => true,
|
|
33
|
+
'__isset' => true,
|
|
34
|
+
'__unset' => true,
|
|
35
|
+
'__sleep' => true,
|
|
36
|
+
'__wakeup' => true,
|
|
37
|
+
'__tostring' => true,
|
|
38
|
+
'__set_state' => true,
|
|
39
|
+
'__clone' => true,
|
|
40
|
+
'__invoke' => true,
|
|
41
|
+
'__debuginfo' => true,
|
|
42
|
+
'__serialize' => true,
|
|
43
|
+
'__unserialize' => true,
|
|
41
44
|
];
|
|
42
45
|
|
|
43
46
|
/**
|
|
44
47
|
* Constructs a class method node.
|
|
45
48
|
*
|
|
46
49
|
* @param string|Node\Identifier $name Name
|
|
47
|
-
* @param array
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
50
|
+
* @param array{
|
|
51
|
+
* flags?: int,
|
|
52
|
+
* byRef?: bool,
|
|
53
|
+
* params?: Node\Param[],
|
|
54
|
+
* returnType?: null|Node\Identifier|Node\Name|Node\ComplexType,
|
|
55
|
+
* stmts?: Node\Stmt[]|null,
|
|
56
|
+
* attrGroups?: Node\AttributeGroup[],
|
|
57
|
+
* } $subNodes Array of the following optional subnodes:
|
|
58
|
+
* 'flags => 0 : Flags
|
|
59
|
+
* 'byRef' => false : Whether to return by reference
|
|
60
|
+
* 'params' => array() : Parameters
|
|
61
|
+
* 'returnType' => null : Return type
|
|
62
|
+
* 'stmts' => array() : Statements
|
|
63
|
+
* 'attrGroups' => array() : PHP attribute groups
|
|
64
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
55
65
|
*/
|
|
56
66
|
public function __construct($name, array $subNodes = [], array $attributes = []) {
|
|
57
67
|
$this->attributes = $attributes;
|
|
@@ -59,21 +69,20 @@ class ClassMethod extends Node\Stmt implements FunctionLike
|
|
|
59
69
|
$this->byRef = $subNodes['byRef'] ?? false;
|
|
60
70
|
$this->name = \is_string($name) ? new Node\Identifier($name) : $name;
|
|
61
71
|
$this->params = $subNodes['params'] ?? [];
|
|
62
|
-
$returnType = $subNodes['returnType'] ?? null;
|
|
63
|
-
$this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType;
|
|
72
|
+
$this->returnType = $subNodes['returnType'] ?? null;
|
|
64
73
|
$this->stmts = array_key_exists('stmts', $subNodes) ? $subNodes['stmts'] : [];
|
|
65
74
|
$this->attrGroups = $subNodes['attrGroups'] ?? [];
|
|
66
75
|
}
|
|
67
76
|
|
|
68
|
-
public function getSubNodeNames()
|
|
77
|
+
public function getSubNodeNames(): array {
|
|
69
78
|
return ['attrGroups', 'flags', 'byRef', 'name', 'params', 'returnType', 'stmts'];
|
|
70
79
|
}
|
|
71
80
|
|
|
72
|
-
public function returnsByRef()
|
|
81
|
+
public function returnsByRef(): bool {
|
|
73
82
|
return $this->byRef;
|
|
74
83
|
}
|
|
75
84
|
|
|
76
|
-
public function getParams()
|
|
85
|
+
public function getParams(): array {
|
|
77
86
|
return $this->params;
|
|
78
87
|
}
|
|
79
88
|
|
|
@@ -81,79 +90,65 @@ class ClassMethod extends Node\Stmt implements FunctionLike
|
|
|
81
90
|
return $this->returnType;
|
|
82
91
|
}
|
|
83
92
|
|
|
84
|
-
public function getStmts() {
|
|
93
|
+
public function getStmts(): ?array {
|
|
85
94
|
return $this->stmts;
|
|
86
95
|
}
|
|
87
96
|
|
|
88
|
-
public function getAttrGroups()
|
|
97
|
+
public function getAttrGroups(): array {
|
|
89
98
|
return $this->attrGroups;
|
|
90
99
|
}
|
|
91
100
|
|
|
92
101
|
/**
|
|
93
102
|
* Whether the method is explicitly or implicitly public.
|
|
94
|
-
*
|
|
95
|
-
* @return bool
|
|
96
103
|
*/
|
|
97
|
-
public function isPublic()
|
|
98
|
-
return ($this->flags &
|
|
99
|
-
|| ($this->flags &
|
|
104
|
+
public function isPublic(): bool {
|
|
105
|
+
return ($this->flags & Modifiers::PUBLIC) !== 0
|
|
106
|
+
|| ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
|
|
100
107
|
}
|
|
101
108
|
|
|
102
109
|
/**
|
|
103
110
|
* Whether the method is protected.
|
|
104
|
-
*
|
|
105
|
-
* @return bool
|
|
106
111
|
*/
|
|
107
|
-
public function isProtected()
|
|
108
|
-
return (bool) ($this->flags &
|
|
112
|
+
public function isProtected(): bool {
|
|
113
|
+
return (bool) ($this->flags & Modifiers::PROTECTED);
|
|
109
114
|
}
|
|
110
115
|
|
|
111
116
|
/**
|
|
112
117
|
* Whether the method is private.
|
|
113
|
-
*
|
|
114
|
-
* @return bool
|
|
115
118
|
*/
|
|
116
|
-
public function isPrivate()
|
|
117
|
-
return (bool) ($this->flags &
|
|
119
|
+
public function isPrivate(): bool {
|
|
120
|
+
return (bool) ($this->flags & Modifiers::PRIVATE);
|
|
118
121
|
}
|
|
119
122
|
|
|
120
123
|
/**
|
|
121
124
|
* Whether the method is abstract.
|
|
122
|
-
*
|
|
123
|
-
* @return bool
|
|
124
125
|
*/
|
|
125
|
-
public function isAbstract()
|
|
126
|
-
return (bool) ($this->flags &
|
|
126
|
+
public function isAbstract(): bool {
|
|
127
|
+
return (bool) ($this->flags & Modifiers::ABSTRACT);
|
|
127
128
|
}
|
|
128
129
|
|
|
129
130
|
/**
|
|
130
131
|
* Whether the method is final.
|
|
131
|
-
*
|
|
132
|
-
* @return bool
|
|
133
132
|
*/
|
|
134
|
-
public function isFinal()
|
|
135
|
-
return (bool) ($this->flags &
|
|
133
|
+
public function isFinal(): bool {
|
|
134
|
+
return (bool) ($this->flags & Modifiers::FINAL);
|
|
136
135
|
}
|
|
137
136
|
|
|
138
137
|
/**
|
|
139
138
|
* Whether the method is static.
|
|
140
|
-
*
|
|
141
|
-
* @return bool
|
|
142
139
|
*/
|
|
143
|
-
public function isStatic()
|
|
144
|
-
return (bool) ($this->flags &
|
|
140
|
+
public function isStatic(): bool {
|
|
141
|
+
return (bool) ($this->flags & Modifiers::STATIC);
|
|
145
142
|
}
|
|
146
143
|
|
|
147
144
|
/**
|
|
148
145
|
* Whether the method is magic.
|
|
149
|
-
*
|
|
150
|
-
* @return bool
|
|
151
146
|
*/
|
|
152
|
-
public function isMagic()
|
|
147
|
+
public function isMagic(): bool {
|
|
153
148
|
return isset(self::$magicNames[$this->name->toLowerString()]);
|
|
154
149
|
}
|
|
155
150
|
|
|
156
|
-
public function getType()
|
|
151
|
+
public function getType(): string {
|
|
157
152
|
return 'Stmt_ClassMethod';
|
|
158
153
|
}
|
|
159
154
|
}
|
|
@@ -2,38 +2,52 @@
|
|
|
2
2
|
|
|
3
3
|
namespace PhpParser\Node\Stmt;
|
|
4
4
|
|
|
5
|
-
use PhpParser\
|
|
5
|
+
use PhpParser\Modifiers;
|
|
6
6
|
use PhpParser\Node;
|
|
7
7
|
|
|
8
|
-
class Class_ extends ClassLike
|
|
9
|
-
|
|
10
|
-
const MODIFIER_PUBLIC = 1;
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
/** @
|
|
20
|
-
public
|
|
8
|
+
class Class_ extends ClassLike {
|
|
9
|
+
/** @deprecated Use Modifiers::PUBLIC instead */
|
|
10
|
+
public const MODIFIER_PUBLIC = 1;
|
|
11
|
+
/** @deprecated Use Modifiers::PROTECTED instead */
|
|
12
|
+
public const MODIFIER_PROTECTED = 2;
|
|
13
|
+
/** @deprecated Use Modifiers::PRIVATE instead */
|
|
14
|
+
public const MODIFIER_PRIVATE = 4;
|
|
15
|
+
/** @deprecated Use Modifiers::STATIC instead */
|
|
16
|
+
public const MODIFIER_STATIC = 8;
|
|
17
|
+
/** @deprecated Use Modifiers::ABSTRACT instead */
|
|
18
|
+
public const MODIFIER_ABSTRACT = 16;
|
|
19
|
+
/** @deprecated Use Modifiers::FINAL instead */
|
|
20
|
+
public const MODIFIER_FINAL = 32;
|
|
21
|
+
/** @deprecated Use Modifiers::READONLY instead */
|
|
22
|
+
public const MODIFIER_READONLY = 64;
|
|
23
|
+
|
|
24
|
+
/** @deprecated Use Modifiers::VISIBILITY_MASK instead */
|
|
25
|
+
public const VISIBILITY_MODIFIER_MASK = 7; // 1 | 2 | 4
|
|
26
|
+
|
|
27
|
+
/** @var int Modifiers */
|
|
28
|
+
public int $flags;
|
|
21
29
|
/** @var null|Node\Name Name of extended class */
|
|
22
|
-
public $extends;
|
|
30
|
+
public ?Node\Name $extends;
|
|
23
31
|
/** @var Node\Name[] Names of implemented interfaces */
|
|
24
|
-
public $implements;
|
|
32
|
+
public array $implements;
|
|
25
33
|
|
|
26
34
|
/**
|
|
27
35
|
* Constructs a class node.
|
|
28
36
|
*
|
|
29
37
|
* @param string|Node\Identifier|null $name Name
|
|
30
|
-
* @param array
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
38
|
+
* @param array{
|
|
39
|
+
* flags?: int,
|
|
40
|
+
* extends?: Node\Name|null,
|
|
41
|
+
* implements?: Node\Name[],
|
|
42
|
+
* stmts?: Node\Stmt[],
|
|
43
|
+
* attrGroups?: Node\AttributeGroup[],
|
|
44
|
+
* } $subNodes Array of the following optional subnodes:
|
|
45
|
+
* 'flags' => 0 : Flags
|
|
46
|
+
* 'extends' => null : Name of extended class
|
|
47
|
+
* 'implements' => array(): Names of implemented interfaces
|
|
48
|
+
* 'stmts' => array(): Statements
|
|
49
|
+
* 'attrGroups' => array(): PHP attribute groups
|
|
50
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
37
51
|
*/
|
|
38
52
|
public function __construct($name, array $subNodes = [], array $attributes = []) {
|
|
39
53
|
$this->attributes = $attributes;
|
|
@@ -45,63 +59,36 @@ class Class_ extends ClassLike
|
|
|
45
59
|
$this->attrGroups = $subNodes['attrGroups'] ?? [];
|
|
46
60
|
}
|
|
47
61
|
|
|
48
|
-
public function getSubNodeNames()
|
|
62
|
+
public function getSubNodeNames(): array {
|
|
49
63
|
return ['attrGroups', 'flags', 'name', 'extends', 'implements', 'stmts'];
|
|
50
64
|
}
|
|
51
65
|
|
|
52
66
|
/**
|
|
53
67
|
* Whether the class is explicitly abstract.
|
|
54
|
-
*
|
|
55
|
-
* @return bool
|
|
56
68
|
*/
|
|
57
|
-
public function isAbstract()
|
|
58
|
-
return (bool) ($this->flags &
|
|
69
|
+
public function isAbstract(): bool {
|
|
70
|
+
return (bool) ($this->flags & Modifiers::ABSTRACT);
|
|
59
71
|
}
|
|
60
72
|
|
|
61
73
|
/**
|
|
62
74
|
* Whether the class is final.
|
|
63
|
-
*
|
|
64
|
-
* @return bool
|
|
65
75
|
*/
|
|
66
|
-
public function isFinal()
|
|
67
|
-
return (bool) ($this->flags &
|
|
76
|
+
public function isFinal(): bool {
|
|
77
|
+
return (bool) ($this->flags & Modifiers::FINAL);
|
|
68
78
|
}
|
|
69
79
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
*
|
|
73
|
-
* @return bool
|
|
74
|
-
*/
|
|
75
|
-
public function isAnonymous() : bool {
|
|
76
|
-
return null === $this->name;
|
|
80
|
+
public function isReadonly(): bool {
|
|
81
|
+
return (bool) ($this->flags & Modifiers::READONLY);
|
|
77
82
|
}
|
|
78
83
|
|
|
79
84
|
/**
|
|
80
|
-
*
|
|
85
|
+
* Whether the class is anonymous.
|
|
81
86
|
*/
|
|
82
|
-
public
|
|
83
|
-
|
|
84
|
-
throw new Error('Multiple access type modifiers are not allowed');
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) {
|
|
88
|
-
throw new Error('Multiple abstract modifiers are not allowed');
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
if ($a & self::MODIFIER_STATIC && $b & self::MODIFIER_STATIC) {
|
|
92
|
-
throw new Error('Multiple static modifiers are not allowed');
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) {
|
|
96
|
-
throw new Error('Multiple final modifiers are not allowed');
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
if ($a & 48 && $b & 48) {
|
|
100
|
-
throw new Error('Cannot use the final modifier on an abstract class member');
|
|
101
|
-
}
|
|
87
|
+
public function isAnonymous(): bool {
|
|
88
|
+
return null === $this->name;
|
|
102
89
|
}
|
|
103
90
|
|
|
104
|
-
public function getType()
|
|
91
|
+
public function getType(): string {
|
|
105
92
|
return 'Stmt_Class';
|
|
106
93
|
}
|
|
107
94
|
}
|
|
@@ -4,27 +4,26 @@ namespace PhpParser\Node\Stmt;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser\Node;
|
|
6
6
|
|
|
7
|
-
class Const_ extends Node\Stmt
|
|
8
|
-
{
|
|
7
|
+
class Const_ extends Node\Stmt {
|
|
9
8
|
/** @var Node\Const_[] Constant declarations */
|
|
10
|
-
public $consts;
|
|
9
|
+
public array $consts;
|
|
11
10
|
|
|
12
11
|
/**
|
|
13
12
|
* Constructs a const list node.
|
|
14
13
|
*
|
|
15
|
-
* @param Node\Const_[] $consts
|
|
16
|
-
* @param array
|
|
14
|
+
* @param Node\Const_[] $consts Constant declarations
|
|
15
|
+
* @param array<string, mixed> $attributes Additional attributes
|
|
17
16
|
*/
|
|
18
17
|
public function __construct(array $consts, array $attributes = []) {
|
|
19
18
|
$this->attributes = $attributes;
|
|
20
19
|
$this->consts = $consts;
|
|
21
20
|
}
|
|
22
21
|
|
|
23
|
-
public function getSubNodeNames()
|
|
22
|
+
public function getSubNodeNames(): array {
|
|
24
23
|
return ['consts'];
|
|
25
24
|
}
|
|
26
|
-
|
|
27
|
-
public function getType()
|
|
25
|
+
|
|
26
|
+
public function getType(): string {
|
|
28
27
|
return 'Stmt_Const';
|
|
29
28
|
}
|
|
30
29
|
}
|