@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.
Files changed (663) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +178 -48
  3. package/bin/run +2 -1
  4. package/bin/splitsh-lite-darwin +0 -0
  5. package/bin/splitsh-lite-linux +0 -0
  6. package/boilerplate/skeleton/extension/.gitattributes +16 -14
  7. package/boilerplate/skeleton/extension/.github/workflows/backend.yml +2 -6
  8. package/boilerplate/skeleton/extension/.github/workflows/frontend.yml +5 -6
  9. package/boilerplate/skeleton/extension/.github/workflows/phpstan.yml +12 -0
  10. package/boilerplate/skeleton/extension/LICENSE.md +1 -1
  11. package/boilerplate/skeleton/extension/README.md +1 -1
  12. package/boilerplate/skeleton/extension/composer.json +13 -7
  13. package/boilerplate/skeleton/extension/extend.php +2 -2
  14. package/boilerplate/skeleton/extension/gitignore +1 -0
  15. package/boilerplate/skeleton/extension/js/admin.ts +2 -0
  16. package/boilerplate/skeleton/extension/js/forum.ts +2 -0
  17. package/boilerplate/skeleton/extension/js/jest.config.cjs +1 -0
  18. package/boilerplate/skeleton/extension/js/package.json +11 -4
  19. package/boilerplate/skeleton/extension/js/src/admin/extend.js +8 -0
  20. package/boilerplate/skeleton/extension/js/src/admin/extend.ts +8 -0
  21. package/boilerplate/skeleton/extension/js/src/admin/index.js +2 -0
  22. package/boilerplate/skeleton/extension/js/src/admin/index.ts +7 -0
  23. package/boilerplate/skeleton/extension/js/src/common/extend.js +5 -0
  24. package/boilerplate/skeleton/extension/js/src/common/extend.ts +5 -0
  25. package/boilerplate/skeleton/extension/js/src/common/index.ts +5 -0
  26. package/boilerplate/skeleton/extension/js/src/forum/extend.js +8 -0
  27. package/boilerplate/skeleton/extension/js/src/forum/extend.ts +8 -0
  28. package/boilerplate/skeleton/extension/js/src/forum/index.js +2 -0
  29. package/boilerplate/skeleton/extension/js/src/forum/index.ts +7 -0
  30. package/boilerplate/skeleton/extension/js/tests/unit/.gitkeep +0 -0
  31. package/boilerplate/skeleton/extension/js/tsconfig.json +10 -2
  32. package/boilerplate/skeleton/extension/js/tsconfig.test.json +10 -0
  33. package/boilerplate/skeleton/extension/locale/en.yml +1 -1
  34. package/boilerplate/skeleton/extension/phpstan.neon +12 -0
  35. package/boilerplate/skeleton/extension/tests/phpunit.integration.xml +6 -7
  36. package/boilerplate/skeleton/extension/tests/phpunit.unit.xml +5 -10
  37. package/boilerplate/stubs/backend/advanced-api-resource.php +85 -0
  38. package/boilerplate/stubs/backend/api-resource.php +73 -0
  39. package/boilerplate/stubs/backend/command.php +2 -2
  40. package/boilerplate/stubs/backend/controller.php +19 -0
  41. package/boilerplate/stubs/backend/event-listener.php +1 -1
  42. package/boilerplate/stubs/backend/filter.php +25 -0
  43. package/boilerplate/stubs/backend/handler/command.php +6 -20
  44. package/boilerplate/stubs/backend/handler/handler.php +6 -14
  45. package/boilerplate/stubs/backend/integration-test.php +10 -7
  46. package/boilerplate/stubs/backend/job.php +6 -11
  47. package/boilerplate/stubs/backend/mail-driver.php +36 -0
  48. package/boilerplate/stubs/backend/middleware.php +19 -0
  49. package/boilerplate/stubs/backend/model.php +1 -1
  50. package/boilerplate/stubs/backend/notification-blueprint.php +42 -0
  51. package/boilerplate/stubs/backend/notification-driver.php +32 -0
  52. package/boilerplate/stubs/backend/policy.php +1 -1
  53. package/boilerplate/stubs/backend/post-type.php +35 -0
  54. package/boilerplate/stubs/backend/repository.php +2 -10
  55. package/boilerplate/stubs/backend/search/driver.php +13 -0
  56. package/boilerplate/stubs/backend/search/searcher.php +41 -0
  57. package/boilerplate/stubs/backend/service-provider.php +1 -1
  58. package/boilerplate/stubs/backend/validator.php +1 -1
  59. package/boilerplate/stubs/frontend/component.js +1 -1
  60. package/boilerplate/stubs/frontend/forum-page.js +68 -0
  61. package/boilerplate/stubs/frontend/gambit/boolean.js +12 -0
  62. package/boilerplate/stubs/frontend/gambit/key-value.js +16 -0
  63. package/boilerplate/stubs/frontend/modal.js +1 -1
  64. package/boilerplate/stubs/frontend/model.js +1 -1
  65. package/boilerplate/stubs/frontend/notification.js +22 -0
  66. package/boilerplate/stubs/frontend/post-type.js +13 -0
  67. package/boilerplate/stubs/migration.php +1 -1
  68. package/boilerplate/stubs/views/email/html/information.blade.php +8 -0
  69. package/boilerplate/stubs/views/email/html/notification.blade.php +8 -0
  70. package/boilerplate/stubs/views/email/plain/information.blade.php +7 -0
  71. package/boilerplate/stubs/views/email/plain/notification.blade.php +6 -0
  72. package/lib/base-command.d.ts +22 -6
  73. package/lib/base-command.js +114 -56
  74. package/lib/boilersmith/io.d.ts +33 -11
  75. package/lib/boilersmith/io.js +32 -17
  76. package/lib/boilersmith/paths.d.ts +3 -3
  77. package/lib/boilersmith/paths.js +7 -7
  78. package/lib/boilersmith/scaffolding/audit-step-factory.js +12 -12
  79. package/lib/boilersmith/scaffolding/infra-step-factory.js +2 -2
  80. package/lib/boilersmith/scaffolding/init-step-factory.js +5 -5
  81. package/lib/boilersmith/scaffolding/module.d.ts +30 -10
  82. package/lib/boilersmith/scaffolding/module.js +61 -19
  83. package/lib/boilersmith/scaffolding/scaffolder.d.ts +4 -1
  84. package/lib/boilersmith/scaffolding/scaffolder.js +33 -33
  85. package/lib/boilersmith/scaffolding/template-param.d.ts +2 -2
  86. package/lib/boilersmith/scaffolding/template-param.js +2 -2
  87. package/lib/boilersmith/step-manager.d.ts +15 -11
  88. package/lib/boilersmith/step-manager.js +45 -29
  89. package/lib/boilersmith/steps/stub-base.js +4 -4
  90. package/lib/boilersmith/utils/clone-and-fill.js +1 -1
  91. package/lib/boilersmith/utils/commit-async.d.ts +2 -0
  92. package/lib/boilersmith/utils/commit-async.js +15 -0
  93. package/lib/boilersmith/utils/json-leaf-paths.d.ts +2 -2
  94. package/lib/boilersmith/utils/read-tpl.js +2 -2
  95. package/lib/commands/audit/infra.d.ts +2 -5
  96. package/lib/commands/audit/infra.js +31 -9
  97. package/lib/commands/infra.d.ts +2 -10
  98. package/lib/commands/infra.js +20 -14
  99. package/lib/commands/init.d.ts +2 -5
  100. package/lib/commands/init.js +7 -5
  101. package/lib/commands/make/backend/{api-serializer.d.ts → api-resource.d.ts} +2 -5
  102. package/lib/commands/make/backend/api-resource.js +26 -0
  103. package/lib/commands/make/backend/command.d.ts +1 -4
  104. package/lib/commands/make/backend/command.js +3 -4
  105. package/lib/commands/make/backend/{api-controller.d.ts → controller.d.ts} +2 -5
  106. package/lib/commands/make/backend/controller.js +31 -0
  107. package/lib/commands/make/backend/event-listener.d.ts +1 -4
  108. package/lib/commands/make/backend/event-listener.js +2 -3
  109. package/lib/commands/make/backend/{api-serializer-attributes.d.ts → filter.d.ts} +3 -6
  110. package/lib/commands/make/backend/filter.js +26 -0
  111. package/lib/commands/make/backend/handler.d.ts +2 -5
  112. package/lib/commands/make/backend/handler.js +8 -11
  113. package/lib/commands/make/backend/integration-test.d.ts +1 -4
  114. package/lib/commands/make/backend/integration-test.js +4 -6
  115. package/lib/commands/make/backend/job.d.ts +1 -4
  116. package/lib/commands/make/backend/job.js +2 -2
  117. package/lib/commands/make/backend/mail-driver.d.ts +12 -0
  118. package/lib/commands/make/backend/mail-driver.js +29 -0
  119. package/lib/commands/make/backend/middleware.d.ts +11 -0
  120. package/lib/commands/make/backend/middleware.js +26 -0
  121. package/lib/commands/make/backend/migration.d.ts +1 -4
  122. package/lib/commands/make/backend/migration.js +10 -4
  123. package/lib/commands/make/backend/model.d.ts +6 -7
  124. package/lib/commands/make/backend/model.js +69 -449
  125. package/lib/commands/make/backend/notification-blueprint.d.ts +12 -0
  126. package/lib/commands/make/backend/notification-blueprint.js +29 -0
  127. package/lib/commands/make/backend/notification-driver.d.ts +12 -0
  128. package/lib/commands/make/backend/notification-driver.js +29 -0
  129. package/lib/commands/make/backend/policy.d.ts +1 -4
  130. package/lib/commands/make/backend/policy.js +2 -3
  131. package/lib/commands/make/backend/post-type.d.ts +12 -0
  132. package/lib/commands/make/backend/post-type.js +29 -0
  133. package/lib/commands/make/backend/repository.d.ts +1 -4
  134. package/lib/commands/make/backend/repository.js +1 -1
  135. package/lib/commands/make/backend/route.d.ts +1 -4
  136. package/lib/commands/make/backend/route.js +2 -3
  137. package/lib/commands/make/backend/search-driver.d.ts +11 -0
  138. package/lib/commands/make/backend/search-driver.js +51 -0
  139. package/lib/commands/make/backend/service-provider.d.ts +1 -4
  140. package/lib/commands/make/backend/service-provider.js +3 -4
  141. package/lib/commands/make/backend/validator.d.ts +1 -4
  142. package/lib/commands/make/backend/validator.js +2 -2
  143. package/lib/commands/make/frontend/component.d.ts +4 -5
  144. package/lib/commands/make/frontend/component.js +7 -2
  145. package/lib/commands/make/frontend/forum-page.d.ts +11 -0
  146. package/lib/commands/make/frontend/forum-page.js +92 -0
  147. package/lib/commands/make/frontend/gambit.d.ts +11 -0
  148. package/lib/commands/make/frontend/gambit.js +30 -0
  149. package/lib/commands/make/frontend/modal.d.ts +1 -4
  150. package/lib/commands/make/frontend/modal.js +3 -2
  151. package/lib/commands/make/frontend/model.d.ts +6 -7
  152. package/lib/commands/make/frontend/model.js +27 -28
  153. package/lib/commands/make/frontend/notification.d.ts +12 -0
  154. package/lib/commands/make/frontend/notification.js +62 -0
  155. package/lib/commands/make/frontend/post-type.d.ts +12 -0
  156. package/lib/commands/make/frontend/post-type.js +59 -0
  157. package/lib/commands/make/locale.d.ts +11 -0
  158. package/lib/commands/make/locale.js +27 -0
  159. package/lib/commands/make/model.d.ts +12 -0
  160. package/lib/commands/make/model.js +29 -0
  161. package/lib/commands/make/notification.d.ts +11 -0
  162. package/lib/commands/make/notification.js +33 -0
  163. package/lib/commands/make/post-type.d.ts +11 -0
  164. package/lib/commands/make/post-type.js +31 -0
  165. package/lib/commands/monorepo/create.d.ts +12 -0
  166. package/lib/commands/monorepo/create.js +20 -0
  167. package/lib/commands/monorepo/split.d.ts +12 -0
  168. package/lib/commands/monorepo/split.js +19 -0
  169. package/lib/commands/update/js-imports.d.ts +1 -4
  170. package/lib/commands/update/js-imports.js +2 -3
  171. package/lib/commands/upgrade/2.0.d.ts +17 -0
  172. package/lib/commands/upgrade/2.0.js +113 -0
  173. package/lib/help.js +2 -2
  174. package/lib/providers/php-provider.d.ts +7 -1
  175. package/lib/providers/php-provider.js +18 -5
  176. package/lib/steps/extenders/{api-serializer.d.ts → api-resource.d.ts} +1 -1
  177. package/lib/steps/extenders/api-resource.js +38 -0
  178. package/lib/steps/extenders/base.d.ts +1 -1
  179. package/lib/steps/extenders/base.js +13 -1
  180. package/lib/steps/extenders/console-command.js +1 -1
  181. package/lib/steps/extenders/event.js +1 -1
  182. package/lib/steps/extenders/mail-driver.d.ts +5 -0
  183. package/lib/steps/extenders/mail-driver.js +58 -0
  184. package/lib/steps/extenders/middleware.d.ts +5 -0
  185. package/lib/steps/extenders/middleware.js +57 -0
  186. package/lib/steps/extenders/notification-driver.d.ts +5 -0
  187. package/lib/steps/extenders/notification-driver.js +58 -0
  188. package/lib/steps/extenders/notification-type.d.ts +5 -0
  189. package/lib/steps/extenders/notification-type.js +55 -0
  190. package/lib/steps/extenders/policy.js +1 -1
  191. package/lib/steps/extenders/post-type.d.ts +5 -0
  192. package/lib/steps/extenders/post-type.js +42 -0
  193. package/lib/steps/extenders/route.js +11 -2
  194. package/lib/steps/extenders/search-driver.d.ts +5 -0
  195. package/lib/steps/extenders/search-driver.js +38 -0
  196. package/lib/steps/extenders/search-filter.d.ts +5 -0
  197. package/lib/steps/extenders/search-filter.js +67 -0
  198. package/lib/steps/extenders/service-provider.js +1 -1
  199. package/lib/steps/gen-ext-scaffolder.d.ts +4 -4
  200. package/lib/steps/gen-ext-scaffolder.js +264 -58
  201. package/lib/steps/js/base.d.ts +14 -5
  202. package/lib/steps/js/base.js +101 -27
  203. package/lib/steps/js/model.d.ts +4 -7
  204. package/lib/steps/js/model.js +45 -19
  205. package/lib/steps/js/notification.d.ts +7 -0
  206. package/lib/steps/js/notification.js +58 -0
  207. package/lib/steps/js/post-type.d.ts +8 -0
  208. package/lib/steps/js/post-type.js +60 -0
  209. package/lib/steps/js/routes.d.ts +7 -0
  210. package/lib/steps/js/routes.js +63 -0
  211. package/lib/steps/js/search-driver-locale.d.ts +8 -0
  212. package/lib/steps/js/search-driver-locale.js +36 -0
  213. package/lib/steps/js/search-gambit.d.ts +7 -0
  214. package/lib/steps/js/search-gambit.js +51 -0
  215. package/lib/steps/locale/base.d.ts +32 -0
  216. package/lib/steps/locale/base.js +97 -0
  217. package/lib/steps/misc/composer.js +2 -2
  218. package/lib/steps/misc/git.d.ts +1 -1
  219. package/lib/steps/misc/git.js +3 -3
  220. package/lib/steps/misc/npm.d.ts +11 -0
  221. package/lib/steps/misc/npm.js +19 -0
  222. package/lib/steps/misc/yarn.js +2 -2
  223. package/lib/steps/monorepo/create.d.ts +19 -0
  224. package/lib/steps/monorepo/create.js +187 -0
  225. package/lib/steps/monorepo/split.d.ts +14 -0
  226. package/lib/steps/monorepo/split.js +99 -0
  227. package/lib/steps/stubs/backend/advanced-api-resource.d.ts +13 -0
  228. package/lib/steps/stubs/backend/advanced-api-resource.js +81 -0
  229. package/lib/steps/stubs/backend/{api-serializer.d.ts → api-resource.d.ts} +2 -2
  230. package/lib/steps/stubs/backend/{api-serializer.js → api-resource.js} +12 -9
  231. package/lib/steps/stubs/backend/command.d.ts +2 -21
  232. package/lib/steps/stubs/backend/command.js +15 -1
  233. package/lib/steps/stubs/backend/{api-controller.d.ts → controller.d.ts} +4 -14
  234. package/lib/steps/stubs/backend/controller.js +40 -0
  235. package/lib/steps/stubs/backend/event-listener.d.ts +1 -1
  236. package/lib/steps/stubs/backend/event-listener.js +3 -1
  237. package/lib/steps/stubs/backend/filter.d.ts +8 -0
  238. package/lib/steps/stubs/backend/filter.js +44 -0
  239. package/lib/steps/stubs/backend/handler-command.d.ts +2 -27
  240. package/lib/steps/stubs/backend/handler-command.js +3 -1
  241. package/lib/steps/stubs/backend/handler.d.ts +1 -1
  242. package/lib/steps/stubs/backend/handler.js +5 -1
  243. package/lib/steps/stubs/backend/integration-test.d.ts +1 -1
  244. package/lib/steps/stubs/backend/integration-test.js +1 -4
  245. package/lib/steps/stubs/backend/job.d.ts +1 -1
  246. package/lib/steps/stubs/backend/job.js +1 -0
  247. package/lib/steps/stubs/backend/mail-driver.d.ts +7 -0
  248. package/lib/steps/stubs/backend/mail-driver.js +30 -0
  249. package/lib/steps/stubs/backend/middleware.d.ts +22 -0
  250. package/lib/steps/stubs/backend/middleware.js +31 -0
  251. package/lib/steps/stubs/backend/migration.js +6 -3
  252. package/lib/steps/stubs/backend/model.d.ts +2 -24
  253. package/lib/steps/stubs/backend/model.js +3 -5
  254. package/lib/steps/stubs/backend/notification-blueprint.d.ts +7 -0
  255. package/lib/steps/stubs/backend/notification-blueprint.js +44 -0
  256. package/lib/steps/stubs/backend/notification-driver.d.ts +7 -0
  257. package/lib/steps/stubs/backend/notification-driver.js +30 -0
  258. package/lib/steps/stubs/backend/policy.d.ts +1 -1
  259. package/lib/steps/stubs/backend/policy.js +3 -1
  260. package/lib/steps/stubs/backend/post-type.d.ts +7 -0
  261. package/lib/steps/stubs/backend/post-type.js +44 -0
  262. package/lib/steps/stubs/backend/repository.d.ts +1 -1
  263. package/lib/steps/stubs/backend/repository.js +3 -1
  264. package/lib/steps/stubs/backend/search-driver-searcher.d.ts +24 -0
  265. package/lib/steps/stubs/backend/search-driver-searcher.js +32 -0
  266. package/lib/steps/stubs/backend/search-driver.d.ts +8 -0
  267. package/lib/steps/stubs/backend/search-driver.js +49 -0
  268. package/lib/steps/stubs/backend/service-provider.d.ts +1 -1
  269. package/lib/steps/stubs/backend/service-provider.js +1 -0
  270. package/lib/steps/stubs/backend/validator.d.ts +1 -1
  271. package/lib/steps/stubs/backend/validator.js +1 -0
  272. package/lib/steps/stubs/flarum-base.js +1 -1
  273. package/lib/steps/stubs/frontend/component.d.ts +0 -5
  274. package/lib/steps/stubs/frontend/component.js +1 -0
  275. package/lib/steps/stubs/frontend/forum-page.d.ts +25 -0
  276. package/lib/steps/stubs/frontend/forum-page.js +37 -0
  277. package/lib/steps/stubs/frontend/gambit.d.ts +7 -0
  278. package/lib/steps/stubs/frontend/gambit.js +50 -0
  279. package/lib/steps/stubs/frontend/modal.d.ts +0 -5
  280. package/lib/steps/stubs/frontend/modal.js +1 -0
  281. package/lib/steps/stubs/frontend/model.d.ts +8 -1
  282. package/lib/steps/stubs/frontend/model.js +6 -0
  283. package/lib/steps/stubs/frontend/notification.d.ts +11 -0
  284. package/lib/steps/stubs/frontend/notification.js +48 -0
  285. package/lib/steps/stubs/frontend/post-type.d.ts +11 -0
  286. package/lib/steps/stubs/frontend/post-type.js +48 -0
  287. package/lib/steps/stubs/js-base.js +12 -5
  288. package/lib/steps/stubs/php-base.js +13 -9
  289. package/lib/steps/update/js-imports.js +9 -3
  290. package/lib/steps/upgrade/twopointoh/backend/email-views.d.ts +18 -0
  291. package/lib/steps/upgrade/twopointoh/backend/email-views.js +81 -0
  292. package/lib/steps/upgrade/twopointoh/backend/filesystem.d.ts +8 -0
  293. package/lib/steps/upgrade/twopointoh/backend/filesystem.js +40 -0
  294. package/lib/steps/upgrade/twopointoh/backend/intervention-image.d.ts +8 -0
  295. package/lib/steps/upgrade/twopointoh/backend/intervention-image.js +44 -0
  296. package/lib/steps/upgrade/twopointoh/backend/json-api.d.ts +12 -0
  297. package/lib/steps/upgrade/twopointoh/backend/json-api.js +111 -0
  298. package/lib/steps/upgrade/twopointoh/backend/mailer.d.ts +8 -0
  299. package/lib/steps/upgrade/twopointoh/backend/mailer.js +37 -0
  300. package/lib/steps/upgrade/twopointoh/backend/misc.d.ts +8 -0
  301. package/lib/steps/upgrade/twopointoh/backend/misc.js +42 -0
  302. package/lib/steps/upgrade/twopointoh/backend/phpunit.d.ts +8 -0
  303. package/lib/steps/upgrade/twopointoh/backend/phpunit.js +52 -0
  304. package/lib/steps/upgrade/twopointoh/backend/search.d.ts +28 -0
  305. package/lib/steps/upgrade/twopointoh/backend/search.js +200 -0
  306. package/lib/steps/upgrade/twopointoh/base.d.ts +58 -0
  307. package/lib/steps/upgrade/twopointoh/base.js +284 -0
  308. package/lib/steps/upgrade/twopointoh/dependencies.d.ts +10 -0
  309. package/lib/steps/upgrade/twopointoh/dependencies.js +108 -0
  310. package/lib/steps/upgrade/twopointoh/frontend/code-splitting/usage-of-lazy-modules.d.ts +26 -0
  311. package/lib/steps/upgrade/twopointoh/frontend/code-splitting/usage-of-lazy-modules.js +418 -0
  312. package/lib/steps/upgrade/twopointoh/frontend/export-registry/compat.d.ts +12 -0
  313. package/lib/steps/upgrade/twopointoh/frontend/export-registry/compat.js +75 -0
  314. package/lib/steps/upgrade/twopointoh/frontend/export-registry/import-ext.d.ts +13 -0
  315. package/lib/steps/upgrade/twopointoh/frontend/export-registry/import-ext.js +126 -0
  316. package/lib/steps/upgrade/twopointoh/frontend/format.d.ts +8 -0
  317. package/lib/steps/upgrade/twopointoh/frontend/format.js +32 -0
  318. package/lib/steps/upgrade/twopointoh/frontend/misc.d.ts +17 -0
  319. package/lib/steps/upgrade/twopointoh/frontend/misc.js +433 -0
  320. package/lib/steps/upgrade/twopointoh/infra.d.ts +10 -0
  321. package/lib/steps/upgrade/twopointoh/infra.js +51 -0
  322. package/lib/steps/upgrade/twopointoh/less.d.ts +12 -0
  323. package/lib/steps/upgrade/twopointoh/less.js +217 -0
  324. package/lib/utils/add-extenders.d.ts +2 -0
  325. package/lib/utils/add-extenders.js +115 -0
  326. package/lib/utils/ast.d.ts +22 -0
  327. package/lib/utils/ast.js +235 -0
  328. package/lib/utils/composer.d.ts +2 -1
  329. package/lib/utils/migration.js +3 -1
  330. package/lib/utils/model-name.d.ts +1 -0
  331. package/lib/utils/model-name.js +7 -3
  332. package/lib/utils/monorepo.d.ts +24 -0
  333. package/lib/utils/monorepo.js +24 -0
  334. package/lib/utils/validation.d.ts +6 -1
  335. package/lib/utils/validation.js +15 -0
  336. package/oclif.manifest.json +1 -1
  337. package/package.json +27 -14
  338. package/php-subsystem/composer.json +11 -9
  339. package/php-subsystem/composer.lock +66 -71
  340. package/php-subsystem/index.php +41 -6
  341. package/php-subsystem/src/CustomPrettyPrinter.php +1 -1
  342. package/php-subsystem/src/ExtenderUtil.php +7 -13
  343. package/php-subsystem/src/NodeUtil.php +72 -0
  344. package/php-subsystem/src/NodeVisitors/AddExtender.php +28 -12
  345. package/php-subsystem/src/NodeVisitors/AddUses.php +24 -0
  346. package/php-subsystem/src/NodeVisitors/ChangeSignatures.php +200 -0
  347. package/php-subsystem/src/NodeVisitors/ReplaceUses.php +175 -0
  348. package/php-subsystem/src/Upgrade/Replacement.php +51 -0
  349. package/php-subsystem/src/Upgrade/ReplacementResult.php +17 -0
  350. package/php-subsystem/src/Upgrade/TwoPointOh/EmailViews.php +94 -0
  351. package/php-subsystem/src/Upgrade/TwoPointOh/Filesystem.php +88 -0
  352. package/php-subsystem/src/Upgrade/TwoPointOh/InterventionImage.php +86 -0
  353. package/php-subsystem/src/Upgrade/TwoPointOh/JsonApi.php +186 -0
  354. package/php-subsystem/src/Upgrade/TwoPointOh/Misc.php +564 -0
  355. package/php-subsystem/src/Upgrade/TwoPointOh/PhpUnit.php +241 -0
  356. package/php-subsystem/src/Upgrade/TwoPointOh/Search.php +589 -0
  357. package/php-subsystem/vendor/autoload.php +18 -0
  358. package/php-subsystem/vendor/bin/php-parse +119 -0
  359. package/php-subsystem/vendor/composer/ClassLoader.php +166 -32
  360. package/php-subsystem/vendor/composer/InstalledVersions.php +350 -209
  361. package/php-subsystem/vendor/composer/autoload_classmap.php +1 -1
  362. package/php-subsystem/vendor/composer/autoload_namespaces.php +1 -1
  363. package/php-subsystem/vendor/composer/autoload_psr4.php +1 -1
  364. package/php-subsystem/vendor/composer/autoload_real.php +3 -22
  365. package/php-subsystem/vendor/composer/installed.json +56 -61
  366. package/php-subsystem/vendor/composer/installed.php +29 -30
  367. package/php-subsystem/vendor/composer/platform_check.php +2 -2
  368. package/php-subsystem/vendor/nikic/php-parser/README.md +21 -13
  369. package/php-subsystem/vendor/nikic/php-parser/bin/php-parse +12 -11
  370. package/php-subsystem/vendor/nikic/php-parser/composer.json +41 -39
  371. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php +58 -11
  372. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +54 -25
  373. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +11 -4
  374. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php +87 -0
  375. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php +116 -0
  376. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +8 -9
  377. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +22 -5
  378. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +26 -7
  379. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +31 -13
  380. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +5 -5
  381. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +69 -26
  382. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +47 -18
  383. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +6 -5
  384. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +25 -28
  385. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +31 -8
  386. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +8 -8
  387. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Builder.php +2 -3
  388. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +85 -70
  389. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +119 -71
  390. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +1 -2
  391. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Comment.php +35 -67
  392. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +3 -3
  393. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +17 -9
  394. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Error.php +24 -33
  395. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +6 -9
  396. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +2 -3
  397. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +2 -3
  398. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +11 -7
  399. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +36 -22
  400. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +24 -14
  401. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php +237 -0
  402. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +63 -69
  403. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +15 -10
  404. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +74 -92
  405. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php +11 -18
  406. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php +10 -15
  407. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php +45 -0
  408. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php +19 -25
  409. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php +6 -10
  410. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php +22 -29
  411. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php +31 -0
  412. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php +31 -0
  413. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php +6 -5
  414. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php +10 -5
  415. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +70 -491
  416. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Modifiers.php +69 -0
  417. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +23 -24
  418. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +13 -14
  419. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php +43 -0
  420. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php +9 -10
  421. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php +5 -7
  422. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php +36 -0
  423. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php +13 -0
  424. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +12 -13
  425. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php +37 -0
  426. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +10 -11
  427. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +1 -39
  428. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +11 -11
  429. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +35 -30
  430. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +9 -10
  431. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +2 -3
  432. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +2 -3
  433. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +2 -3
  434. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +2 -3
  435. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +2 -3
  436. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +2 -3
  437. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +2 -3
  438. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +2 -3
  439. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +2 -3
  440. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +2 -3
  441. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +2 -3
  442. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +2 -3
  443. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +2 -3
  444. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +7 -8
  445. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +9 -10
  446. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +4 -5
  447. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +4 -5
  448. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +4 -5
  449. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +4 -5
  450. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +4 -5
  451. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +4 -5
  452. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +4 -5
  453. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +4 -5
  454. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +4 -5
  455. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +4 -5
  456. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +4 -5
  457. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +4 -5
  458. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +4 -5
  459. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +4 -5
  460. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +4 -5
  461. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +4 -5
  462. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +4 -5
  463. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +4 -5
  464. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +4 -5
  465. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +4 -5
  466. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +4 -5
  467. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +4 -5
  468. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +4 -5
  469. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +4 -5
  470. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +4 -5
  471. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +4 -5
  472. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +4 -5
  473. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +8 -11
  474. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +7 -8
  475. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +7 -8
  476. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php +35 -0
  477. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +2 -3
  478. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +2 -3
  479. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +5 -6
  480. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +2 -3
  481. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +2 -3
  482. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +2 -3
  483. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +2 -3
  484. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +5 -6
  485. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +12 -12
  486. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +7 -8
  487. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +34 -27
  488. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +1 -32
  489. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +7 -8
  490. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +7 -8
  491. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +5 -6
  492. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +7 -8
  493. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +7 -8
  494. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +10 -11
  495. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +15 -12
  496. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +13 -14
  497. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +11 -11
  498. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +7 -8
  499. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +12 -8
  500. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php +8 -7
  501. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +18 -13
  502. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +17 -12
  503. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php +18 -13
  504. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php +10 -10
  505. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +7 -8
  506. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +7 -8
  507. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +6 -7
  508. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +7 -8
  509. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +7 -8
  510. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +10 -10
  511. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +9 -9
  512. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +19 -14
  513. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +11 -11
  514. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +12 -13
  515. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php +6 -7
  516. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +7 -8
  517. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +7 -8
  518. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +6 -7
  519. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +7 -8
  520. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +10 -11
  521. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +1 -2
  522. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +6 -9
  523. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +13 -13
  524. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php +32 -0
  525. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php +27 -0
  526. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php +8 -9
  527. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +8 -9
  528. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +8 -9
  529. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +80 -53
  530. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +10 -11
  531. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +47 -23
  532. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php +37 -0
  533. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +1 -68
  534. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +1 -29
  535. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +1 -28
  536. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php +78 -0
  537. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php +82 -0
  538. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php +34 -0
  539. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +1 -71
  540. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +4 -5
  541. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +4 -5
  542. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +4 -5
  543. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +4 -5
  544. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +4 -5
  545. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +4 -5
  546. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +4 -5
  547. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +4 -5
  548. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +4 -5
  549. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +44 -24
  550. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +1 -2
  551. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/StaticVar.php +39 -0
  552. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php +29 -0
  553. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +8 -9
  554. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +10 -11
  555. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +11 -12
  556. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +33 -27
  557. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +15 -15
  558. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +66 -71
  559. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +48 -61
  560. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +7 -8
  561. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +8 -9
  562. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +1 -32
  563. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +12 -12
  564. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +9 -10
  565. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +7 -8
  566. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +9 -10
  567. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +7 -8
  568. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php +11 -12
  569. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php +17 -13
  570. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +7 -8
  571. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +7 -8
  572. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +19 -15
  573. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +20 -17
  574. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +31 -27
  575. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +7 -8
  576. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +7 -8
  577. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +16 -14
  578. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +7 -8
  579. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +18 -15
  580. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +7 -8
  581. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +13 -10
  582. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +7 -8
  583. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +11 -12
  584. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +4 -5
  585. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +35 -36
  586. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +1 -32
  587. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +8 -9
  588. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +1 -35
  589. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +8 -8
  590. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +9 -10
  591. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +8 -9
  592. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +12 -13
  593. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +9 -10
  594. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +3 -4
  595. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +10 -8
  596. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +11 -12
  597. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +7 -8
  598. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +1 -50
  599. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +16 -16
  600. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +9 -10
  601. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +1 -2
  602. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php +8 -11
  603. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/UseItem.php +55 -0
  604. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +2 -3
  605. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php +27 -0
  606. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node.php +24 -29
  607. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +20 -20
  608. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +169 -82
  609. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +28 -19
  610. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +71 -84
  611. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +4 -7
  612. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +1 -2
  613. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php +82 -0
  614. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +4 -5
  615. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +6 -7
  616. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +40 -24
  617. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php +2 -3
  618. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php +8 -11
  619. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +59 -7
  620. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +1 -2
  621. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2011 -2058
  622. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php8.php +2717 -0
  623. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser.php +9 -3
  624. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +466 -248
  625. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +31 -33
  626. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PhpVersion.php +164 -0
  627. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +419 -338
  628. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter.php +51 -0
  629. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +587 -431
  630. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Token.php +18 -0
  631. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/compatibility_tokens.php +63 -0
  632. package/boilerplate/stubs/backend/api-controller/create.php +0 -53
  633. package/boilerplate/stubs/backend/api-controller/delete.php +0 -52
  634. package/boilerplate/stubs/backend/api-controller/list.php +0 -61
  635. package/boilerplate/stubs/backend/api-controller/normal.php +0 -29
  636. package/boilerplate/stubs/backend/api-controller/show.php +0 -48
  637. package/boilerplate/stubs/backend/api-controller/update.php +0 -54
  638. package/boilerplate/stubs/backend/api-serializer.php +0 -36
  639. package/lib/commands/make/backend/api-controller.js +0 -27
  640. package/lib/commands/make/backend/api-serializer-attributes.js +0 -15
  641. package/lib/commands/make/backend/api-serializer.js +0 -15
  642. package/lib/steps/extenders/api-serializer.js +0 -77
  643. package/lib/steps/stubs/backend/api-controller.js +0 -62
  644. package/lib/steps/stubs/frontend/migration.js +0 -1
  645. package/php-subsystem/vendor/nikic/php-parser/.editorconfig +0 -9
  646. package/php-subsystem/vendor/nikic/php-parser/grammar/README.md +0 -30
  647. package/php-subsystem/vendor/nikic/php-parser/grammar/parser.template +0 -106
  648. package/php-subsystem/vendor/nikic/php-parser/grammar/php5.y +0 -1026
  649. package/php-subsystem/vendor/nikic/php-parser/grammar/php7.y +0 -1152
  650. package/php-subsystem/vendor/nikic/php-parser/grammar/phpyLang.php +0 -192
  651. package/php-subsystem/vendor/nikic/php-parser/grammar/rebuildParsers.php +0 -81
  652. package/php-subsystem/vendor/nikic/php-parser/grammar/tokens.template +0 -17
  653. package/php-subsystem/vendor/nikic/php-parser/grammar/tokens.y +0 -115
  654. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +0 -47
  655. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php +0 -76
  656. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +0 -23
  657. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +0 -105
  658. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +0 -30
  659. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +0 -55
  660. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +0 -2630
  661. package/php-subsystem/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +0 -145
  662. /package/{lib/steps/stubs/frontend/migration.d.ts → boilerplate/skeleton/extension/js/tests/integration/.gitkeep} +0 -0
  663. /package/boilerplate/skeleton/extension/js/{webpack.config.js → webpack.config.cjs} +0 -0
@@ -4,27 +4,26 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node;
6
6
 
7
- class Global_ extends Node\Stmt
8
- {
7
+ class Global_ extends Node\Stmt {
9
8
  /** @var Node\Expr[] Variables */
10
- public $vars;
9
+ public array $vars;
11
10
 
12
11
  /**
13
12
  * Constructs a global variables list node.
14
13
  *
15
- * @param Node\Expr[] $vars Variables to unset
16
- * @param array $attributes Additional attributes
14
+ * @param Node\Expr[] $vars Variables to unset
15
+ * @param array<string, mixed> $attributes Additional attributes
17
16
  */
18
17
  public function __construct(array $vars, array $attributes = []) {
19
18
  $this->attributes = $attributes;
20
19
  $this->vars = $vars;
21
20
  }
22
21
 
23
- public function getSubNodeNames() : array {
22
+ public function getSubNodeNames(): array {
24
23
  return ['vars'];
25
24
  }
26
-
27
- public function getType() : string {
25
+
26
+ public function getType(): string {
28
27
  return 'Stmt_Global';
29
28
  }
30
29
  }
@@ -5,27 +5,26 @@ namespace PhpParser\Node\Stmt;
5
5
  use PhpParser\Node\Identifier;
6
6
  use PhpParser\Node\Stmt;
7
7
 
8
- class Goto_ extends Stmt
9
- {
8
+ class Goto_ extends Stmt {
10
9
  /** @var Identifier Name of label to jump to */
11
- public $name;
10
+ public Identifier $name;
12
11
 
13
12
  /**
14
13
  * Constructs a goto node.
15
14
  *
16
- * @param string|Identifier $name Name of label to jump to
17
- * @param array $attributes Additional attributes
15
+ * @param string|Identifier $name Name of label to jump to
16
+ * @param array<string, mixed> $attributes Additional attributes
18
17
  */
19
18
  public function __construct($name, array $attributes = []) {
20
19
  $this->attributes = $attributes;
21
20
  $this->name = \is_string($name) ? new Identifier($name) : $name;
22
21
  }
23
22
 
24
- public function getSubNodeNames() : array {
23
+ public function getSubNodeNames(): array {
25
24
  return ['name'];
26
25
  }
27
-
28
- public function getType() : string {
26
+
27
+ public function getType(): string {
29
28
  return 'Stmt_Goto';
30
29
  }
31
30
  }
@@ -4,23 +4,25 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node\Name;
6
6
  use PhpParser\Node\Stmt;
7
+ use PhpParser\Node\UseItem;
7
8
 
8
- class GroupUse extends Stmt
9
- {
10
- /** @var int Type of group use */
11
- public $type;
9
+ class GroupUse extends Stmt {
10
+ /**
11
+ * @var Use_::TYPE_* Type of group use
12
+ */
13
+ public int $type;
12
14
  /** @var Name Prefix for uses */
13
- public $prefix;
14
- /** @var UseUse[] Uses */
15
- public $uses;
15
+ public Name $prefix;
16
+ /** @var UseItem[] Uses */
17
+ public array $uses;
16
18
 
17
19
  /**
18
20
  * Constructs a group use node.
19
21
  *
20
- * @param Name $prefix Prefix for uses
21
- * @param UseUse[] $uses Uses
22
- * @param int $type Type of group use
23
- * @param array $attributes Additional attributes
22
+ * @param Name $prefix Prefix for uses
23
+ * @param UseItem[] $uses Uses
24
+ * @param Use_::TYPE_* $type Type of group use
25
+ * @param array<string, mixed> $attributes Additional attributes
24
26
  */
25
27
  public function __construct(Name $prefix, array $uses, int $type = Use_::TYPE_NORMAL, array $attributes = []) {
26
28
  $this->attributes = $attributes;
@@ -29,11 +31,11 @@ class GroupUse extends Stmt
29
31
  $this->uses = $uses;
30
32
  }
31
33
 
32
- public function getSubNodeNames() : array {
34
+ public function getSubNodeNames(): array {
33
35
  return ['type', 'prefix', 'uses'];
34
36
  }
35
-
36
- public function getType() : string {
37
+
38
+ public function getType(): string {
37
39
  return 'Stmt_GroupUse';
38
40
  }
39
41
  }
@@ -4,27 +4,26 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node\Stmt;
6
6
 
7
- class HaltCompiler extends Stmt
8
- {
7
+ class HaltCompiler extends Stmt {
9
8
  /** @var string Remaining text after halt compiler statement. */
10
- public $remaining;
9
+ public string $remaining;
11
10
 
12
11
  /**
13
12
  * Constructs a __halt_compiler node.
14
13
  *
15
- * @param string $remaining Remaining text after halt compiler statement.
16
- * @param array $attributes Additional attributes
14
+ * @param string $remaining Remaining text after halt compiler statement.
15
+ * @param array<string, mixed> $attributes Additional attributes
17
16
  */
18
17
  public function __construct(string $remaining, array $attributes = []) {
19
18
  $this->attributes = $attributes;
20
19
  $this->remaining = $remaining;
21
20
  }
22
21
 
23
- public function getSubNodeNames() : array {
22
+ public function getSubNodeNames(): array {
24
23
  return ['remaining'];
25
24
  }
26
-
27
- public function getType() : string {
25
+
26
+ public function getType(): string {
28
27
  return 'Stmt_HaltCompiler';
29
28
  }
30
29
  }
@@ -4,26 +4,29 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node;
6
6
 
7
- class If_ extends Node\Stmt
8
- {
7
+ class If_ extends Node\Stmt {
9
8
  /** @var Node\Expr Condition expression */
10
- public $cond;
9
+ public Node\Expr $cond;
11
10
  /** @var Node\Stmt[] Statements */
12
- public $stmts;
11
+ public array $stmts;
13
12
  /** @var ElseIf_[] Elseif clauses */
14
- public $elseifs;
13
+ public array $elseifs;
15
14
  /** @var null|Else_ Else clause */
16
- public $else;
15
+ public ?Else_ $else;
17
16
 
18
17
  /**
19
18
  * Constructs an if node.
20
19
  *
21
- * @param Node\Expr $cond Condition
22
- * @param array $subNodes Array of the following optional subnodes:
23
- * 'stmts' => array(): Statements
24
- * 'elseifs' => array(): Elseif clauses
25
- * 'else' => null : Else clause
26
- * @param array $attributes Additional attributes
20
+ * @param Node\Expr $cond Condition
21
+ * @param array{
22
+ * stmts?: Node\Stmt[],
23
+ * elseifs?: ElseIf_[],
24
+ * else?: Else_|null,
25
+ * } $subNodes Array of the following optional subnodes:
26
+ * 'stmts' => array(): Statements
27
+ * 'elseifs' => array(): Elseif clauses
28
+ * 'else' => null : Else clause
29
+ * @param array<string, mixed> $attributes Additional attributes
27
30
  */
28
31
  public function __construct(Node\Expr $cond, array $subNodes = [], array $attributes = []) {
29
32
  $this->attributes = $attributes;
@@ -33,11 +36,11 @@ class If_ extends Node\Stmt
33
36
  $this->else = $subNodes['else'] ?? null;
34
37
  }
35
38
 
36
- public function getSubNodeNames() : array {
39
+ public function getSubNodeNames(): array {
37
40
  return ['cond', 'stmts', 'elseifs', 'else'];
38
41
  }
39
-
40
- public function getType() : string {
42
+
43
+ public function getType(): string {
41
44
  return 'Stmt_If';
42
45
  }
43
46
  }
@@ -4,27 +4,26 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node\Stmt;
6
6
 
7
- class InlineHTML extends Stmt
8
- {
7
+ class InlineHTML extends Stmt {
9
8
  /** @var string String */
10
- public $value;
9
+ public string $value;
11
10
 
12
11
  /**
13
12
  * Constructs an inline HTML node.
14
13
  *
15
- * @param string $value String
16
- * @param array $attributes Additional attributes
14
+ * @param string $value String
15
+ * @param array<string, mixed> $attributes Additional attributes
17
16
  */
18
17
  public function __construct(string $value, array $attributes = []) {
19
18
  $this->attributes = $attributes;
20
19
  $this->value = $value;
21
20
  }
22
21
 
23
- public function getSubNodeNames() : array {
22
+ public function getSubNodeNames(): array {
24
23
  return ['value'];
25
24
  }
26
-
27
- public function getType() : string {
25
+
26
+ public function getType(): string {
28
27
  return 'Stmt_InlineHTML';
29
28
  }
30
29
  }
@@ -4,20 +4,23 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node;
6
6
 
7
- class Interface_ extends ClassLike
8
- {
7
+ class Interface_ extends ClassLike {
9
8
  /** @var Node\Name[] Extended interfaces */
10
- public $extends;
9
+ public array $extends;
11
10
 
12
11
  /**
13
12
  * Constructs a class node.
14
13
  *
15
14
  * @param string|Node\Identifier $name Name
16
- * @param array $subNodes Array of the following optional subnodes:
17
- * 'extends' => array(): Name of extended interfaces
18
- * 'stmts' => array(): Statements
19
- * 'attrGroups' => array(): PHP attribute groups
20
- * @param array $attributes Additional attributes
15
+ * @param array{
16
+ * extends?: Node\Name[],
17
+ * stmts?: Node\Stmt[],
18
+ * attrGroups?: Node\AttributeGroup[],
19
+ * } $subNodes Array of the following optional subnodes:
20
+ * 'extends' => array(): Name of extended interfaces
21
+ * 'stmts' => array(): Statements
22
+ * 'attrGroups' => array(): PHP attribute groups
23
+ * @param array<string, mixed> $attributes Additional attributes
21
24
  */
22
25
  public function __construct($name, array $subNodes = [], array $attributes = []) {
23
26
  $this->attributes = $attributes;
@@ -27,11 +30,11 @@ class Interface_ extends ClassLike
27
30
  $this->attrGroups = $subNodes['attrGroups'] ?? [];
28
31
  }
29
32
 
30
- public function getSubNodeNames() : array {
33
+ public function getSubNodeNames(): array {
31
34
  return ['attrGroups', 'name', 'extends', 'stmts'];
32
35
  }
33
36
 
34
- public function getType() : string {
37
+ public function getType(): string {
35
38
  return 'Stmt_Interface';
36
39
  }
37
40
  }
@@ -5,27 +5,26 @@ namespace PhpParser\Node\Stmt;
5
5
  use PhpParser\Node\Identifier;
6
6
  use PhpParser\Node\Stmt;
7
7
 
8
- class Label extends Stmt
9
- {
8
+ class Label extends Stmt {
10
9
  /** @var Identifier Name */
11
- public $name;
10
+ public Identifier $name;
12
11
 
13
12
  /**
14
13
  * Constructs a label node.
15
14
  *
16
- * @param string|Identifier $name Name
17
- * @param array $attributes Additional attributes
15
+ * @param string|Identifier $name Name
16
+ * @param array<string, mixed> $attributes Additional attributes
18
17
  */
19
18
  public function __construct($name, array $attributes = []) {
20
19
  $this->attributes = $attributes;
21
20
  $this->name = \is_string($name) ? new Identifier($name) : $name;
22
21
  }
23
22
 
24
- public function getSubNodeNames() : array {
23
+ public function getSubNodeNames(): array {
25
24
  return ['name'];
26
25
  }
27
-
28
- public function getType() : string {
26
+
27
+ public function getType(): string {
29
28
  return 'Stmt_Label';
30
29
  }
31
30
  }
@@ -4,35 +4,34 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node;
6
6
 
7
- class Namespace_ extends Node\Stmt
8
- {
7
+ class Namespace_ extends Node\Stmt {
9
8
  /* For use in the "kind" attribute */
10
- const KIND_SEMICOLON = 1;
11
- const KIND_BRACED = 2;
9
+ public const KIND_SEMICOLON = 1;
10
+ public const KIND_BRACED = 2;
12
11
 
13
12
  /** @var null|Node\Name Name */
14
- public $name;
13
+ public ?Node\Name $name;
15
14
  /** @var Node\Stmt[] Statements */
16
15
  public $stmts;
17
16
 
18
17
  /**
19
18
  * Constructs a namespace node.
20
19
  *
21
- * @param null|Node\Name $name Name
22
- * @param null|Node\Stmt[] $stmts Statements
23
- * @param array $attributes Additional attributes
20
+ * @param null|Node\Name $name Name
21
+ * @param null|Node\Stmt[] $stmts Statements
22
+ * @param array<string, mixed> $attributes Additional attributes
24
23
  */
25
- public function __construct(Node\Name $name = null, $stmts = [], array $attributes = []) {
24
+ public function __construct(?Node\Name $name = null, ?array $stmts = [], array $attributes = []) {
26
25
  $this->attributes = $attributes;
27
26
  $this->name = $name;
28
27
  $this->stmts = $stmts;
29
28
  }
30
29
 
31
- public function getSubNodeNames() : array {
30
+ public function getSubNodeNames(): array {
32
31
  return ['name', 'stmts'];
33
32
  }
34
-
35
- public function getType() : string {
33
+
34
+ public function getType(): string {
36
35
  return 'Stmt_Namespace';
37
36
  }
38
37
  }
@@ -5,13 +5,12 @@ namespace PhpParser\Node\Stmt;
5
5
  use PhpParser\Node;
6
6
 
7
7
  /** Nop/empty statement (;). */
8
- class Nop extends Node\Stmt
9
- {
10
- public function getSubNodeNames() : array {
8
+ class Nop extends Node\Stmt {
9
+ public function getSubNodeNames(): array {
11
10
  return [];
12
11
  }
13
-
14
- public function getType() : string {
12
+
13
+ public function getType(): string {
15
14
  return 'Stmt_Nop';
16
15
  }
17
16
  }
@@ -2,82 +2,81 @@
2
2
 
3
3
  namespace PhpParser\Node\Stmt;
4
4
 
5
+ use PhpParser\Modifiers;
5
6
  use PhpParser\Node;
7
+ use PhpParser\Node\ComplexType;
6
8
  use PhpParser\Node\Identifier;
7
9
  use PhpParser\Node\Name;
8
- use PhpParser\Node\NullableType;
9
- use PhpParser\Node\UnionType;
10
+ use PhpParser\Node\PropertyItem;
10
11
 
11
- class Property extends Node\Stmt
12
- {
12
+ class Property extends Node\Stmt {
13
13
  /** @var int Modifiers */
14
- public $flags;
15
- /** @var PropertyProperty[] Properties */
16
- public $props;
17
- /** @var null|Identifier|Name|NullableType|UnionType Type declaration */
18
- public $type;
14
+ public int $flags;
15
+ /** @var PropertyItem[] Properties */
16
+ public array $props;
17
+ /** @var null|Identifier|Name|ComplexType Type declaration */
18
+ public ?Node $type;
19
19
  /** @var Node\AttributeGroup[] PHP attribute groups */
20
- public $attrGroups;
20
+ public array $attrGroups;
21
21
 
22
22
  /**
23
23
  * Constructs a class property list node.
24
24
  *
25
- * @param int $flags Modifiers
26
- * @param PropertyProperty[] $props Properties
27
- * @param array $attributes Additional attributes
28
- * @param null|string|Identifier|Name|NullableType|UnionType $type Type declaration
29
- * @param Node\AttributeGroup[] $attrGroups PHP attribute groups
25
+ * @param int $flags Modifiers
26
+ * @param PropertyItem[] $props Properties
27
+ * @param array<string, mixed> $attributes Additional attributes
28
+ * @param null|Identifier|Name|ComplexType $type Type declaration
29
+ * @param Node\AttributeGroup[] $attrGroups PHP attribute groups
30
30
  */
31
- public function __construct(int $flags, array $props, array $attributes = [], $type = null, array $attrGroups = []) {
31
+ public function __construct(int $flags, array $props, array $attributes = [], ?Node $type = null, array $attrGroups = []) {
32
32
  $this->attributes = $attributes;
33
33
  $this->flags = $flags;
34
34
  $this->props = $props;
35
- $this->type = \is_string($type) ? new Identifier($type) : $type;
35
+ $this->type = $type;
36
36
  $this->attrGroups = $attrGroups;
37
37
  }
38
38
 
39
- public function getSubNodeNames() : array {
39
+ public function getSubNodeNames(): array {
40
40
  return ['attrGroups', 'flags', 'type', 'props'];
41
41
  }
42
42
 
43
43
  /**
44
44
  * Whether the property is explicitly or implicitly public.
45
- *
46
- * @return bool
47
45
  */
48
- public function isPublic() : bool {
49
- return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0
50
- || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0;
46
+ public function isPublic(): bool {
47
+ return ($this->flags & Modifiers::PUBLIC) !== 0
48
+ || ($this->flags & Modifiers::VISIBILITY_MASK) === 0;
51
49
  }
52
50
 
53
51
  /**
54
52
  * Whether the property is protected.
55
- *
56
- * @return bool
57
53
  */
58
- public function isProtected() : bool {
59
- return (bool) ($this->flags & Class_::MODIFIER_PROTECTED);
54
+ public function isProtected(): bool {
55
+ return (bool) ($this->flags & Modifiers::PROTECTED);
60
56
  }
61
57
 
62
58
  /**
63
59
  * Whether the property is private.
64
- *
65
- * @return bool
66
60
  */
67
- public function isPrivate() : bool {
68
- return (bool) ($this->flags & Class_::MODIFIER_PRIVATE);
61
+ public function isPrivate(): bool {
62
+ return (bool) ($this->flags & Modifiers::PRIVATE);
69
63
  }
70
64
 
71
65
  /**
72
66
  * Whether the property is static.
73
- *
74
- * @return bool
75
67
  */
76
- public function isStatic() : bool {
77
- return (bool) ($this->flags & Class_::MODIFIER_STATIC);
68
+ public function isStatic(): bool {
69
+ return (bool) ($this->flags & Modifiers::STATIC);
70
+ }
71
+
72
+ /**
73
+ * Whether the property is readonly.
74
+ */
75
+ public function isReadonly(): bool {
76
+ return (bool) ($this->flags & Modifiers::READONLY);
78
77
  }
79
78
 
80
- public function getType() : string {
79
+ public function getType(): string {
81
80
  return 'Stmt_Property';
82
81
  }
83
82
  }
@@ -1,34 +1,3 @@
1
1
  <?php declare(strict_types=1);
2
2
 
3
- namespace PhpParser\Node\Stmt;
4
-
5
- use PhpParser\Node;
6
-
7
- class PropertyProperty extends Node\Stmt
8
- {
9
- /** @var Node\VarLikeIdentifier Name */
10
- public $name;
11
- /** @var null|Node\Expr Default */
12
- public $default;
13
-
14
- /**
15
- * Constructs a class property node.
16
- *
17
- * @param string|Node\VarLikeIdentifier $name Name
18
- * @param null|Node\Expr $default Default value
19
- * @param array $attributes Additional attributes
20
- */
21
- public function __construct($name, Node\Expr $default = null, array $attributes = []) {
22
- $this->attributes = $attributes;
23
- $this->name = \is_string($name) ? new Node\VarLikeIdentifier($name) : $name;
24
- $this->default = $default;
25
- }
26
-
27
- public function getSubNodeNames() : array {
28
- return ['name', 'default'];
29
- }
30
-
31
- public function getType() : string {
32
- return 'Stmt_PropertyProperty';
33
- }
34
- }
3
+ require __DIR__ . '/../PropertyItem.php';
@@ -4,27 +4,26 @@ namespace PhpParser\Node\Stmt;
4
4
 
5
5
  use PhpParser\Node;
6
6
 
7
- class Return_ extends Node\Stmt
8
- {
7
+ class Return_ extends Node\Stmt {
9
8
  /** @var null|Node\Expr Expression */
10
- public $expr;
9
+ public ?Node\Expr $expr;
11
10
 
12
11
  /**
13
12
  * Constructs a return node.
14
13
  *
15
- * @param null|Node\Expr $expr Expression
16
- * @param array $attributes Additional attributes
14
+ * @param null|Node\Expr $expr Expression
15
+ * @param array<string, mixed> $attributes Additional attributes
17
16
  */
18
- public function __construct(Node\Expr $expr = null, array $attributes = []) {
17
+ public function __construct(?Node\Expr $expr = null, array $attributes = []) {
19
18
  $this->attributes = $attributes;
20
19
  $this->expr = $expr;
21
20
  }
22
21
 
23
- public function getSubNodeNames() : array {
22
+ public function getSubNodeNames(): array {
24
23
  return ['expr'];
25
24
  }
26
-
27
- public function getType() : string {
25
+
26
+ public function getType(): string {
28
27
  return 'Stmt_Return';
29
28
  }
30
29
  }
@@ -1,37 +1,3 @@
1
1
  <?php declare(strict_types=1);
2
2
 
3
- namespace PhpParser\Node\Stmt;
4
-
5
- use PhpParser\Node;
6
- use PhpParser\Node\Expr;
7
-
8
- class StaticVar extends Node\Stmt
9
- {
10
- /** @var Expr\Variable Variable */
11
- public $var;
12
- /** @var null|Node\Expr Default value */
13
- public $default;
14
-
15
- /**
16
- * Constructs a static variable node.
17
- *
18
- * @param Expr\Variable $var Name
19
- * @param null|Node\Expr $default Default value
20
- * @param array $attributes Additional attributes
21
- */
22
- public function __construct(
23
- Expr\Variable $var, Node\Expr $default = null, array $attributes = []
24
- ) {
25
- $this->attributes = $attributes;
26
- $this->var = $var;
27
- $this->default = $default;
28
- }
29
-
30
- public function getSubNodeNames() : array {
31
- return ['var', 'default'];
32
- }
33
-
34
- public function getType() : string {
35
- return 'Stmt_StaticVar';
36
- }
37
- }
3
+ require __DIR__ . '/../StaticVar.php';
@@ -2,29 +2,29 @@
2
2
 
3
3
  namespace PhpParser\Node\Stmt;
4
4
 
5
+ use PhpParser\Node\StaticVar;
5
6
  use PhpParser\Node\Stmt;
6
7
 
7
- class Static_ extends Stmt
8
- {
8
+ class Static_ extends Stmt {
9
9
  /** @var StaticVar[] Variable definitions */
10
- public $vars;
10
+ public array $vars;
11
11
 
12
12
  /**
13
13
  * Constructs a static variables list node.
14
14
  *
15
- * @param StaticVar[] $vars Variable definitions
16
- * @param array $attributes Additional attributes
15
+ * @param StaticVar[] $vars Variable definitions
16
+ * @param array<string, mixed> $attributes Additional attributes
17
17
  */
18
18
  public function __construct(array $vars, array $attributes = []) {
19
19
  $this->attributes = $attributes;
20
20
  $this->vars = $vars;
21
21
  }
22
22
 
23
- public function getSubNodeNames() : array {
23
+ public function getSubNodeNames(): array {
24
24
  return ['vars'];
25
25
  }
26
-
27
- public function getType() : string {
26
+
27
+ public function getType(): string {
28
28
  return 'Stmt_Static';
29
29
  }
30
30
  }