@flarum/cli 2.0.2 → 3.0.1
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 +40 -22
- package/boilerplate/skeleton/extension/.github/workflows/backend.yml +1 -1
- package/boilerplate/skeleton/extension/.github/workflows/frontend.yml +2 -1
- package/boilerplate/skeleton/extension/.github/workflows/phpstan.yml +12 -0
- package/boilerplate/skeleton/extension/composer.json +8 -4
- package/boilerplate/skeleton/extension/gitignore +1 -0
- package/boilerplate/skeleton/extension/js/jest.config.cjs +1 -0
- package/boilerplate/skeleton/extension/js/package.json +6 -3
- 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 +3 -1
- 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 +1 -1
- 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 +3 -1
- package/boilerplate/skeleton/extension/js/tests/unit/.gitkeep +0 -0
- 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 +5 -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 +19 -5
- package/lib/base-command.js +73 -28
- package/lib/boilersmith/io.d.ts +9 -7
- package/lib/boilersmith/io.js +28 -15
- package/lib/boilersmith/paths.d.ts +1 -1
- package/lib/boilersmith/scaffolding/audit-step-factory.js +1 -1
- package/lib/boilersmith/scaffolding/module.d.ts +4 -4
- package/lib/boilersmith/scaffolding/module.js +6 -6
- package/lib/boilersmith/scaffolding/scaffolder.d.ts +1 -1
- package/lib/boilersmith/scaffolding/scaffolder.js +1 -1
- package/lib/boilersmith/scaffolding/template-param.d.ts +1 -1
- package/lib/boilersmith/step-manager.d.ts +15 -10
- package/lib/boilersmith/step-manager.js +35 -9
- package/lib/boilersmith/steps/stub-base.js +1 -1
- package/lib/boilersmith/utils/json-leaf-paths.d.ts +2 -2
- package/lib/commands/audit/infra.d.ts +1 -4
- package/lib/commands/audit/infra.js +1 -1
- package/lib/commands/flarum/change.js +2 -2
- package/lib/commands/flarum/info.js +1 -1
- package/lib/commands/infra.d.ts +1 -9
- package/lib/commands/infra.js +2 -2
- package/lib/commands/init.d.ts +1 -4
- package/lib/commands/init.js +3 -3
- 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 +2 -2
- 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 +1 -1
- 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 +6 -6
- package/lib/commands/make/backend/integration-test.d.ts +1 -4
- package/lib/commands/make/backend/integration-test.js +2 -2
- 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 +9 -2
- package/lib/commands/make/backend/model.d.ts +6 -7
- package/lib/commands/make/backend/model.js +68 -447
- 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 +1 -1
- 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 +1 -1
- 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 +2 -2
- 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 +26 -24
- 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 +1 -4
- package/lib/commands/monorepo/create.js +1 -1
- package/lib/commands/monorepo/split.d.ts +1 -4
- package/lib/commands/monorepo/split.js +1 -1
- package/lib/commands/update/js-imports.d.ts +1 -4
- package/lib/commands/update/js-imports.js +1 -1
- package/lib/commands/upgrade/2.0.d.ts +17 -0
- package/lib/commands/upgrade/2.0.js +113 -0
- package/lib/help.js +1 -1
- package/lib/providers/php-provider.d.ts +7 -1
- package/lib/providers/php-provider.js +16 -3
- 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 +3 -3
- package/lib/steps/gen-ext-scaffolder.js +79 -7
- package/lib/steps/js/base.d.ts +14 -5
- package/lib/steps/js/base.js +101 -25
- 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/git.js +1 -1
- package/lib/steps/monorepo/create.d.ts +2 -0
- package/lib/steps/monorepo/create.js +5 -4
- package/lib/steps/monorepo/split.js +1 -1
- 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} +1 -1
- package/lib/steps/stubs/backend/{api-serializer.js → api-resource.js} +9 -9
- package/lib/steps/stubs/backend/command.d.ts +2 -16
- package/lib/steps/stubs/backend/command.js +14 -1
- package/lib/steps/stubs/backend/{api-controller.d.ts → controller.d.ts} +3 -13
- package/lib/steps/stubs/backend/controller.js +40 -0
- package/lib/steps/stubs/backend/event-listener.js +1 -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 +2 -1
- package/lib/steps/stubs/backend/handler.js +1 -1
- package/lib/steps/stubs/backend/integration-test.js +0 -5
- 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/model.d.ts +2 -24
- package/lib/steps/stubs/backend/model.js +2 -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.js +1 -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.js +1 -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/flarum-base.js +1 -1
- 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/model.d.ts +12 -0
- package/lib/steps/stubs/frontend/model.js +5 -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 +5 -1
- package/lib/steps/stubs/php-base.js +3 -1
- package/lib/steps/update/js-imports.js +1 -1
- 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 +1 -1
- package/lib/utils/model-name.d.ts +1 -0
- package/lib/utils/model-name.js +7 -3
- package/lib/utils/monorepo.d.ts +2 -2
- package/lib/utils/validation.d.ts +4 -1
- package/lib/utils/validation.js +9 -0
- package/oclif.manifest.json +1 -1
- package/package.json +20 -13
- package/php-subsystem/composer.json +3 -1
- package/php-subsystem/composer.lock +13 -11
- 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 +584 -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 +12 -10
- 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 +74 -62
- package/php-subsystem/vendor/nikic/php-parser/bin/php-parse +12 -11
- package/php-subsystem/vendor/nikic/php-parser/composer.json +6 -4
- 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 -26
- package/lib/commands/make/backend/api-serializer-attributes.js +0 -14
- 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 -65
- 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 -27
- 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
|
@@ -4,21 +4,27 @@ namespace PhpParser\Builder;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser;
|
|
6
6
|
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Modifiers;
|
|
8
|
+
use PhpParser\Node;
|
|
7
9
|
use PhpParser\Node\Name;
|
|
8
10
|
use PhpParser\Node\Stmt;
|
|
9
11
|
|
|
10
|
-
class Class_ extends Declaration
|
|
11
|
-
|
|
12
|
-
protected $
|
|
13
|
-
|
|
14
|
-
protected $
|
|
15
|
-
protected $
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
protected $constants = [];
|
|
20
|
-
|
|
21
|
-
protected $
|
|
12
|
+
class Class_ extends Declaration {
|
|
13
|
+
protected string $name;
|
|
14
|
+
protected ?Name $extends = null;
|
|
15
|
+
/** @var list<Name> */
|
|
16
|
+
protected array $implements = [];
|
|
17
|
+
protected int $flags = 0;
|
|
18
|
+
/** @var list<Stmt\TraitUse> */
|
|
19
|
+
protected array $uses = [];
|
|
20
|
+
/** @var list<Stmt\ClassConst> */
|
|
21
|
+
protected array $constants = [];
|
|
22
|
+
/** @var list<Stmt\Property> */
|
|
23
|
+
protected array $properties = [];
|
|
24
|
+
/** @var list<Stmt\ClassMethod> */
|
|
25
|
+
protected array $methods = [];
|
|
26
|
+
/** @var list<Node\AttributeGroup> */
|
|
27
|
+
protected array $attributeGroups = [];
|
|
22
28
|
|
|
23
29
|
/**
|
|
24
30
|
* Creates a class builder.
|
|
@@ -63,7 +69,7 @@ class Class_ extends Declaration
|
|
|
63
69
|
* @return $this The builder instance (for fluid interface)
|
|
64
70
|
*/
|
|
65
71
|
public function makeAbstract() {
|
|
66
|
-
$this->flags = BuilderHelpers::
|
|
72
|
+
$this->flags = BuilderHelpers::addClassModifier($this->flags, Modifiers::ABSTRACT);
|
|
67
73
|
|
|
68
74
|
return $this;
|
|
69
75
|
}
|
|
@@ -74,7 +80,18 @@ class Class_ extends Declaration
|
|
|
74
80
|
* @return $this The builder instance (for fluid interface)
|
|
75
81
|
*/
|
|
76
82
|
public function makeFinal() {
|
|
77
|
-
$this->flags = BuilderHelpers::
|
|
83
|
+
$this->flags = BuilderHelpers::addClassModifier($this->flags, Modifiers::FINAL);
|
|
84
|
+
|
|
85
|
+
return $this;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Makes the class readonly.
|
|
90
|
+
*
|
|
91
|
+
* @return $this The builder instance (for fluid interface)
|
|
92
|
+
*/
|
|
93
|
+
public function makeReadonly() {
|
|
94
|
+
$this->flags = BuilderHelpers::addClassModifier($this->flags, Modifiers::READONLY);
|
|
78
95
|
|
|
79
96
|
return $this;
|
|
80
97
|
}
|
|
@@ -89,19 +106,30 @@ class Class_ extends Declaration
|
|
|
89
106
|
public function addStmt($stmt) {
|
|
90
107
|
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
91
108
|
|
|
92
|
-
$
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
109
|
+
if ($stmt instanceof Stmt\Property) {
|
|
110
|
+
$this->properties[] = $stmt;
|
|
111
|
+
} elseif ($stmt instanceof Stmt\ClassMethod) {
|
|
112
|
+
$this->methods[] = $stmt;
|
|
113
|
+
} elseif ($stmt instanceof Stmt\TraitUse) {
|
|
114
|
+
$this->uses[] = $stmt;
|
|
115
|
+
} elseif ($stmt instanceof Stmt\ClassConst) {
|
|
116
|
+
$this->constants[] = $stmt;
|
|
117
|
+
} else {
|
|
101
118
|
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
102
119
|
}
|
|
103
120
|
|
|
104
|
-
|
|
121
|
+
return $this;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Adds an attribute group.
|
|
126
|
+
*
|
|
127
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
128
|
+
*
|
|
129
|
+
* @return $this The builder instance (for fluid interface)
|
|
130
|
+
*/
|
|
131
|
+
public function addAttribute($attribute) {
|
|
132
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
105
133
|
|
|
106
134
|
return $this;
|
|
107
135
|
}
|
|
@@ -111,12 +139,13 @@ class Class_ extends Declaration
|
|
|
111
139
|
*
|
|
112
140
|
* @return Stmt\Class_ The built class node
|
|
113
141
|
*/
|
|
114
|
-
public function getNode()
|
|
142
|
+
public function getNode(): PhpParser\Node {
|
|
115
143
|
return new Stmt\Class_($this->name, [
|
|
116
144
|
'flags' => $this->flags,
|
|
117
145
|
'extends' => $this->extends,
|
|
118
146
|
'implements' => $this->implements,
|
|
119
147
|
'stmts' => array_merge($this->uses, $this->constants, $this->properties, $this->methods),
|
|
148
|
+
'attrGroups' => $this->attributeGroups,
|
|
120
149
|
], $this->attributes);
|
|
121
150
|
}
|
|
122
151
|
}
|
|
@@ -5,16 +5,23 @@ namespace PhpParser\Builder;
|
|
|
5
5
|
use PhpParser;
|
|
6
6
|
use PhpParser\BuilderHelpers;
|
|
7
7
|
|
|
8
|
-
abstract class Declaration implements PhpParser\Builder
|
|
9
|
-
|
|
10
|
-
protected $attributes = [];
|
|
8
|
+
abstract class Declaration implements PhpParser\Builder {
|
|
9
|
+
/** @var array<string, mixed> */
|
|
10
|
+
protected array $attributes = [];
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Adds a statement.
|
|
14
|
+
*
|
|
15
|
+
* @param PhpParser\Node\Stmt|PhpParser\Builder $stmt The statement to add
|
|
16
|
+
*
|
|
17
|
+
* @return $this The builder instance (for fluid interface)
|
|
18
|
+
*/
|
|
12
19
|
abstract public function addStmt($stmt);
|
|
13
20
|
|
|
14
21
|
/**
|
|
15
22
|
* Adds multiple statements.
|
|
16
23
|
*
|
|
17
|
-
* @param
|
|
24
|
+
* @param (PhpParser\Node\Stmt|PhpParser\Builder)[] $stmts The statements to add
|
|
18
25
|
*
|
|
19
26
|
* @return $this The builder instance (for fluid interface)
|
|
20
27
|
*/
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
|
|
3
|
+
declare(strict_types=1);
|
|
4
|
+
|
|
5
|
+
namespace PhpParser\Builder;
|
|
6
|
+
|
|
7
|
+
use PhpParser;
|
|
8
|
+
use PhpParser\BuilderHelpers;
|
|
9
|
+
use PhpParser\Node;
|
|
10
|
+
use PhpParser\Node\Identifier;
|
|
11
|
+
use PhpParser\Node\Stmt;
|
|
12
|
+
|
|
13
|
+
class EnumCase implements PhpParser\Builder {
|
|
14
|
+
/** @var Identifier|string */
|
|
15
|
+
protected $name;
|
|
16
|
+
/** @var ?Node\Expr */
|
|
17
|
+
protected ?Node\Expr $value = null;
|
|
18
|
+
/** @var array<string, mixed> */
|
|
19
|
+
protected array $attributes = [];
|
|
20
|
+
|
|
21
|
+
/** @var list<Node\AttributeGroup> */
|
|
22
|
+
protected array $attributeGroups = [];
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Creates an enum case builder.
|
|
26
|
+
*
|
|
27
|
+
* @param string|Identifier $name Name
|
|
28
|
+
*/
|
|
29
|
+
public function __construct($name) {
|
|
30
|
+
$this->name = $name;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Sets the value.
|
|
35
|
+
*
|
|
36
|
+
* @param Node\Expr|string|int $value
|
|
37
|
+
*
|
|
38
|
+
* @return $this
|
|
39
|
+
*/
|
|
40
|
+
public function setValue($value) {
|
|
41
|
+
$this->value = BuilderHelpers::normalizeValue($value);
|
|
42
|
+
|
|
43
|
+
return $this;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Sets doc comment for the constant.
|
|
48
|
+
*
|
|
49
|
+
* @param PhpParser\Comment\Doc|string $docComment Doc comment to set
|
|
50
|
+
*
|
|
51
|
+
* @return $this The builder instance (for fluid interface)
|
|
52
|
+
*/
|
|
53
|
+
public function setDocComment($docComment) {
|
|
54
|
+
$this->attributes = [
|
|
55
|
+
'comments' => [BuilderHelpers::normalizeDocComment($docComment)]
|
|
56
|
+
];
|
|
57
|
+
|
|
58
|
+
return $this;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Adds an attribute group.
|
|
63
|
+
*
|
|
64
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
65
|
+
*
|
|
66
|
+
* @return $this The builder instance (for fluid interface)
|
|
67
|
+
*/
|
|
68
|
+
public function addAttribute($attribute) {
|
|
69
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
70
|
+
|
|
71
|
+
return $this;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Returns the built enum case node.
|
|
76
|
+
*
|
|
77
|
+
* @return Stmt\EnumCase The built constant node
|
|
78
|
+
*/
|
|
79
|
+
public function getNode(): PhpParser\Node {
|
|
80
|
+
return new Stmt\EnumCase(
|
|
81
|
+
$this->name,
|
|
82
|
+
$this->value,
|
|
83
|
+
$this->attributeGroups,
|
|
84
|
+
$this->attributes
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<?php declare(strict_types=1);
|
|
2
|
+
|
|
3
|
+
namespace PhpParser\Builder;
|
|
4
|
+
|
|
5
|
+
use PhpParser;
|
|
6
|
+
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Node;
|
|
8
|
+
use PhpParser\Node\Identifier;
|
|
9
|
+
use PhpParser\Node\Name;
|
|
10
|
+
use PhpParser\Node\Stmt;
|
|
11
|
+
|
|
12
|
+
class Enum_ extends Declaration {
|
|
13
|
+
protected string $name;
|
|
14
|
+
protected ?Identifier $scalarType = null;
|
|
15
|
+
/** @var list<Name> */
|
|
16
|
+
protected array $implements = [];
|
|
17
|
+
/** @var list<Stmt\TraitUse> */
|
|
18
|
+
protected array $uses = [];
|
|
19
|
+
/** @var list<Stmt\EnumCase> */
|
|
20
|
+
protected array $enumCases = [];
|
|
21
|
+
/** @var list<Stmt\ClassConst> */
|
|
22
|
+
protected array $constants = [];
|
|
23
|
+
/** @var list<Stmt\ClassMethod> */
|
|
24
|
+
protected array $methods = [];
|
|
25
|
+
/** @var list<Node\AttributeGroup> */
|
|
26
|
+
protected array $attributeGroups = [];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Creates an enum builder.
|
|
30
|
+
*
|
|
31
|
+
* @param string $name Name of the enum
|
|
32
|
+
*/
|
|
33
|
+
public function __construct(string $name) {
|
|
34
|
+
$this->name = $name;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Sets the scalar type.
|
|
39
|
+
*
|
|
40
|
+
* @param string|Identifier $scalarType
|
|
41
|
+
*
|
|
42
|
+
* @return $this
|
|
43
|
+
*/
|
|
44
|
+
public function setScalarType($scalarType) {
|
|
45
|
+
$this->scalarType = BuilderHelpers::normalizeType($scalarType);
|
|
46
|
+
|
|
47
|
+
return $this;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Implements one or more interfaces.
|
|
52
|
+
*
|
|
53
|
+
* @param Name|string ...$interfaces Names of interfaces to implement
|
|
54
|
+
*
|
|
55
|
+
* @return $this The builder instance (for fluid interface)
|
|
56
|
+
*/
|
|
57
|
+
public function implement(...$interfaces) {
|
|
58
|
+
foreach ($interfaces as $interface) {
|
|
59
|
+
$this->implements[] = BuilderHelpers::normalizeName($interface);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
return $this;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Adds a statement.
|
|
67
|
+
*
|
|
68
|
+
* @param Stmt|PhpParser\Builder $stmt The statement to add
|
|
69
|
+
*
|
|
70
|
+
* @return $this The builder instance (for fluid interface)
|
|
71
|
+
*/
|
|
72
|
+
public function addStmt($stmt) {
|
|
73
|
+
$stmt = BuilderHelpers::normalizeNode($stmt);
|
|
74
|
+
|
|
75
|
+
if ($stmt instanceof Stmt\EnumCase) {
|
|
76
|
+
$this->enumCases[] = $stmt;
|
|
77
|
+
} elseif ($stmt instanceof Stmt\ClassMethod) {
|
|
78
|
+
$this->methods[] = $stmt;
|
|
79
|
+
} elseif ($stmt instanceof Stmt\TraitUse) {
|
|
80
|
+
$this->uses[] = $stmt;
|
|
81
|
+
} elseif ($stmt instanceof Stmt\ClassConst) {
|
|
82
|
+
$this->constants[] = $stmt;
|
|
83
|
+
} else {
|
|
84
|
+
throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType()));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
return $this;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Adds an attribute group.
|
|
92
|
+
*
|
|
93
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
94
|
+
*
|
|
95
|
+
* @return $this The builder instance (for fluid interface)
|
|
96
|
+
*/
|
|
97
|
+
public function addAttribute($attribute) {
|
|
98
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
99
|
+
|
|
100
|
+
return $this;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Returns the built class node.
|
|
105
|
+
*
|
|
106
|
+
* @return Stmt\Enum_ The built enum node
|
|
107
|
+
*/
|
|
108
|
+
public function getNode(): PhpParser\Node {
|
|
109
|
+
return new Stmt\Enum_($this->name, [
|
|
110
|
+
'scalarType' => $this->scalarType,
|
|
111
|
+
'implements' => $this->implements,
|
|
112
|
+
'stmts' => array_merge($this->uses, $this->enumCases, $this->constants, $this->methods),
|
|
113
|
+
'attrGroups' => $this->attributeGroups,
|
|
114
|
+
], $this->attributes);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -5,13 +5,13 @@ namespace PhpParser\Builder;
|
|
|
5
5
|
use PhpParser\BuilderHelpers;
|
|
6
6
|
use PhpParser\Node;
|
|
7
7
|
|
|
8
|
-
abstract class FunctionLike extends Declaration
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
protected $params = [];
|
|
8
|
+
abstract class FunctionLike extends Declaration {
|
|
9
|
+
protected bool $returnByRef = false;
|
|
10
|
+
/** @var Node\Param[] */
|
|
11
|
+
protected array $params = [];
|
|
12
12
|
|
|
13
|
-
/** @var
|
|
14
|
-
protected $returnType = null;
|
|
13
|
+
/** @var Node\Identifier|Node\Name|Node\ComplexType|null */
|
|
14
|
+
protected ?Node $returnType = null;
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Make the function return by reference.
|
|
@@ -46,7 +46,7 @@ abstract class FunctionLike extends Declaration
|
|
|
46
46
|
/**
|
|
47
47
|
* Adds multiple parameters.
|
|
48
48
|
*
|
|
49
|
-
* @param
|
|
49
|
+
* @param (Node\Param|Param)[] $params The parameters to add
|
|
50
50
|
*
|
|
51
51
|
* @return $this The builder instance (for fluid interface)
|
|
52
52
|
*/
|
|
@@ -61,8 +61,7 @@ abstract class FunctionLike extends Declaration
|
|
|
61
61
|
/**
|
|
62
62
|
* Sets the return type for PHP 7.
|
|
63
63
|
*
|
|
64
|
-
* @param string|Node\Name|Node\
|
|
65
|
-
* bool, iterable, or a class/interface name.
|
|
64
|
+
* @param string|Node\Name|Node\Identifier|Node\ComplexType $type
|
|
66
65
|
*
|
|
67
66
|
* @return $this The builder instance (for fluid interface)
|
|
68
67
|
*/
|
|
@@ -7,10 +7,13 @@ use PhpParser\BuilderHelpers;
|
|
|
7
7
|
use PhpParser\Node;
|
|
8
8
|
use PhpParser\Node\Stmt;
|
|
9
9
|
|
|
10
|
-
class Function_ extends FunctionLike
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
protected $stmts = [];
|
|
10
|
+
class Function_ extends FunctionLike {
|
|
11
|
+
protected string $name;
|
|
12
|
+
/** @var list<Stmt> */
|
|
13
|
+
protected array $stmts = [];
|
|
14
|
+
|
|
15
|
+
/** @var list<Node\AttributeGroup> */
|
|
16
|
+
protected array $attributeGroups = [];
|
|
14
17
|
|
|
15
18
|
/**
|
|
16
19
|
* Creates a function builder.
|
|
@@ -34,17 +37,31 @@ class Function_ extends FunctionLike
|
|
|
34
37
|
return $this;
|
|
35
38
|
}
|
|
36
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Adds an attribute group.
|
|
42
|
+
*
|
|
43
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
44
|
+
*
|
|
45
|
+
* @return $this The builder instance (for fluid interface)
|
|
46
|
+
*/
|
|
47
|
+
public function addAttribute($attribute) {
|
|
48
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
49
|
+
|
|
50
|
+
return $this;
|
|
51
|
+
}
|
|
52
|
+
|
|
37
53
|
/**
|
|
38
54
|
* Returns the built function node.
|
|
39
55
|
*
|
|
40
56
|
* @return Stmt\Function_ The built function node
|
|
41
57
|
*/
|
|
42
|
-
public function getNode()
|
|
58
|
+
public function getNode(): Node {
|
|
43
59
|
return new Stmt\Function_($this->name, [
|
|
44
60
|
'byRef' => $this->returnByRef,
|
|
45
61
|
'params' => $this->params,
|
|
46
62
|
'returnType' => $this->returnType,
|
|
47
63
|
'stmts' => $this->stmts,
|
|
64
|
+
'attrGroups' => $this->attributeGroups,
|
|
48
65
|
], $this->attributes);
|
|
49
66
|
}
|
|
50
67
|
}
|
|
@@ -4,15 +4,20 @@ namespace PhpParser\Builder;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser;
|
|
6
6
|
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Node;
|
|
7
8
|
use PhpParser\Node\Name;
|
|
8
9
|
use PhpParser\Node\Stmt;
|
|
9
10
|
|
|
10
|
-
class Interface_ extends Declaration
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
protected $extends = [];
|
|
14
|
-
|
|
15
|
-
protected $
|
|
11
|
+
class Interface_ extends Declaration {
|
|
12
|
+
protected string $name;
|
|
13
|
+
/** @var list<Name> */
|
|
14
|
+
protected array $extends = [];
|
|
15
|
+
/** @var list<Stmt\ClassConst> */
|
|
16
|
+
protected array $constants = [];
|
|
17
|
+
/** @var list<Stmt\ClassMethod> */
|
|
18
|
+
protected array $methods = [];
|
|
19
|
+
/** @var list<Node\AttributeGroup> */
|
|
20
|
+
protected array $attributeGroups = [];
|
|
16
21
|
|
|
17
22
|
/**
|
|
18
23
|
* Creates an interface builder.
|
|
@@ -61,15 +66,29 @@ class Interface_ extends Declaration
|
|
|
61
66
|
return $this;
|
|
62
67
|
}
|
|
63
68
|
|
|
69
|
+
/**
|
|
70
|
+
* Adds an attribute group.
|
|
71
|
+
*
|
|
72
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
73
|
+
*
|
|
74
|
+
* @return $this The builder instance (for fluid interface)
|
|
75
|
+
*/
|
|
76
|
+
public function addAttribute($attribute) {
|
|
77
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
78
|
+
|
|
79
|
+
return $this;
|
|
80
|
+
}
|
|
81
|
+
|
|
64
82
|
/**
|
|
65
83
|
* Returns the built interface node.
|
|
66
84
|
*
|
|
67
85
|
* @return Stmt\Interface_ The built interface node
|
|
68
86
|
*/
|
|
69
|
-
public function getNode()
|
|
87
|
+
public function getNode(): PhpParser\Node {
|
|
70
88
|
return new Stmt\Interface_($this->name, [
|
|
71
89
|
'extends' => $this->extends,
|
|
72
90
|
'stmts' => array_merge($this->constants, $this->methods),
|
|
91
|
+
'attrGroups' => $this->attributeGroups,
|
|
73
92
|
], $this->attributes);
|
|
74
93
|
}
|
|
75
94
|
}
|
|
@@ -4,16 +4,20 @@ namespace PhpParser\Builder;
|
|
|
4
4
|
|
|
5
5
|
use PhpParser;
|
|
6
6
|
use PhpParser\BuilderHelpers;
|
|
7
|
+
use PhpParser\Modifiers;
|
|
7
8
|
use PhpParser\Node;
|
|
8
9
|
use PhpParser\Node\Stmt;
|
|
9
10
|
|
|
10
|
-
class Method extends FunctionLike
|
|
11
|
-
|
|
12
|
-
protected $name;
|
|
13
|
-
protected $flags = 0;
|
|
11
|
+
class Method extends FunctionLike {
|
|
12
|
+
protected string $name;
|
|
14
13
|
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
protected int $flags = 0;
|
|
15
|
+
|
|
16
|
+
/** @var list<Stmt>|null */
|
|
17
|
+
protected ?array $stmts = [];
|
|
18
|
+
|
|
19
|
+
/** @var list<Node\AttributeGroup> */
|
|
20
|
+
protected array $attributeGroups = [];
|
|
17
21
|
|
|
18
22
|
/**
|
|
19
23
|
* Creates a method builder.
|
|
@@ -30,7 +34,7 @@ class Method extends FunctionLike
|
|
|
30
34
|
* @return $this The builder instance (for fluid interface)
|
|
31
35
|
*/
|
|
32
36
|
public function makePublic() {
|
|
33
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
37
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PUBLIC);
|
|
34
38
|
|
|
35
39
|
return $this;
|
|
36
40
|
}
|
|
@@ -41,7 +45,7 @@ class Method extends FunctionLike
|
|
|
41
45
|
* @return $this The builder instance (for fluid interface)
|
|
42
46
|
*/
|
|
43
47
|
public function makeProtected() {
|
|
44
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
48
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PROTECTED);
|
|
45
49
|
|
|
46
50
|
return $this;
|
|
47
51
|
}
|
|
@@ -52,7 +56,7 @@ class Method extends FunctionLike
|
|
|
52
56
|
* @return $this The builder instance (for fluid interface)
|
|
53
57
|
*/
|
|
54
58
|
public function makePrivate() {
|
|
55
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
59
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::PRIVATE);
|
|
56
60
|
|
|
57
61
|
return $this;
|
|
58
62
|
}
|
|
@@ -63,7 +67,7 @@ class Method extends FunctionLike
|
|
|
63
67
|
* @return $this The builder instance (for fluid interface)
|
|
64
68
|
*/
|
|
65
69
|
public function makeStatic() {
|
|
66
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
70
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::STATIC);
|
|
67
71
|
|
|
68
72
|
return $this;
|
|
69
73
|
}
|
|
@@ -78,7 +82,7 @@ class Method extends FunctionLike
|
|
|
78
82
|
throw new \LogicException('Cannot make method with statements abstract');
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
85
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::ABSTRACT);
|
|
82
86
|
$this->stmts = null; // abstract methods don't have statements
|
|
83
87
|
|
|
84
88
|
return $this;
|
|
@@ -90,7 +94,7 @@ class Method extends FunctionLike
|
|
|
90
94
|
* @return $this The builder instance (for fluid interface)
|
|
91
95
|
*/
|
|
92
96
|
public function makeFinal() {
|
|
93
|
-
$this->flags = BuilderHelpers::addModifier($this->flags,
|
|
97
|
+
$this->flags = BuilderHelpers::addModifier($this->flags, Modifiers::FINAL);
|
|
94
98
|
|
|
95
99
|
return $this;
|
|
96
100
|
}
|
|
@@ -112,18 +116,32 @@ class Method extends FunctionLike
|
|
|
112
116
|
return $this;
|
|
113
117
|
}
|
|
114
118
|
|
|
119
|
+
/**
|
|
120
|
+
* Adds an attribute group.
|
|
121
|
+
*
|
|
122
|
+
* @param Node\Attribute|Node\AttributeGroup $attribute
|
|
123
|
+
*
|
|
124
|
+
* @return $this The builder instance (for fluid interface)
|
|
125
|
+
*/
|
|
126
|
+
public function addAttribute($attribute) {
|
|
127
|
+
$this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute);
|
|
128
|
+
|
|
129
|
+
return $this;
|
|
130
|
+
}
|
|
131
|
+
|
|
115
132
|
/**
|
|
116
133
|
* Returns the built method node.
|
|
117
134
|
*
|
|
118
135
|
* @return Stmt\ClassMethod The built method node
|
|
119
136
|
*/
|
|
120
|
-
public function getNode()
|
|
137
|
+
public function getNode(): Node {
|
|
121
138
|
return new Stmt\ClassMethod($this->name, [
|
|
122
139
|
'flags' => $this->flags,
|
|
123
140
|
'byRef' => $this->returnByRef,
|
|
124
141
|
'params' => $this->params,
|
|
125
142
|
'returnType' => $this->returnType,
|
|
126
143
|
'stmts' => $this->stmts,
|
|
144
|
+
'attrGroups' => $this->attributeGroups,
|
|
127
145
|
], $this->attributes);
|
|
128
146
|
}
|
|
129
147
|
}
|
|
@@ -7,10 +7,10 @@ use PhpParser\BuilderHelpers;
|
|
|
7
7
|
use PhpParser\Node;
|
|
8
8
|
use PhpParser\Node\Stmt;
|
|
9
9
|
|
|
10
|
-
class Namespace_ extends Declaration
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
private $stmts = [];
|
|
10
|
+
class Namespace_ extends Declaration {
|
|
11
|
+
private ?Node\Name $name;
|
|
12
|
+
/** @var Stmt[] */
|
|
13
|
+
private array $stmts = [];
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Creates a namespace builder.
|
|
@@ -39,7 +39,7 @@ class Namespace_ extends Declaration
|
|
|
39
39
|
*
|
|
40
40
|
* @return Stmt\Namespace_ The built node
|
|
41
41
|
*/
|
|
42
|
-
public function getNode()
|
|
42
|
+
public function getNode(): Node {
|
|
43
43
|
return new Stmt\Namespace_($this->name, $this->stmts, $this->attributes);
|
|
44
44
|
}
|
|
45
45
|
}
|