dependabot-composer 0.113.18 → 0.113.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2622) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/.php_cs.cache +1 -0
  3. data/helpers/composer.lock +48 -48
  4. data/helpers/vendor/autoload.php +7 -0
  5. data/helpers/vendor/bin/composer +1 -0
  6. data/helpers/vendor/bin/jsonlint +1 -0
  7. data/helpers/vendor/bin/php-cs-fixer +1 -0
  8. data/helpers/vendor/bin/php-parse +1 -0
  9. data/helpers/vendor/bin/phpstan +1 -0
  10. data/helpers/vendor/bin/validate-json +1 -0
  11. data/helpers/vendor/composer/ClassLoader.php +445 -0
  12. data/helpers/vendor/composer/LICENSE +21 -0
  13. data/helpers/vendor/composer/autoload_classmap.php +180 -0
  14. data/helpers/vendor/composer/autoload_files.php +14 -0
  15. data/helpers/vendor/composer/autoload_namespaces.php +9 -0
  16. data/helpers/vendor/composer/autoload_psr4.php +39 -0
  17. data/helpers/vendor/composer/autoload_real.php +70 -0
  18. data/helpers/vendor/composer/autoload_static.php +371 -0
  19. data/helpers/vendor/composer/ca-bundle/LICENSE +19 -0
  20. data/helpers/vendor/composer/ca-bundle/README.md +85 -0
  21. data/helpers/vendor/composer/ca-bundle/composer.json +54 -0
  22. data/helpers/vendor/composer/ca-bundle/res/cacert.pem +3507 -0
  23. data/helpers/vendor/composer/ca-bundle/src/CaBundle.php +310 -0
  24. data/helpers/vendor/composer/composer/.editorconfig +11 -0
  25. data/helpers/vendor/composer/composer/.gitattributes +17 -0
  26. data/helpers/vendor/composer/composer/.gitignore +11 -0
  27. data/helpers/vendor/composer/composer/CHANGELOG.md +828 -0
  28. data/helpers/vendor/composer/composer/LICENSE +19 -0
  29. data/helpers/vendor/composer/composer/PORTING_INFO +39 -0
  30. data/helpers/vendor/composer/composer/README.md +62 -0
  31. data/helpers/vendor/composer/composer/bin/compile +31 -0
  32. data/helpers/vendor/composer/composer/bin/composer +62 -0
  33. data/helpers/vendor/composer/composer/composer.json +86 -0
  34. data/helpers/vendor/composer/composer/composer.lock +1800 -0
  35. data/helpers/vendor/composer/composer/doc/00-intro.md +156 -0
  36. data/helpers/vendor/composer/composer/doc/01-basic-usage.md +266 -0
  37. data/helpers/vendor/composer/composer/doc/02-libraries.md +153 -0
  38. data/helpers/vendor/composer/composer/doc/03-cli.md +941 -0
  39. data/helpers/vendor/composer/composer/doc/04-schema.md +924 -0
  40. data/helpers/vendor/composer/composer/doc/05-repositories.md +717 -0
  41. data/helpers/vendor/composer/composer/doc/06-config.md +299 -0
  42. data/helpers/vendor/composer/composer/doc/07-community.md +35 -0
  43. data/helpers/vendor/composer/composer/doc/articles/aliases.md +111 -0
  44. data/helpers/vendor/composer/composer/doc/articles/autoloader-optimization.md +111 -0
  45. data/helpers/vendor/composer/composer/doc/articles/custom-installers.md +204 -0
  46. data/helpers/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md +356 -0
  47. data/helpers/vendor/composer/composer/doc/articles/http-basic-authentication.md +59 -0
  48. data/helpers/vendor/composer/composer/doc/articles/plugins.md +290 -0
  49. data/helpers/vendor/composer/composer/doc/articles/scripts.md +357 -0
  50. data/helpers/vendor/composer/composer/doc/articles/troubleshooting.md +309 -0
  51. data/helpers/vendor/composer/composer/doc/articles/vendor-binaries.md +110 -0
  52. data/helpers/vendor/composer/composer/doc/articles/versions.md +230 -0
  53. data/helpers/vendor/composer/composer/doc/dev/DefaultPolicy.md +55 -0
  54. data/helpers/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +50 -0
  55. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +42 -0
  56. data/helpers/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +19 -0
  57. data/helpers/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +32 -0
  58. data/helpers/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +4 -0
  59. data/helpers/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +21 -0
  60. data/helpers/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +21 -0
  61. data/helpers/vendor/composer/composer/doc/faqs/why-can't-composer-load-repositories-recursively.md +35 -0
  62. data/helpers/vendor/composer/composer/doc/fixtures/fixtures.md +22 -0
  63. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +158 -0
  64. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +50 -0
  65. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +77 -0
  66. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +50 -0
  67. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +16 -0
  68. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +22 -0
  69. data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +9 -0
  70. data/helpers/vendor/composer/composer/res/composer-repository-schema.json +110 -0
  71. data/helpers/vendor/composer/composer/res/composer-schema.json +847 -0
  72. data/helpers/vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php +1013 -0
  73. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassLoader.php +445 -0
  74. data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassMapGenerator.php +222 -0
  75. data/helpers/vendor/composer/composer/src/Composer/Cache.php +257 -0
  76. data/helpers/vendor/composer/composer/src/Composer/Command/AboutCommand.php +46 -0
  77. data/helpers/vendor/composer/composer/src/Composer/Command/ArchiveCommand.php +166 -0
  78. data/helpers/vendor/composer/composer/src/Composer/Command/BaseCommand.php +181 -0
  79. data/helpers/vendor/composer/composer/src/Composer/Command/BaseDependencyCommand.php +255 -0
  80. data/helpers/vendor/composer/composer/src/Composer/Command/CheckPlatformReqsCommand.php +162 -0
  81. data/helpers/vendor/composer/composer/src/Composer/Command/ClearCacheCommand.php +74 -0
  82. data/helpers/vendor/composer/composer/src/Composer/Command/ConfigCommand.php +722 -0
  83. data/helpers/vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php +387 -0
  84. data/helpers/vendor/composer/composer/src/Composer/Command/DependsCommand.php +57 -0
  85. data/helpers/vendor/composer/composer/src/Composer/Command/DiagnoseCommand.php +729 -0
  86. data/helpers/vendor/composer/composer/src/Composer/Command/DumpAutoloadCommand.php +88 -0
  87. data/helpers/vendor/composer/composer/src/Composer/Command/ExecCommand.php +97 -0
  88. data/helpers/vendor/composer/composer/src/Composer/Command/GlobalCommand.php +111 -0
  89. data/helpers/vendor/composer/composer/src/Composer/Command/HomeCommand.php +168 -0
  90. data/helpers/vendor/composer/composer/src/Composer/Command/InitCommand.php +820 -0
  91. data/helpers/vendor/composer/composer/src/Composer/Command/InstallCommand.php +124 -0
  92. data/helpers/vendor/composer/composer/src/Composer/Command/LicensesCommand.php +159 -0
  93. data/helpers/vendor/composer/composer/src/Composer/Command/OutdatedCommand.php +95 -0
  94. data/helpers/vendor/composer/composer/src/Composer/Command/ProhibitsCommand.php +57 -0
  95. data/helpers/vendor/composer/composer/src/Composer/Command/RemoveCommand.php +163 -0
  96. data/helpers/vendor/composer/composer/src/Composer/Command/RequireCommand.php +267 -0
  97. data/helpers/vendor/composer/composer/src/Composer/Command/RunScriptCommand.php +142 -0
  98. data/helpers/vendor/composer/composer/src/Composer/Command/ScriptAliasCommand.php +66 -0
  99. data/helpers/vendor/composer/composer/src/Composer/Command/SearchCommand.php +83 -0
  100. data/helpers/vendor/composer/composer/src/Composer/Command/SelfUpdateCommand.php +405 -0
  101. data/helpers/vendor/composer/composer/src/Composer/Command/ShowCommand.php +1015 -0
  102. data/helpers/vendor/composer/composer/src/Composer/Command/StatusCommand.php +214 -0
  103. data/helpers/vendor/composer/composer/src/Composer/Command/SuggestsCommand.php +152 -0
  104. data/helpers/vendor/composer/composer/src/Composer/Command/UpdateCommand.php +228 -0
  105. data/helpers/vendor/composer/composer/src/Composer/Command/ValidateCommand.php +172 -0
  106. data/helpers/vendor/composer/composer/src/Composer/Compiler.php +284 -0
  107. data/helpers/vendor/composer/composer/src/Composer/Composer.php +283 -0
  108. data/helpers/vendor/composer/composer/src/Composer/Config.php +479 -0
  109. data/helpers/vendor/composer/composer/src/Composer/Config/ConfigSourceInterface.php +91 -0
  110. data/helpers/vendor/composer/composer/src/Composer/Config/JsonConfigSource.php +271 -0
  111. data/helpers/vendor/composer/composer/src/Composer/Console/Application.php +494 -0
  112. data/helpers/vendor/composer/composer/src/Composer/Console/HtmlOutputFormatter.php +90 -0
  113. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Decisions.php +211 -0
  114. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/DefaultPolicy.php +285 -0
  115. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php +91 -0
  116. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/InstallOperation.php +66 -0
  117. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php +67 -0
  118. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php +67 -0
  119. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/OperationInterface.php +42 -0
  120. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/SolverOperation.php +50 -0
  121. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UninstallOperation.php +66 -0
  122. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php +80 -0
  123. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/PolicyInterface.php +27 -0
  124. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php +378 -0
  125. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Problem.php +257 -0
  126. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Request.php +78 -0
  127. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule.php +268 -0
  128. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule2Literals.php +113 -0
  129. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php +176 -0
  130. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php +376 -0
  131. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetIterator.php +94 -0
  132. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php +52 -0
  133. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchGraph.php +144 -0
  134. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchNode.php +113 -0
  135. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php +874 -0
  136. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverBugException.php +27 -0
  137. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverProblemsException.php +88 -0
  138. data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Transaction.php +244 -0
  139. data/helpers/vendor/composer/composer/src/Composer/Downloader/ArchiveDownloader.php +135 -0
  140. data/helpers/vendor/composer/composer/src/Composer/Downloader/ChangeReportInterface.php +32 -0
  141. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloadManager.php +325 -0
  142. data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloaderInterface.php +64 -0
  143. data/helpers/vendor/composer/composer/src/Composer/Downloader/DvcsDownloaderInterface.php +32 -0
  144. data/helpers/vendor/composer/composer/src/Composer/Downloader/FileDownloader.php +322 -0
  145. data/helpers/vendor/composer/composer/src/Composer/Downloader/FilesystemException.php +26 -0
  146. data/helpers/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +116 -0
  147. data/helpers/vendor/composer/composer/src/Composer/Downloader/GitDownloader.php +517 -0
  148. data/helpers/vendor/composer/composer/src/Composer/Downloader/GzipDownloader.php +84 -0
  149. data/helpers/vendor/composer/composer/src/Composer/Downloader/HgDownloader.php +100 -0
  150. data/helpers/vendor/composer/composer/src/Composer/Downloader/PathDownloader.php +224 -0
  151. data/helpers/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php +266 -0
  152. data/helpers/vendor/composer/composer/src/Composer/Downloader/PerforceDownloader.php +112 -0
  153. data/helpers/vendor/composer/composer/src/Composer/Downloader/PharDownloader.php +36 -0
  154. data/helpers/vendor/composer/composer/src/Composer/Downloader/RarDownloader.php +91 -0
  155. data/helpers/vendor/composer/composer/src/Composer/Downloader/SvnDownloader.php +225 -0
  156. data/helpers/vendor/composer/composer/src/Composer/Downloader/TarDownloader.php +31 -0
  157. data/helpers/vendor/composer/composer/src/Composer/Downloader/TransportException.php +53 -0
  158. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsCapableDownloaderInterface.php +32 -0
  159. data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsDownloader.php +293 -0
  160. data/helpers/vendor/composer/composer/src/Composer/Downloader/XzDownloader.php +60 -0
  161. data/helpers/vendor/composer/composer/src/Composer/Downloader/ZipDownloader.php +230 -0
  162. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/Event.php +103 -0
  163. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php +544 -0
  164. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventSubscriberInterface.php +48 -0
  165. data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/ScriptExecutionException.php +20 -0
  166. data/helpers/vendor/composer/composer/src/Composer/Exception/NoSslException.php +20 -0
  167. data/helpers/vendor/composer/composer/src/Composer/Factory.php +653 -0
  168. data/helpers/vendor/composer/composer/src/Composer/IO/BaseIO.php +263 -0
  169. data/helpers/vendor/composer/composer/src/Composer/IO/BufferIO.php +86 -0
  170. data/helpers/vendor/composer/composer/src/Composer/IO/ConsoleIO.php +322 -0
  171. data/helpers/vendor/composer/composer/src/Composer/IO/IOInterface.php +207 -0
  172. data/helpers/vendor/composer/composer/src/Composer/IO/NullIO.php +129 -0
  173. data/helpers/vendor/composer/composer/src/Composer/Installer.php +1803 -0
  174. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php +214 -0
  175. data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryPresenceInterface.php +30 -0
  176. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallationManager.php +326 -0
  177. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvent.php +161 -0
  178. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvents.php +43 -0
  179. data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerInterface.php +79 -0
  180. data/helpers/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php +232 -0
  181. data/helpers/vendor/composer/composer/src/Composer/Installer/MetapackageInstaller.php +100 -0
  182. data/helpers/vendor/composer/composer/src/Composer/Installer/NoopInstaller.php +88 -0
  183. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvent.php +65 -0
  184. data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvents.php +75 -0
  185. data/helpers/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php +144 -0
  186. data/helpers/vendor/composer/composer/src/Composer/Installer/PearInstaller.php +84 -0
  187. data/helpers/vendor/composer/composer/src/Composer/Installer/PluginInstaller.php +84 -0
  188. data/helpers/vendor/composer/composer/src/Composer/Installer/ProjectInstaller.php +99 -0
  189. data/helpers/vendor/composer/composer/src/Composer/Installer/SuggestedPackagesReporter.php +151 -0
  190. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFile.php +306 -0
  191. data/helpers/vendor/composer/composer/src/Composer/Json/JsonFormatter.php +134 -0
  192. data/helpers/vendor/composer/composer/src/Composer/Json/JsonManipulator.php +522 -0
  193. data/helpers/vendor/composer/composer/src/Composer/Json/JsonValidationException.php +34 -0
  194. data/helpers/vendor/composer/composer/src/Composer/Package/AliasPackage.php +414 -0
  195. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFilter.php +44 -0
  196. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFinder.php +105 -0
  197. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiveManager.php +183 -0
  198. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiverInterface.php +43 -0
  199. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/BaseExcludeFilter.php +148 -0
  200. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php +31 -0
  201. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/GitExcludeFilter.php +79 -0
  202. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/HgExcludeFilter.php +107 -0
  203. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/PharArchiver.php +97 -0
  204. data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ZipArchiver.php +74 -0
  205. data/helpers/vendor/composer/composer/src/Composer/Package/BasePackage.php +251 -0
  206. data/helpers/vendor/composer/composer/src/Composer/Package/Comparer/Comparer.php +129 -0
  207. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackage.php +199 -0
  208. data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackageInterface.php +95 -0
  209. data/helpers/vendor/composer/composer/src/Composer/Package/Dumper/ArrayDumper.php +151 -0
  210. data/helpers/vendor/composer/composer/src/Composer/Package/Link.php +128 -0
  211. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php +24 -0
  212. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php +24 -0
  213. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php +24 -0
  214. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php +24 -0
  215. data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php +24 -0
  216. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +290 -0
  217. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/InvalidPackageException.php +46 -0
  218. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/JsonLoader.php +45 -0
  219. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/LoaderInterface.php +30 -0
  220. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php +264 -0
  221. data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php +499 -0
  222. data/helpers/vendor/composer/composer/src/Composer/Package/Locker.php +438 -0
  223. data/helpers/vendor/composer/composer/src/Composer/Package/Package.php +612 -0
  224. data/helpers/vendor/composer/composer/src/Composer/Package/PackageInterface.php +389 -0
  225. data/helpers/vendor/composer/composer/src/Composer/Package/RootAliasPackage.php +173 -0
  226. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackage.php +136 -0
  227. data/helpers/vendor/composer/composer/src/Composer/Package/RootPackageInterface.php +142 -0
  228. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionGuesser.php +302 -0
  229. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php +81 -0
  230. data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionSelector.php +176 -0
  231. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/Capability.php +23 -0
  232. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/CommandProvider.php +33 -0
  233. data/helpers/vendor/composer/composer/src/Composer/Plugin/Capable.php +43 -0
  234. data/helpers/vendor/composer/composer/src/Composer/Plugin/CommandEvent.php +88 -0
  235. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginEvents.php +61 -0
  236. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginInterface.php +39 -0
  237. data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginManager.php +406 -0
  238. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreCommandRunEvent.php +68 -0
  239. data/helpers/vendor/composer/composer/src/Composer/Plugin/PreFileDownloadEvent.php +78 -0
  240. data/helpers/vendor/composer/composer/src/Composer/Question/StrictConfirmationQuestion.php +94 -0
  241. data/helpers/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php +208 -0
  242. data/helpers/vendor/composer/composer/src/Composer/Repository/ArtifactRepository.php +107 -0
  243. data/helpers/vendor/composer/composer/src/Composer/Repository/BaseRepository.php +157 -0
  244. data/helpers/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php +833 -0
  245. data/helpers/vendor/composer/composer/src/Composer/Repository/CompositeRepository.php +164 -0
  246. data/helpers/vendor/composer/composer/src/Composer/Repository/ConfigurableRepositoryInterface.php +23 -0
  247. data/helpers/vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php +97 -0
  248. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledArrayRepository.php +24 -0
  249. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledFilesystemRepository.php +22 -0
  250. data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledRepositoryInterface.php +24 -0
  251. data/helpers/vendor/composer/composer/src/Composer/Repository/InvalidRepositoryException.php +22 -0
  252. data/helpers/vendor/composer/composer/src/Composer/Repository/PackageRepository.php +61 -0
  253. data/helpers/vendor/composer/composer/src/Composer/Repository/PathRepository.php +190 -0
  254. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php +82 -0
  255. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php +67 -0
  256. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php +101 -0
  257. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php +164 -0
  258. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php +139 -0
  259. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php +60 -0
  260. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php +50 -0
  261. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php +317 -0
  262. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php +94 -0
  263. data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php +50 -0
  264. data/helpers/vendor/composer/composer/src/Composer/Repository/PearRepository.php +198 -0
  265. data/helpers/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php +342 -0
  266. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryFactory.php +169 -0
  267. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryInterface.php +74 -0
  268. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryManager.php +177 -0
  269. data/helpers/vendor/composer/composer/src/Composer/Repository/RepositorySecurityException.php +22 -0
  270. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/BitbucketDriver.php +452 -0
  271. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +243 -0
  272. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitBitbucketDriver.php +91 -0
  273. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +226 -0
  274. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitHubDriver.php +476 -0
  275. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitLabDriver.php +518 -0
  276. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgBitbucketDriver.php +91 -0
  277. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +236 -0
  278. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/PerforceDriver.php +186 -0
  279. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/SvnDriver.php +397 -0
  280. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriver.php +175 -0
  281. data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriverInterface.php +117 -0
  282. data/helpers/vendor/composer/composer/src/Composer/Repository/VcsRepository.php +410 -0
  283. data/helpers/vendor/composer/composer/src/Composer/Repository/VersionCacheInterface.php +23 -0
  284. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableArrayRepository.php +66 -0
  285. data/helpers/vendor/composer/composer/src/Composer/Repository/WritableRepositoryInterface.php +54 -0
  286. data/helpers/vendor/composer/composer/src/Composer/Script/CommandEvent.php +22 -0
  287. data/helpers/vendor/composer/composer/src/Composer/Script/Event.php +133 -0
  288. data/helpers/vendor/composer/composer/src/Composer/Script/PackageEvent.php +24 -0
  289. data/helpers/vendor/composer/composer/src/Composer/Script/ScriptEvents.php +193 -0
  290. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Keys.php +36 -0
  291. data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Versions.php +75 -0
  292. data/helpers/vendor/composer/composer/src/Composer/Util/AuthHelper.php +63 -0
  293. data/helpers/vendor/composer/composer/src/Composer/Util/Bitbucket.php +245 -0
  294. data/helpers/vendor/composer/composer/src/Composer/Util/ComposerMirror.php +57 -0
  295. data/helpers/vendor/composer/composer/src/Composer/Util/ConfigValidator.php +191 -0
  296. data/helpers/vendor/composer/composer/src/Composer/Util/ErrorHandler.php +82 -0
  297. data/helpers/vendor/composer/composer/src/Composer/Util/Filesystem.php +715 -0
  298. data/helpers/vendor/composer/composer/src/Composer/Util/Git.php +374 -0
  299. data/helpers/vendor/composer/composer/src/Composer/Util/GitHub.php +180 -0
  300. data/helpers/vendor/composer/composer/src/Composer/Util/GitLab.php +172 -0
  301. data/helpers/vendor/composer/composer/src/Composer/Util/Hg.php +94 -0
  302. data/helpers/vendor/composer/composer/src/Composer/Util/IniHelper.php +64 -0
  303. data/helpers/vendor/composer/composer/src/Composer/Util/NoProxyPattern.php +147 -0
  304. data/helpers/vendor/composer/composer/src/Composer/Util/PackageSorter.php +92 -0
  305. data/helpers/vendor/composer/composer/src/Composer/Util/Perforce.php +579 -0
  306. data/helpers/vendor/composer/composer/src/Composer/Util/Platform.php +92 -0
  307. data/helpers/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php +193 -0
  308. data/helpers/vendor/composer/composer/src/Composer/Util/RemoteFilesystem.php +1126 -0
  309. data/helpers/vendor/composer/composer/src/Composer/Util/Silencer.php +78 -0
  310. data/helpers/vendor/composer/composer/src/Composer/Util/SpdxLicense.php +24 -0
  311. data/helpers/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +177 -0
  312. data/helpers/vendor/composer/composer/src/Composer/Util/Svn.php +381 -0
  313. data/helpers/vendor/composer/composer/src/Composer/Util/TlsHelper.php +202 -0
  314. data/helpers/vendor/composer/composer/src/Composer/Util/Url.php +55 -0
  315. data/helpers/vendor/composer/composer/src/Composer/Util/Zip.php +108 -0
  316. data/helpers/vendor/composer/composer/src/Composer/XdebugHandler.php +31 -0
  317. data/helpers/vendor/composer/composer/src/bootstrap.php +24 -0
  318. data/helpers/vendor/composer/installed.json +2375 -0
  319. data/helpers/vendor/composer/semver/CHANGELOG.md +72 -0
  320. data/helpers/vendor/composer/semver/LICENSE +19 -0
  321. data/helpers/vendor/composer/semver/README.md +70 -0
  322. data/helpers/vendor/composer/semver/composer.json +58 -0
  323. data/helpers/vendor/composer/semver/src/Comparator.php +111 -0
  324. data/helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php +63 -0
  325. data/helpers/vendor/composer/semver/src/Constraint/Constraint.php +219 -0
  326. data/helpers/vendor/composer/semver/src/Constraint/ConstraintInterface.php +32 -0
  327. data/helpers/vendor/composer/semver/src/Constraint/EmptyConstraint.php +59 -0
  328. data/helpers/vendor/composer/semver/src/Constraint/MultiConstraint.php +120 -0
  329. data/helpers/vendor/composer/semver/src/Semver.php +127 -0
  330. data/helpers/vendor/composer/semver/src/VersionParser.php +540 -0
  331. data/helpers/vendor/composer/spdx-licenses/.php_cs.dist +59 -0
  332. data/helpers/vendor/composer/spdx-licenses/CHANGELOG.md +94 -0
  333. data/helpers/vendor/composer/spdx-licenses/LICENSE +19 -0
  334. data/helpers/vendor/composer/spdx-licenses/README.md +69 -0
  335. data/helpers/vendor/composer/spdx-licenses/composer.json +56 -0
  336. data/helpers/vendor/composer/spdx-licenses/res/spdx-exceptions.json +110 -0
  337. data/helpers/vendor/composer/spdx-licenses/res/spdx-licenses.json +1982 -0
  338. data/helpers/vendor/composer/spdx-licenses/src/SpdxLicenses.php +343 -0
  339. data/helpers/vendor/composer/xdebug-handler/CHANGELOG.md +59 -0
  340. data/helpers/vendor/composer/xdebug-handler/LICENSE +21 -0
  341. data/helpers/vendor/composer/xdebug-handler/README.md +288 -0
  342. data/helpers/vendor/composer/xdebug-handler/composer.json +40 -0
  343. data/helpers/vendor/composer/xdebug-handler/src/PhpConfig.php +73 -0
  344. data/helpers/vendor/composer/xdebug-handler/src/Process.php +170 -0
  345. data/helpers/vendor/composer/xdebug-handler/src/Status.php +163 -0
  346. data/helpers/vendor/composer/xdebug-handler/src/XdebugHandler.php +565 -0
  347. data/helpers/vendor/doctrine/annotations/CHANGELOG.md +162 -0
  348. data/helpers/vendor/doctrine/annotations/LICENSE +19 -0
  349. data/helpers/vendor/doctrine/annotations/README.md +17 -0
  350. data/helpers/vendor/doctrine/annotations/composer.json +43 -0
  351. data/helpers/vendor/doctrine/annotations/docs/en/annotations.rst +223 -0
  352. data/helpers/vendor/doctrine/annotations/docs/en/custom.rst +341 -0
  353. data/helpers/vendor/doctrine/annotations/docs/en/index.rst +90 -0
  354. data/helpers/vendor/doctrine/annotations/docs/en/sidebar.rst +6 -0
  355. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation.php +79 -0
  356. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attribute.php +47 -0
  357. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attributes.php +37 -0
  358. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Enum.php +84 -0
  359. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php +54 -0
  360. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Required.php +33 -0
  361. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php +107 -0
  362. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php +197 -0
  363. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php +409 -0
  364. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php +174 -0
  365. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php +262 -0
  366. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php +147 -0
  367. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php +1197 -0
  368. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php +290 -0
  369. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php +119 -0
  370. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PhpParser.php +91 -0
  371. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Reader.php +89 -0
  372. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php +127 -0
  373. data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php +194 -0
  374. data/helpers/vendor/doctrine/annotations/phpbench.json.dist +4 -0
  375. data/helpers/vendor/doctrine/annotations/phpstan.neon +14 -0
  376. data/helpers/vendor/doctrine/lexer/.doctrine-project.json +17 -0
  377. data/helpers/vendor/doctrine/lexer/.github/FUNDING.yml +3 -0
  378. data/helpers/vendor/doctrine/lexer/.gitignore +2 -0
  379. data/helpers/vendor/doctrine/lexer/LICENSE +19 -0
  380. data/helpers/vendor/doctrine/lexer/README.md +7 -0
  381. data/helpers/vendor/doctrine/lexer/composer.json +36 -0
  382. data/helpers/vendor/doctrine/lexer/docs/en/dql-parser.rst +294 -0
  383. data/helpers/vendor/doctrine/lexer/docs/en/index.rst +53 -0
  384. data/helpers/vendor/doctrine/lexer/docs/en/sidebar.rst +6 -0
  385. data/helpers/vendor/doctrine/lexer/docs/en/simple-parser-example.rst +102 -0
  386. data/helpers/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php +332 -0
  387. data/helpers/vendor/doctrine/lexer/phpunit.xml.dist +26 -0
  388. data/helpers/vendor/doctrine/lexer/tests/Doctrine/Common/Lexer/AbstractLexerTest.php +268 -0
  389. data/helpers/vendor/doctrine/lexer/tests/Doctrine/Common/Lexer/ConcreteLexer.php +49 -0
  390. data/helpers/vendor/friendsofphp/php-cs-fixer/.php_cs.dist +48 -0
  391. data/helpers/vendor/friendsofphp/php-cs-fixer/CHANGELOG.md +2844 -0
  392. data/helpers/vendor/friendsofphp/php-cs-fixer/CONTRIBUTING.md +41 -0
  393. data/helpers/vendor/friendsofphp/php-cs-fixer/LICENSE +20 -0
  394. data/helpers/vendor/friendsofphp/php-cs-fixer/README.rst +2079 -0
  395. data/helpers/vendor/friendsofphp/php-cs-fixer/UPGRADE.md +184 -0
  396. data/helpers/vendor/friendsofphp/php-cs-fixer/box.json.dist +34 -0
  397. data/helpers/vendor/friendsofphp/php-cs-fixer/composer.json +81 -0
  398. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/bin-download.sh +23 -0
  399. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/build.sh +22 -0
  400. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/check-shell-scripts.sh +21 -0
  401. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/ci-integration.sh +8 -0
  402. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/composer.json +19 -0
  403. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/info-extractor.php +14 -0
  404. data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/trigger-website.sh +28 -0
  405. data/helpers/vendor/friendsofphp/php-cs-fixer/doc/COOKBOOK-FIXERS.md +523 -0
  406. data/helpers/vendor/friendsofphp/php-cs-fixer/doc/checkstyle.xsd +44 -0
  407. data/helpers/vendor/friendsofphp/php-cs-fixer/doc/junit-10.xsd +135 -0
  408. data/helpers/vendor/friendsofphp/php-cs-fixer/doc/schema.json +47 -0
  409. data/helpers/vendor/friendsofphp/php-cs-fixer/doc/xml.xsd +83 -0
  410. data/helpers/vendor/friendsofphp/php-cs-fixer/php-cs-fixer +79 -0
  411. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractAlignFixerHelper.php +125 -0
  412. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php +224 -0
  413. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php +227 -0
  414. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractFopenFlagFixer.php +127 -0
  415. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractFunctionReferenceFixer.php +68 -0
  416. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractLinesBeforeNamespaceFixer.php +110 -0
  417. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractNoUselessElseFixer.php +211 -0
  418. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocTypesFixer.php +137 -0
  419. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractProxyFixer.php +122 -0
  420. data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractPsrAutoloadingFixer.php +87 -0
  421. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php +145 -0
  422. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheInterface.php +56 -0
  423. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheManagerInterface.php +35 -0
  424. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/Directory.php +53 -0
  425. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/DirectoryInterface.php +26 -0
  426. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/FileCacheManager.php +125 -0
  427. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php +99 -0
  428. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandlerInterface.php +36 -0
  429. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/NullCacheManager.php +30 -0
  430. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/Signature.php +111 -0
  431. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/SignatureInterface.php +53 -0
  432. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Config.php +280 -0
  433. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigInterface.php +196 -0
  434. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidConfigurationException.php +40 -0
  435. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php +54 -0
  436. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidForEnvFixerConfigurationException.php +22 -0
  437. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/RequiredFixerConfigurationException.php +22 -0
  438. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php +114 -0
  439. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php +408 -0
  440. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeNameNotFoundException.php +57 -0
  441. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php +270 -0
  442. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommandExitStatusCalculator.php +57 -0
  443. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/HelpCommand.php +622 -0
  444. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ReadmeCommand.php +294 -0
  445. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php +176 -0
  446. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php +936 -0
  447. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php +154 -0
  448. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/NullOutput.php +23 -0
  449. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ProcessOutput.php +147 -0
  450. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ProcessOutputInterface.php +21 -0
  451. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php +52 -0
  452. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClientInterface.php +24 -0
  453. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/NewVersionChecker.php +117 -0
  454. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/NewVersionCheckerInterface.php +46 -0
  455. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php +74 -0
  456. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php +102 -0
  457. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/DifferInterface.php +31 -0
  458. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/FullDiffer.php +48 -0
  459. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/NullDiffer.php +27 -0
  460. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/SebastianBergmannDiffer.php +39 -0
  461. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/SebastianBergmannShortDiffer.php +39 -0
  462. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/UnifiedDiffer.php +43 -0
  463. data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php +307 -0
  464. data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/DocBlock.php +187 -0
  465. data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Line.php +144 -0
  466. data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/ShortDescription.php +63 -0
  467. data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Tag.php +113 -0
  468. data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/TagComparator.php +60 -0
  469. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Token.php +99 -0
  470. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php +379 -0
  471. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Error/Error.php +119 -0
  472. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Error/ErrorsManager.php +82 -0
  473. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FileReader.php +87 -0
  474. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FileRemoval.php +80 -0
  475. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Finder.php +36 -0
  476. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/BacktickToShellExecFixer.php +147 -0
  477. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/EregToPregFixer.php +184 -0
  478. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/MbStrFunctionsFixer.php +112 -0
  479. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php +217 -0
  480. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php +163 -0
  481. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/PowToExponentiationFixer.php +214 -0
  482. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php +167 -0
  483. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php +255 -0
  484. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php +150 -0
  485. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoMultilineWhitespaceAroundDoubleArrowFixer.php +86 -0
  486. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoTrailingCommaInSinglelineArrayFixer.php +90 -0
  487. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php +154 -0
  488. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php +59 -0
  489. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/TrailingCommaInMultilineArrayFixer.php +138 -0
  490. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/TrimArraySpacesFixer.php +104 -0
  491. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php +106 -0
  492. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php +1057 -0
  493. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/EncodingFixer.php +93 -0
  494. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php +171 -0
  495. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/Psr0Fixer.php +169 -0
  496. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/Psr4Fixer.php +100 -0
  497. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseConstantsFixer.php +102 -0
  498. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseKeywordsFixer.php +75 -0
  499. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseStaticReferenceFixer.php +105 -0
  500. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/MagicConstantCasingFixer.php +98 -0
  501. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/MagicMethodCasingFixer.php +232 -0
  502. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeFunctionCasingFixer.php +107 -0
  503. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeFunctionTypeDeclarationCasingFixer.php +179 -0
  504. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php +128 -0
  505. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/LowercaseCastFixer.php +76 -0
  506. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/ModernizeTypesCastingFixer.php +159 -0
  507. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/NoShortBoolCastFixer.php +107 -0
  508. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/NoUnsetCastFixer.php +91 -0
  509. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/ShortScalarCastFixer.php +76 -0
  510. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php +394 -0
  511. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassDefinitionFixer.php +448 -0
  512. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalClassFixer.php +60 -0
  513. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalInternalClassFixer.php +198 -0
  514. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/MethodSeparationFixer.php +73 -0
  515. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoBlankLinesAfterClassOpeningFixer.php +92 -0
  516. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoNullPropertyInitializationFixer.php +98 -0
  517. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoPhp4ConstructorFixer.php +389 -0
  518. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoUnneededFinalMethodFixer.php +139 -0
  519. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedClassElementsFixer.php +502 -0
  520. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedInterfacesFixer.php +231 -0
  521. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ProtectedToPrivateFixer.php +137 -0
  522. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SelfAccessorFixer.php +194 -0
  523. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleClassElementPerStatementFixer.php +226 -0
  524. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleTraitInsertPerStatementFixer.php +104 -0
  525. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php +193 -0
  526. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassUsage/DateTimeImmutableFixer.php +164 -0
  527. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/CommentToPhpdocFixer.php +191 -0
  528. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/HashToSlashCommentFixer.php +58 -0
  529. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/HeaderCommentFixer.php +356 -0
  530. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/MultilineCommentOpeningClosingFixer.php +95 -0
  531. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/NoEmptyCommentFixer.php +168 -0
  532. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/NoTrailingWhitespaceInCommentFixer.php +75 -0
  533. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php +168 -0
  534. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php +51 -0
  535. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurationDefinitionFixerInterface.php +28 -0
  536. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php +275 -0
  537. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ElseifFixer.php +91 -0
  538. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/IncludeFixer.php +151 -0
  539. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoAlternativeSyntaxFixer.php +226 -0
  540. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoBreakCommentFixer.php +366 -0
  541. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoSuperfluousElseifFixer.php +101 -0
  542. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoTrailingCommaInListCallFixer.php +74 -0
  543. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededControlParenthesesFixer.php +189 -0
  544. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededCurlyBracesFixer.php +110 -0
  545. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUselessElseFixer.php +118 -0
  546. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchCaseSemicolonToColonFixer.php +104 -0
  547. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchCaseSpaceFixer.php +92 -0
  548. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/YodaStyleFixer.php +731 -0
  549. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DefinedFixerInterface.php +29 -0
  550. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DeprecatedFixerInterface.php +26 -0
  551. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationArrayAssignmentFixer.php +103 -0
  552. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationBracesFixer.php +129 -0
  553. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationIndentationFixer.php +202 -0
  554. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationSpacesFixer.php +347 -0
  555. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FixerInterface.php +81 -0
  556. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/CombineNestedDirnameFixer.php +240 -0
  557. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FopenFlagOrderFixer.php +131 -0
  558. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FopenFlagsFixer.php +112 -0
  559. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php +200 -0
  560. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FunctionTypehintSpaceFixer.php +87 -0
  561. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/ImplodeCallFixer.php +150 -0
  562. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/MethodArgumentSpaceFixer.php +512 -0
  563. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NativeFunctionInvocationFixer.php +415 -0
  564. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoSpacesAfterFunctionNameFixer.php +182 -0
  565. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoUnreachableDefaultArgumentValueFixer.php +205 -0
  566. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/PhpdocToReturnTypeFixer.php +326 -0
  567. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/ReturnTypeDeclarationFixer.php +123 -0
  568. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/StaticLambdaFixer.php +134 -0
  569. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/VoidReturnFixer.php +263 -0
  570. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/FullyQualifiedStrictTypesFixer.php +178 -0
  571. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoLeadingImportSlashFixer.php +98 -0
  572. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoUnusedImportsFixer.php +255 -0
  573. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/OrderedImportsFixer.php +527 -0
  574. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php +252 -0
  575. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php +145 -0
  576. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php +252 -0
  577. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php +164 -0
  578. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveUnsetsFixer.php +192 -0
  579. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DeclareEqualNormalizeFixer.php +132 -0
  580. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DirConstantFixer.php +130 -0
  581. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ErrorSuppressionFixer.php +176 -0
  582. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ExplicitIndirectVariableFixer.php +91 -0
  583. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/FunctionToConstantFixer.php +238 -0
  584. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/IsNullFixer.php +202 -0
  585. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/NoUnsetOnPropertyFixer.php +232 -0
  586. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/SilencedDeprecationErrorFixer.php +55 -0
  587. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ListNotation/ListSyntaxFixer.php +150 -0
  588. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/BlankLineAfterNamespaceFixer.php +144 -0
  589. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/NoBlankLinesBeforeNamespaceFixer.php +63 -0
  590. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/NoLeadingNamespaceWhitespaceFixer.php +101 -0
  591. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/SingleBlankLineBeforeNamespaceFixer.php +69 -0
  592. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Naming/NoHomoglyphNamesFixer.php +244 -0
  593. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/AlignDoubleArrowFixerHelper.php +152 -0
  594. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/AlignEqualsFixerHelper.php +78 -0
  595. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/BinaryOperatorSpacesFixer.php +839 -0
  596. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/ConcatSpaceFixer.php +154 -0
  597. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/IncrementStyleFixer.php +208 -0
  598. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/LogicalOperatorsFixer.php +76 -0
  599. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NewWithBracesFixer.php +151 -0
  600. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NotOperatorWithSpaceFixer.php +80 -0
  601. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NotOperatorWithSuccessorSpaceFixer.php +78 -0
  602. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/ObjectOperatorWithoutWhitespaceFixer.php +67 -0
  603. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/PreIncrementFixer.php +56 -0
  604. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/StandardizeIncrementFixer.php +169 -0
  605. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/StandardizeNotEqualsFixer.php +56 -0
  606. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryOperatorSpacesFixer.php +112 -0
  607. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryToNullCoalescingFixer.php +218 -0
  608. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/UnaryOperatorSpacesFixer.php +68 -0
  609. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/BlankLineAfterOpeningTagFixer.php +96 -0
  610. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php +134 -0
  611. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php +73 -0
  612. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php +73 -0
  613. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoShortEchoTagFixer.php +70 -0
  614. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php +223 -0
  615. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDedicateAssertFixer.php +454 -0
  616. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDedicateAssertInternalTypeFixer.php +200 -0
  617. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitExpectationFixer.php +273 -0
  618. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitFqcnAnnotationFixer.php +104 -0
  619. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitInternalClassFixer.php +280 -0
  620. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMethodCasingFixer.php +274 -0
  621. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMockFixer.php +150 -0
  622. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMockShortWillReturnFixer.php +146 -0
  623. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitNamespacedFixer.php +220 -0
  624. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitNoExpectationAnnotationFixer.php +300 -0
  625. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitOrderedCoversFixer.php +106 -0
  626. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitSetUpTearDownVisibilityFixer.php +142 -0
  627. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitSizeClassFixer.php +279 -0
  628. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitStrictFixer.php +158 -0
  629. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTargetVersion.php +61 -0
  630. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestAnnotationFixer.php +561 -0
  631. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestCaseStaticMethodCallsFixer.php +474 -0
  632. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestClassRequiresCoversFixer.php +152 -0
  633. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/AlignMultilineCommentFixer.php +170 -0
  634. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/GeneralPhpdocAnnotationRemoveFixer.php +117 -0
  635. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoBlankLinesAfterPhpdocFixer.php +112 -0
  636. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoEmptyPhpdocFixer.php +70 -0
  637. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoSuperfluousPhpdocTagsFixer.php +330 -0
  638. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAddMissingParamAnnotationFixer.php +286 -0
  639. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAlignFixer.php +431 -0
  640. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAnnotationWithoutDotFixer.php +117 -0
  641. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocIndentFixer.php +144 -0
  642. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocInlineTagFixer.php +96 -0
  643. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoAccessFixer.php +59 -0
  644. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoAliasTagFixer.php +176 -0
  645. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoEmptyReturnFixer.php +125 -0
  646. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoPackageFixer.php +59 -0
  647. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoUselessInheritdocFixer.php +195 -0
  648. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocOrderFixer.php +175 -0
  649. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocReturnSelfReferenceFixer.php +227 -0
  650. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocScalarFixer.php +103 -0
  651. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSeparationFixer.php +181 -0
  652. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSingleLineVarSpacingFixer.php +106 -0
  653. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSummaryFixer.php +93 -0
  654. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocToCommentFixer.php +94 -0
  655. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTrimConsecutiveBlankLineSeparationFixer.php +215 -0
  656. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTrimFixer.php +131 -0
  657. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTypesFixer.php +147 -0
  658. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTypesOrderFixer.php +212 -0
  659. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocVarAnnotationCorrectOrderFixer.php +67 -0
  660. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocVarWithoutNameFixer.php +101 -0
  661. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/BlankLineBeforeReturnFixer.php +61 -0
  662. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/NoUselessReturnFixer.php +111 -0
  663. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/ReturnAssignmentFixer.php +362 -0
  664. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/SimplifiedNullReturnFixer.php +173 -0
  665. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/MultilineWhitespaceBeforeSemicolonsFixer.php +293 -0
  666. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoEmptyStatementFixer.php +163 -0
  667. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoMultilineWhitespaceBeforeSemicolonsFixer.php +68 -0
  668. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoSinglelineWhitespaceBeforeSemicolonsFixer.php +65 -0
  669. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/SemicolonAfterInstructionFixer.php +63 -0
  670. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/SpaceAfterSemicolonFixer.php +143 -0
  671. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/DeclareStrictTypesFixer.php +166 -0
  672. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/StrictComparisonFixer.php +76 -0
  673. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/StrictParamFixer.php +154 -0
  674. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/EscapeImplicitBackslashesFixer.php +166 -0
  675. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/ExplicitStringVariableFixer.php +159 -0
  676. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/HeredocToNowdocFixer.php +107 -0
  677. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/NoBinaryStringFixer.php +65 -0
  678. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/SimpleToComplexStringVariableFixer.php +112 -0
  679. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/SingleQuoteFixer.php +106 -0
  680. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/StringLineEndingFixer.php +85 -0
  681. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/ArrayIndentationFixer.php +376 -0
  682. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/BlankLineBeforeStatementFixer.php +330 -0
  683. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/CompactNullableTypehintFixer.php +79 -0
  684. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/HeredocIndentationFixer.php +150 -0
  685. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/IndentationTypeFixer.php +147 -0
  686. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/LineEndingFixer.php +92 -0
  687. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/MethodChainingIndentationFixer.php +205 -0
  688. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoExtraBlankLinesFixer.php +465 -0
  689. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoExtraConsecutiveBlankLinesFixer.php +73 -0
  690. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoSpacesAroundOffsetFixer.php +107 -0
  691. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoSpacesInsideParenthesisFixer.php +109 -0
  692. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoTrailingWhitespaceFixer.php +113 -0
  693. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoWhitespaceInBlankLineFixer.php +103 -0
  694. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/SingleBlankLineAtEofFixer.php +70 -0
  695. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/WhitespacesAwareFixerInterface.php +23 -0
  696. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AliasedFixerOption.php +103 -0
  697. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AliasedFixerOptionBuilder.php +98 -0
  698. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AllowedValueSubset.php +53 -0
  699. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/DeprecatedFixerOption.php +100 -0
  700. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/DeprecatedFixerOptionInterface.php +21 -0
  701. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolver.php +129 -0
  702. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolverInterface.php +28 -0
  703. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolverRootless.php +99 -0
  704. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOption.php +176 -0
  705. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionBuilder.php +149 -0
  706. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionInterface.php +53 -0
  707. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/InvalidOptionsForEnvException.php +24 -0
  708. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/CodeSample.php +55 -0
  709. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/CodeSampleInterface.php +29 -0
  710. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FileSpecificCodeSample.php +69 -0
  711. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FileSpecificCodeSampleInterface.php +26 -0
  712. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FixerDefinition.php +93 -0
  713. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FixerDefinitionInterface.php +55 -0
  714. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificCodeSample.php +67 -0
  715. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificCodeSampleInterface.php +26 -0
  716. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecification.php +75 -0
  717. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificationInterface.php +26 -0
  718. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerFactory.php +259 -0
  719. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerFileProcessedEvent.php +59 -0
  720. data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerNameValidator.php +36 -0
  721. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Indicator/PhpUnitTestCaseIndicator.php +76 -0
  722. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/CachingLinter.php +75 -0
  723. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/Linter.php +64 -0
  724. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/LinterInterface.php +44 -0
  725. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/LintingException.php +20 -0
  726. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/LintingResultInterface.php +24 -0
  727. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLinter.php +149 -0
  728. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLinterProcessBuilder.php +50 -0
  729. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLintingResult.php +59 -0
  730. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/TokenizerLinter.php +70 -0
  731. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/TokenizerLintingResult.php +48 -0
  732. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/UnavailableLinterException.php +22 -0
  733. data/helpers/vendor/friendsofphp/php-cs-fixer/src/PharChecker.php +39 -0
  734. data/helpers/vendor/friendsofphp/php-cs-fixer/src/PharCheckerInterface.php +26 -0
  735. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Preg.php +189 -0
  736. data/helpers/vendor/friendsofphp/php-cs-fixer/src/PregException.php +24 -0
  737. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/CheckstyleReporter.php +75 -0
  738. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/GitlabReporter.php +56 -0
  739. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/JsonReporter.php +71 -0
  740. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/JunitReporter.php +148 -0
  741. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/ReportSummary.php +123 -0
  742. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/ReporterFactory.php +102 -0
  743. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/ReporterInterface.php +33 -0
  744. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/TextReporter.php +110 -0
  745. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/XmlReporter.php +146 -0
  746. data/helpers/vendor/friendsofphp/php-cs-fixer/src/RuleSet.php +531 -0
  747. data/helpers/vendor/friendsofphp/php-cs-fixer/src/RuleSetInterface.php +59 -0
  748. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/FileCachingLintingIterator.php +80 -0
  749. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/FileFilterIterator.php +119 -0
  750. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/FileLintingIterator.php +68 -0
  751. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/Runner.php +308 -0
  752. data/helpers/vendor/friendsofphp/php-cs-fixer/src/StdinFileInfo.php +172 -0
  753. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/AbstractFixerTestCase.php +36 -0
  754. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/AbstractIntegrationTestCase.php +36 -0
  755. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/AccessibleObject.php +93 -0
  756. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/IntegrationCase.php +140 -0
  757. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/AbstractTransformer.php +42 -0
  758. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/ArgumentAnalysis.php +109 -0
  759. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/NamespaceAnalysis.php +127 -0
  760. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/NamespaceUseAnalysis.php +147 -0
  761. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/StartEndTokenAwareAnalysis.php +30 -0
  762. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/TypeAnalysis.php +125 -0
  763. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php +143 -0
  764. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/CommentsAnalyzer.php +305 -0
  765. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/FunctionsAnalyzer.php +99 -0
  766. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/NamespaceUsesAnalyzer.php +111 -0
  767. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/NamespacesAnalyzer.php +73 -0
  768. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/CT.php +95 -0
  769. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/CodeHasher.php +38 -0
  770. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Generator/NamespacedStringTokenGenerator.php +43 -0
  771. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Resolver/TypeShortNameResolver.php +99 -0
  772. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Token.php +618 -0
  773. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Tokens.php +1452 -0
  774. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/TokensAnalyzer.php +695 -0
  775. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ArrayTypehintTransformer.php +61 -0
  776. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/BraceClassInstantiationTransformer.php +88 -0
  777. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ClassConstantTransformer.php +64 -0
  778. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/CurlyBraceTransformer.php +223 -0
  779. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ImportTransformer.php +67 -0
  780. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NamespaceOperatorTransformer.php +61 -0
  781. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NullableTypeTransformer.php +70 -0
  782. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ReturnRefTransformer.php +57 -0
  783. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/SquareBraceTransformer.php +200 -0
  784. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeAlternationTransformer.php +86 -0
  785. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeColonTransformer.php +83 -0
  786. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/UseTransformer.php +111 -0
  787. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/WhitespacyCommentTransformer.php +71 -0
  788. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/TransformerInterface.php +74 -0
  789. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformers.php +113 -0
  790. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ToolInfo.php +109 -0
  791. data/helpers/vendor/friendsofphp/php-cs-fixer/src/ToolInfoInterface.php +31 -0
  792. data/helpers/vendor/friendsofphp/php-cs-fixer/src/Utils.php +193 -0
  793. data/helpers/vendor/friendsofphp/php-cs-fixer/src/WhitespacesFixerConfig.php +56 -0
  794. data/helpers/vendor/friendsofphp/php-cs-fixer/src/WordMatcher.php +57 -0
  795. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/AbstractFixerTestCase.php +232 -0
  796. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/AbstractIntegrationCaseFactory.php +263 -0
  797. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/AbstractIntegrationTestCase.php +431 -0
  798. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/Assert/AssertTokensTrait.php +48 -0
  799. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCase.php +164 -0
  800. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCaseFactory.php +22 -0
  801. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCaseFactoryInterface.php +30 -0
  802. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/InternalIntegrationCaseFactory.php +35 -0
  803. data/helpers/vendor/friendsofphp/php-cs-fixer/tests/TestCase.php +49 -0
  804. data/helpers/vendor/jean85/pretty-package-versions/composer.json +43 -0
  805. data/helpers/vendor/jean85/pretty-package-versions/src/PrettyVersions.php +15 -0
  806. data/helpers/vendor/jean85/pretty-package-versions/src/Version.php +78 -0
  807. data/helpers/vendor/justinrainbow/json-schema/.gitattributes +5 -0
  808. data/helpers/vendor/justinrainbow/json-schema/.php_cs.dist +30 -0
  809. data/helpers/vendor/justinrainbow/json-schema/LICENSE +21 -0
  810. data/helpers/vendor/justinrainbow/json-schema/README.md +206 -0
  811. data/helpers/vendor/justinrainbow/json-schema/bin/validate-json +251 -0
  812. data/helpers/vendor/justinrainbow/json-schema/composer.json +76 -0
  813. data/helpers/vendor/justinrainbow/json-schema/demo/README.md +14 -0
  814. data/helpers/vendor/justinrainbow/json-schema/demo/data.json +3 -0
  815. data/helpers/vendor/justinrainbow/json-schema/demo/demo.php +18 -0
  816. data/helpers/vendor/justinrainbow/json-schema/demo/schema.json +3 -0
  817. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-03.json +174 -0
  818. data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-04.json +150 -0
  819. data/helpers/vendor/justinrainbow/json-schema/phpunit.xml.dist +26 -0
  820. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php +148 -0
  821. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php +121 -0
  822. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php +213 -0
  823. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php +65 -0
  824. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php +54 -0
  825. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php +220 -0
  826. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php +214 -0
  827. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php +81 -0
  828. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php +192 -0
  829. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php +94 -0
  830. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php +60 -0
  831. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php +68 -0
  832. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php +40 -0
  833. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php +18 -0
  834. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php +261 -0
  835. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php +413 -0
  836. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php +161 -0
  837. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.php +7 -0
  838. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php +17 -0
  839. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.php +17 -0
  840. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.php +17 -0
  841. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php +17 -0
  842. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php +17 -0
  843. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php +40 -0
  844. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php +17 -0
  845. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php +17 -0
  846. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php +19 -0
  847. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php +17 -0
  848. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.php +14 -0
  849. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.php +149 -0
  850. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php +30 -0
  851. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php +169 -0
  852. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php +41 -0
  853. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php +34 -0
  854. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +83 -0
  855. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php +93 -0
  856. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php +56 -0
  857. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php +36 -0
  858. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php +175 -0
  859. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php +349 -0
  860. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.php +26 -0
  861. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php +26 -0
  862. data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php +90 -0
  863. data/helpers/vendor/nette/bootstrap/composer.json +52 -0
  864. data/helpers/vendor/nette/bootstrap/contributing.md +33 -0
  865. data/helpers/vendor/nette/bootstrap/license.md +60 -0
  866. data/helpers/vendor/nette/bootstrap/readme.md +30 -0
  867. data/helpers/vendor/nette/bootstrap/src/Bootstrap/Configurator.php +327 -0
  868. data/helpers/vendor/nette/di/.phpstorm.meta.php +8 -0
  869. data/helpers/vendor/nette/di/composer.json +43 -0
  870. data/helpers/vendor/nette/di/contributing.md +33 -0
  871. data/helpers/vendor/nette/di/license.md +60 -0
  872. data/helpers/vendor/nette/di/readme.md +348 -0
  873. data/helpers/vendor/nette/di/src/Bridges/DITracy/ContainerPanel.php +90 -0
  874. data/helpers/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.panel.phtml +81 -0
  875. data/helpers/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.tab.phtml +11 -0
  876. data/helpers/vendor/nette/di/src/DI/Autowiring.php +151 -0
  877. data/helpers/vendor/nette/di/src/DI/Compiler.php +326 -0
  878. data/helpers/vendor/nette/di/src/DI/CompilerExtension.php +171 -0
  879. data/helpers/vendor/nette/di/src/DI/Config/Adapter.php +28 -0
  880. data/helpers/vendor/nette/di/src/DI/Config/Adapters/NeonAdapter.php +130 -0
  881. data/helpers/vendor/nette/di/src/DI/Config/Adapters/PhpAdapter.php +38 -0
  882. data/helpers/vendor/nette/di/src/DI/Config/DefinitionSchema.php +254 -0
  883. data/helpers/vendor/nette/di/src/DI/Config/Helpers.php +47 -0
  884. data/helpers/vendor/nette/di/src/DI/Config/Loader.php +135 -0
  885. data/helpers/vendor/nette/di/src/DI/Container.php +312 -0
  886. data/helpers/vendor/nette/di/src/DI/ContainerBuilder.php +415 -0
  887. data/helpers/vendor/nette/di/src/DI/ContainerLoader.php +125 -0
  888. data/helpers/vendor/nette/di/src/DI/Definitions/AccessorDefinition.php +122 -0
  889. data/helpers/vendor/nette/di/src/DI/Definitions/Definition.php +227 -0
  890. data/helpers/vendor/nette/di/src/DI/Definitions/FactoryDefinition.php +303 -0
  891. data/helpers/vendor/nette/di/src/DI/Definitions/ImportedDefinition.php +57 -0
  892. data/helpers/vendor/nette/di/src/DI/Definitions/LocatorDefinition.php +171 -0
  893. data/helpers/vendor/nette/di/src/DI/Definitions/Reference.php +65 -0
  894. data/helpers/vendor/nette/di/src/DI/Definitions/ServiceDefinition.php +274 -0
  895. data/helpers/vendor/nette/di/src/DI/Definitions/Statement.php +72 -0
  896. data/helpers/vendor/nette/di/src/DI/DependencyChecker.php +176 -0
  897. data/helpers/vendor/nette/di/src/DI/DynamicParameter.php +20 -0
  898. data/helpers/vendor/nette/di/src/DI/Extensions/ConstantsExtension.php +26 -0
  899. data/helpers/vendor/nette/di/src/DI/Extensions/DIExtension.php +134 -0
  900. data/helpers/vendor/nette/di/src/DI/Extensions/DecoratorExtension.php +77 -0
  901. data/helpers/vendor/nette/di/src/DI/Extensions/ExtensionsExtension.php +42 -0
  902. data/helpers/vendor/nette/di/src/DI/Extensions/InjectExtension.php +157 -0
  903. data/helpers/vendor/nette/di/src/DI/Extensions/ParametersExtension.php +64 -0
  904. data/helpers/vendor/nette/di/src/DI/Extensions/PhpExtension.php +53 -0
  905. data/helpers/vendor/nette/di/src/DI/Extensions/SearchExtension.php +144 -0
  906. data/helpers/vendor/nette/di/src/DI/Extensions/ServicesExtension.php +244 -0
  907. data/helpers/vendor/nette/di/src/DI/Helpers.php +190 -0
  908. data/helpers/vendor/nette/di/src/DI/PhpGenerator.php +204 -0
  909. data/helpers/vendor/nette/di/src/DI/Resolver.php +530 -0
  910. data/helpers/vendor/nette/di/src/DI/exceptions.php +49 -0
  911. data/helpers/vendor/nette/di/src/compatibility.php +12 -0
  912. data/helpers/vendor/nette/finder/composer.json +37 -0
  913. data/helpers/vendor/nette/finder/contributing.md +33 -0
  914. data/helpers/vendor/nette/finder/license.md +60 -0
  915. data/helpers/vendor/nette/finder/readme.md +181 -0
  916. data/helpers/vendor/nette/finder/src/Utils/Finder.php +380 -0
  917. data/helpers/vendor/nette/neon/composer.json +35 -0
  918. data/helpers/vendor/nette/neon/contributing.md +33 -0
  919. data/helpers/vendor/nette/neon/license.md +60 -0
  920. data/helpers/vendor/nette/neon/readme.md +96 -0
  921. data/helpers/vendor/nette/neon/src/Neon/Decoder.php +358 -0
  922. data/helpers/vendor/nette/neon/src/Neon/Encoder.php +84 -0
  923. data/helpers/vendor/nette/neon/src/Neon/Entity.php +36 -0
  924. data/helpers/vendor/nette/neon/src/Neon/Exception.php +18 -0
  925. data/helpers/vendor/nette/neon/src/Neon/Neon.php +42 -0
  926. data/helpers/vendor/nette/neon/src/neon.php +9 -0
  927. data/helpers/vendor/nette/neon/syntax.txt +32 -0
  928. data/helpers/vendor/nette/php-generator/composer.json +34 -0
  929. data/helpers/vendor/nette/php-generator/contributing.md +33 -0
  930. data/helpers/vendor/nette/php-generator/license.md +60 -0
  931. data/helpers/vendor/nette/php-generator/readme.md +521 -0
  932. data/helpers/vendor/nette/php-generator/src/PhpGenerator/ClassType.php +507 -0
  933. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Closure.php +70 -0
  934. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Constant.php +43 -0
  935. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Factory.php +134 -0
  936. data/helpers/vendor/nette/php-generator/src/PhpGenerator/GlobalFunction.php +44 -0
  937. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Helpers.php +269 -0
  938. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Method.php +134 -0
  939. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Parameter.php +122 -0
  940. data/helpers/vendor/nette/php-generator/src/PhpGenerator/PhpFile.php +115 -0
  941. data/helpers/vendor/nette/php-generator/src/PhpGenerator/PhpLiteral.php +32 -0
  942. data/helpers/vendor/nette/php-generator/src/PhpGenerator/PhpNamespace.php +199 -0
  943. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Printer.php +252 -0
  944. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Property.php +64 -0
  945. data/helpers/vendor/nette/php-generator/src/PhpGenerator/PsrPrinter.php +29 -0
  946. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/CommentAware.php +46 -0
  947. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/FunctionLike.php +189 -0
  948. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/NameAware.php +49 -0
  949. data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/VisibilityAware.php +43 -0
  950. data/helpers/vendor/nette/robot-loader/composer.json +36 -0
  951. data/helpers/vendor/nette/robot-loader/contributing.md +33 -0
  952. data/helpers/vendor/nette/robot-loader/license.md +60 -0
  953. data/helpers/vendor/nette/robot-loader/readme.md +113 -0
  954. data/helpers/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php +474 -0
  955. data/helpers/vendor/nette/schema/composer.json +34 -0
  956. data/helpers/vendor/nette/schema/contributing.md +33 -0
  957. data/helpers/vendor/nette/schema/license.md +60 -0
  958. data/helpers/vendor/nette/schema/readme.md +304 -0
  959. data/helpers/vendor/nette/schema/src/Schema/Context.php +39 -0
  960. data/helpers/vendor/nette/schema/src/Schema/DynamicParameter.php +15 -0
  961. data/helpers/vendor/nette/schema/src/Schema/Elements/AnyOf.php +102 -0
  962. data/helpers/vendor/nette/schema/src/Schema/Elements/Base.php +137 -0
  963. data/helpers/vendor/nette/schema/src/Schema/Elements/Structure.php +175 -0
  964. data/helpers/vendor/nette/schema/src/Schema/Elements/Type.php +152 -0
  965. data/helpers/vendor/nette/schema/src/Schema/Expect.php +115 -0
  966. data/helpers/vendor/nette/schema/src/Schema/Helpers.php +86 -0
  967. data/helpers/vendor/nette/schema/src/Schema/Processor.php +93 -0
  968. data/helpers/vendor/nette/schema/src/Schema/Schema.php +37 -0
  969. data/helpers/vendor/nette/schema/src/Schema/ValidationException.php +35 -0
  970. data/helpers/vendor/nette/utils/.phpstorm.meta.php +19 -0
  971. data/helpers/vendor/nette/utils/composer.json +42 -0
  972. data/helpers/vendor/nette/utils/contributing.md +33 -0
  973. data/helpers/vendor/nette/utils/license.md +60 -0
  974. data/helpers/vendor/nette/utils/readme.md +41 -0
  975. data/helpers/vendor/nette/utils/src/Iterators/CachingIterator.php +166 -0
  976. data/helpers/vendor/nette/utils/src/Iterators/Mapper.php +34 -0
  977. data/helpers/vendor/nette/utils/src/Utils/ArrayHash.php +94 -0
  978. data/helpers/vendor/nette/utils/src/Utils/ArrayList.php +110 -0
  979. data/helpers/vendor/nette/utils/src/Utils/Arrays.php +300 -0
  980. data/helpers/vendor/nette/utils/src/Utils/Callback.php +164 -0
  981. data/helpers/vendor/nette/utils/src/Utils/DateTime.php +124 -0
  982. data/helpers/vendor/nette/utils/src/Utils/FileSystem.php +159 -0
  983. data/helpers/vendor/nette/utils/src/Utils/Html.php +614 -0
  984. data/helpers/vendor/nette/utils/src/Utils/IHtmlString.php +20 -0
  985. data/helpers/vendor/nette/utils/src/Utils/ITranslator.php +23 -0
  986. data/helpers/vendor/nette/utils/src/Utils/Image.php +623 -0
  987. data/helpers/vendor/nette/utils/src/Utils/Json.php +60 -0
  988. data/helpers/vendor/nette/utils/src/Utils/ObjectHelpers.php +186 -0
  989. data/helpers/vendor/nette/utils/src/Utils/ObjectMixin.php +43 -0
  990. data/helpers/vendor/nette/utils/src/Utils/Paginator.php +212 -0
  991. data/helpers/vendor/nette/utils/src/Utils/Random.php +44 -0
  992. data/helpers/vendor/nette/utils/src/Utils/Reflection.php +303 -0
  993. data/helpers/vendor/nette/utils/src/Utils/SmartObject.php +121 -0
  994. data/helpers/vendor/nette/utils/src/Utils/StaticClass.php +36 -0
  995. data/helpers/vendor/nette/utils/src/Utils/Strings.php +508 -0
  996. data/helpers/vendor/nette/utils/src/Utils/Validators.php +344 -0
  997. data/helpers/vendor/nette/utils/src/Utils/exceptions.php +159 -0
  998. data/helpers/vendor/nikic/php-parser/.gitignore +5 -0
  999. data/helpers/vendor/nikic/php-parser/.travis.yml +36 -0
  1000. data/helpers/vendor/nikic/php-parser/CHANGELOG.md +683 -0
  1001. data/helpers/vendor/nikic/php-parser/LICENSE +31 -0
  1002. data/helpers/vendor/nikic/php-parser/README.md +225 -0
  1003. data/helpers/vendor/nikic/php-parser/UPGRADE-1.0.md +121 -0
  1004. data/helpers/vendor/nikic/php-parser/UPGRADE-2.0.md +74 -0
  1005. data/helpers/vendor/nikic/php-parser/UPGRADE-3.0.md +160 -0
  1006. data/helpers/vendor/nikic/php-parser/UPGRADE-4.0.md +77 -0
  1007. data/helpers/vendor/nikic/php-parser/bin/php-parse +205 -0
  1008. data/helpers/vendor/nikic/php-parser/composer.json +40 -0
  1009. data/helpers/vendor/nikic/php-parser/doc/0_Introduction.markdown +80 -0
  1010. data/helpers/vendor/nikic/php-parser/doc/2_Usage_of_basic_components.markdown +516 -0
  1011. data/helpers/vendor/nikic/php-parser/doc/README.md +46 -0
  1012. data/helpers/vendor/nikic/php-parser/doc/component/AST_builders.markdown +138 -0
  1013. data/helpers/vendor/nikic/php-parser/doc/component/Constant_expression_evaluation.markdown +115 -0
  1014. data/helpers/vendor/nikic/php-parser/doc/component/Error_handling.markdown +75 -0
  1015. data/helpers/vendor/nikic/php-parser/doc/component/FAQ.markdown +68 -0
  1016. data/helpers/vendor/nikic/php-parser/doc/component/JSON_representation.markdown +131 -0
  1017. data/helpers/vendor/nikic/php-parser/doc/component/Lexer.markdown +159 -0
  1018. data/helpers/vendor/nikic/php-parser/doc/component/Name_resolution.markdown +87 -0
  1019. data/helpers/vendor/nikic/php-parser/doc/component/Performance.markdown +65 -0
  1020. data/helpers/vendor/nikic/php-parser/doc/component/Pretty_printing.markdown +96 -0
  1021. data/helpers/vendor/nikic/php-parser/doc/component/Walking_the_AST.markdown +337 -0
  1022. data/helpers/vendor/nikic/php-parser/grammar/README.md +28 -0
  1023. data/helpers/vendor/nikic/php-parser/grammar/parser.template +106 -0
  1024. data/helpers/vendor/nikic/php-parser/grammar/php5.y +1026 -0
  1025. data/helpers/vendor/nikic/php-parser/grammar/php7.y +1023 -0
  1026. data/helpers/vendor/nikic/php-parser/grammar/rebuildParsers.php +257 -0
  1027. data/helpers/vendor/nikic/php-parser/grammar/tokens.template +17 -0
  1028. data/helpers/vendor/nikic/php-parser/grammar/tokens.y +114 -0
  1029. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder.php +13 -0
  1030. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +122 -0
  1031. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +43 -0
  1032. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +74 -0
  1033. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +50 -0
  1034. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +75 -0
  1035. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +129 -0
  1036. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
  1037. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +106 -0
  1038. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +132 -0
  1039. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +64 -0
  1040. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +148 -0
  1041. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +60 -0
  1042. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
  1043. data/helpers/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +348 -0
  1044. data/helpers/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +277 -0
  1045. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Comment.php +167 -0
  1046. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +7 -0
  1047. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
  1048. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +226 -0
  1049. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Error.php +180 -0
  1050. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +13 -0
  1051. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +46 -0
  1052. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +18 -0
  1053. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +27 -0
  1054. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +164 -0
  1055. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +57 -0
  1056. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +256 -0
  1057. data/helpers/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +101 -0
  1058. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +406 -0
  1059. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +250 -0
  1060. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +41 -0
  1061. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +53 -0
  1062. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +98 -0
  1063. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php +14 -0
  1064. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +285 -0
  1065. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node.php +153 -0
  1066. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +38 -0
  1067. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +37 -0
  1068. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +9 -0
  1069. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +34 -0
  1070. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +41 -0
  1071. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
  1072. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +71 -0
  1073. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +34 -0
  1074. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +30 -0
  1075. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +12 -0
  1076. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +12 -0
  1077. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +12 -0
  1078. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +12 -0
  1079. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +12 -0
  1080. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +12 -0
  1081. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +12 -0
  1082. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +12 -0
  1083. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +12 -0
  1084. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +12 -0
  1085. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +12 -0
  1086. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +12 -0
  1087. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +12 -0
  1088. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +34 -0
  1089. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +40 -0
  1090. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +16 -0
  1091. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +16 -0
  1092. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +16 -0
  1093. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +16 -0
  1094. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +16 -0
  1095. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +16 -0
  1096. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +16 -0
  1097. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +16 -0
  1098. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +16 -0
  1099. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +16 -0
  1100. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +16 -0
  1101. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +16 -0
  1102. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +16 -0
  1103. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +16 -0
  1104. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +16 -0
  1105. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +16 -0
  1106. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +16 -0
  1107. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +16 -0
  1108. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +16 -0
  1109. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +16 -0
  1110. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +16 -0
  1111. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +16 -0
  1112. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +16 -0
  1113. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +16 -0
  1114. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +16 -0
  1115. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +16 -0
  1116. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +16 -0
  1117. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +30 -0
  1118. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +30 -0
  1119. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +26 -0
  1120. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +12 -0
  1121. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +12 -0
  1122. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +17 -0
  1123. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +12 -0
  1124. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +12 -0
  1125. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +12 -0
  1126. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +12 -0
  1127. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
  1128. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +30 -0
  1129. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +71 -0
  1130. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +34 -0
  1131. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +31 -0
  1132. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +30 -0
  1133. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +31 -0
  1134. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +30 -0
  1135. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +30 -0
  1136. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +34 -0
  1137. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +35 -0
  1138. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +39 -0
  1139. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
  1140. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +30 -0
  1141. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +30 -0
  1142. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +40 -0
  1143. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +35 -0
  1144. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +30 -0
  1145. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +30 -0
  1146. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +30 -0
  1147. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +30 -0
  1148. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +30 -0
  1149. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
  1150. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
  1151. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +40 -0
  1152. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
  1153. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +38 -0
  1154. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +30 -0
  1155. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +30 -0
  1156. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +30 -0
  1157. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +30 -0
  1158. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +34 -0
  1159. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +36 -0
  1160. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +75 -0
  1161. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +242 -0
  1162. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +50 -0
  1163. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +50 -0
  1164. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +30 -0
  1165. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +49 -0
  1166. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +7 -0
  1167. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +70 -0
  1168. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +31 -0
  1169. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +30 -0
  1170. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +73 -0
  1171. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +28 -0
  1172. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +16 -0
  1173. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +16 -0
  1174. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +16 -0
  1175. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +16 -0
  1176. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +16 -0
  1177. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +16 -0
  1178. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +16 -0
  1179. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +16 -0
  1180. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +141 -0
  1181. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +9 -0
  1182. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +30 -0
  1183. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +34 -0
  1184. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +41 -0
  1185. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +62 -0
  1186. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +87 -0
  1187. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +151 -0
  1188. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +105 -0
  1189. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +30 -0
  1190. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +30 -0
  1191. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +34 -0
  1192. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
  1193. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +34 -0
  1194. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +30 -0
  1195. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +34 -0
  1196. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +30 -0
  1197. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +33 -0
  1198. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +30 -0
  1199. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +43 -0
  1200. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +47 -0
  1201. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +69 -0
  1202. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +30 -0
  1203. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +31 -0
  1204. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +39 -0
  1205. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +30 -0
  1206. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +43 -0
  1207. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +30 -0
  1208. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +35 -0
  1209. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +31 -0
  1210. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +38 -0
  1211. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +17 -0
  1212. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +78 -0
  1213. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +34 -0
  1214. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +30 -0
  1215. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +37 -0
  1216. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
  1217. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +34 -0
  1218. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +30 -0
  1219. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +34 -0
  1220. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +13 -0
  1221. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +38 -0
  1222. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +34 -0
  1223. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +30 -0
  1224. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +38 -0
  1225. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +30 -0
  1226. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +52 -0
  1227. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
  1228. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +34 -0
  1229. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +17 -0
  1230. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +181 -0
  1231. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +203 -0
  1232. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +81 -0
  1233. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +291 -0
  1234. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +29 -0
  1235. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +72 -0
  1236. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +20 -0
  1237. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +48 -0
  1238. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +50 -0
  1239. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +222 -0
  1240. data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +25 -0
  1241. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser.php +18 -0
  1242. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +55 -0
  1243. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +2640 -0
  1244. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2475 -0
  1245. data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +146 -0
  1246. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1014 -0
  1247. data/helpers/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +44 -0
  1248. data/helpers/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +999 -0
  1249. data/helpers/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1430 -0
  1250. data/helpers/vendor/nikic/php-parser/phpunit.xml.dist +20 -0
  1251. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/ClassTest.php +153 -0
  1252. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/FunctionTest.php +114 -0
  1253. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/InterfaceTest.php +100 -0
  1254. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/MethodTest.php +162 -0
  1255. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/NamespaceTest.php +46 -0
  1256. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/ParamTest.php +166 -0
  1257. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/PropertyTest.php +147 -0
  1258. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php +91 -0
  1259. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseAdaptationTest.php +106 -0
  1260. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseTest.php +52 -0
  1261. data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/UseTest.php +36 -0
  1262. data/helpers/vendor/nikic/php-parser/test/PhpParser/BuilderFactoryTest.php +327 -0
  1263. data/helpers/vendor/nikic/php-parser/test/PhpParser/CodeParsingTest.php +119 -0
  1264. data/helpers/vendor/nikic/php-parser/test/PhpParser/CodeTestAbstract.php +26 -0
  1265. data/helpers/vendor/nikic/php-parser/test/PhpParser/CodeTestParser.php +68 -0
  1266. data/helpers/vendor/nikic/php-parser/test/PhpParser/CommentTest.php +74 -0
  1267. data/helpers/vendor/nikic/php-parser/test/PhpParser/ConstExprEvaluatorTest.php +130 -0
  1268. data/helpers/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/CollectingTest.php +23 -0
  1269. data/helpers/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/ThrowingTest.php +15 -0
  1270. data/helpers/vendor/nikic/php-parser/test/PhpParser/ErrorTest.php +104 -0
  1271. data/helpers/vendor/nikic/php-parser/test/PhpParser/Internal/DifferTest.php +65 -0
  1272. data/helpers/vendor/nikic/php-parser/test/PhpParser/JsonDecoderTest.php +43 -0
  1273. data/helpers/vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php +258 -0
  1274. data/helpers/vendor/nikic/php-parser/test/PhpParser/LexerTest.php +263 -0
  1275. data/helpers/vendor/nikic/php-parser/test/PhpParser/NameContextTest.php +65 -0
  1276. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/IdentifierTest.php +29 -0
  1277. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/NameTest.php +157 -0
  1278. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Scalar/MagicConstTest.php +26 -0
  1279. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Scalar/StringTest.php +61 -0
  1280. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassConstTest.php +34 -0
  1281. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassMethodTest.php +123 -0
  1282. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassTest.php +113 -0
  1283. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/InterfaceTest.php +44 -0
  1284. data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/PropertyTest.php +44 -0
  1285. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeAbstractTest.php +325 -0
  1286. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeDumperTest.php +106 -0
  1287. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeFinderTest.php +59 -0
  1288. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeTraverserTest.php +348 -0
  1289. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeVisitor/FindingVisitorTest.php +53 -0
  1290. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeVisitor/FirstFindingVisitorTest.php +38 -0
  1291. data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeVisitor/NameResolverTest.php +512 -0
  1292. data/helpers/vendor/nikic/php-parser/test/PhpParser/Parser/MultipleTest.php +94 -0
  1293. data/helpers/vendor/nikic/php-parser/test/PhpParser/Parser/Php5Test.php +13 -0
  1294. data/helpers/vendor/nikic/php-parser/test/PhpParser/Parser/Php7Test.php +13 -0
  1295. data/helpers/vendor/nikic/php-parser/test/PhpParser/ParserFactoryTest.php +36 -0
  1296. data/helpers/vendor/nikic/php-parser/test/PhpParser/ParserTest.php +183 -0
  1297. data/helpers/vendor/nikic/php-parser/test/PhpParser/PrettyPrinterTest.php +307 -0
  1298. data/helpers/vendor/nikic/php-parser/test/bootstrap.php +31 -0
  1299. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/addingPropertyType.test +39 -0
  1300. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/anonClasses.test +28 -0
  1301. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/array_spread.test +29 -0
  1302. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/arrow_function.test +97 -0
  1303. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/basic.test +190 -0
  1304. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/blockConversion.test +29 -0
  1305. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/comments.test +52 -0
  1306. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/emptyListInsertion.test +110 -0
  1307. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/fixup.test +67 -0
  1308. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/inlineHtml.test +54 -0
  1309. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/insertionOfNullable.test +176 -0
  1310. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/listInsertion.test +309 -0
  1311. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/listInsertionIndentation.test +17 -0
  1312. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/listRemoval.test +41 -0
  1313. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/modifierChange.test +33 -0
  1314. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/nopCommentAtEnd.test +11 -0
  1315. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/removalViaNull.test +194 -0
  1316. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/removingPropertyType.test +22 -0
  1317. data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/traitAlias.test +19 -0
  1318. data/helpers/vendor/nikic/php-parser/test/code/parser/blockComments.test +36 -0
  1319. data/helpers/vendor/nikic/php-parser/test/code/parser/commentAtEndOfClass.test +38 -0
  1320. data/helpers/vendor/nikic/php-parser/test/code/parser/comments.test +108 -0
  1321. data/helpers/vendor/nikic/php-parser/test/code/parser/errorHandling/eofError.test +36 -0
  1322. data/helpers/vendor/nikic/php-parser/test/code/parser/errorHandling/lexerErrors.test +143 -0
  1323. data/helpers/vendor/nikic/php-parser/test/code/parser/errorHandling/recovery.test +1417 -0
  1324. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arrayDef.test +173 -0
  1325. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arrayDestructuring.test +164 -0
  1326. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arraySpread.test +432 -0
  1327. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arrow_function.test +145 -0
  1328. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/assign.test +381 -0
  1329. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/assignNewByRef.test +43 -0
  1330. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/cast.test +94 -0
  1331. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/clone.test +15 -0
  1332. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/closure.test +176 -0
  1333. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/comparison.test +129 -0
  1334. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/constant_expr.test +694 -0
  1335. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/errorSuppress.test +14 -0
  1336. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/exit.test +46 -0
  1337. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/args.test +109 -0
  1338. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constFetch.test +43 -0
  1339. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test +265 -0
  1340. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/funcCall.test +158 -0
  1341. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/newDeref.test +82 -0
  1342. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/objectAccess.test +184 -0
  1343. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/simpleArrayAccess.test +72 -0
  1344. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/staticCall.test +214 -0
  1345. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/staticPropertyFetch.test +113 -0
  1346. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/includeAndEval.test +50 -0
  1347. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/issetAndEmpty.test +88 -0
  1348. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/listReferences.test +92 -0
  1349. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/listWithKeys.test +84 -0
  1350. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/logic.test +190 -0
  1351. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/math.test +313 -0
  1352. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/new.test +187 -0
  1353. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/newWithoutClass.test +25 -0
  1354. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/print.test +14 -0
  1355. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/shellExec.test +56 -0
  1356. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/ternaryAndCoalesce.test +174 -0
  1357. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/trailingCommas.test +140 -0
  1358. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/globalNonSimpleVarError.test +27 -0
  1359. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/indirectCall.test +511 -0
  1360. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/isset.test +87 -0
  1361. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/misc.test +129 -0
  1362. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/new.test +119 -0
  1363. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/staticProperty.test +123 -0
  1364. data/helpers/vendor/nikic/php-parser/test/code/parser/expr/variable.test +67 -0
  1365. data/helpers/vendor/nikic/php-parser/test/code/parser/nopPositions.test +13 -0
  1366. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/constantString.test +86 -0
  1367. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/docString.test +115 -0
  1368. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/docStringNewlines.test +77 -0
  1369. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/encapsedNegVarOffset.test +82 -0
  1370. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/encapsedString.test +344 -0
  1371. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocString.test +361 -0
  1372. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocStringErrors.test +117 -0
  1373. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/float.test +108 -0
  1374. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/int.test +61 -0
  1375. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/invalidOctal.test +26 -0
  1376. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/magicConst.test +47 -0
  1377. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/numberSeparators.test +199 -0
  1378. data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/unicodeEscape.test +26 -0
  1379. data/helpers/vendor/nikic/php-parser/test/code/parser/semiReserved.test +490 -0
  1380. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/blocklessStatement.test +130 -0
  1381. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/abstract.test +45 -0
  1382. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/anonymous.test +214 -0
  1383. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/conditional.test +35 -0
  1384. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/constModifierErrors.test +137 -0
  1385. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/constModifiers.test +77 -0
  1386. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/final.test +19 -0
  1387. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/implicitPublic.test +110 -0
  1388. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/interface.test +40 -0
  1389. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/modifier.test +254 -0
  1390. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/name.test +266 -0
  1391. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/php4Style.test +59 -0
  1392. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/propertyTypes.test +70 -0
  1393. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/simple.test +185 -0
  1394. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/staticMethod.test +175 -0
  1395. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/trait.test +188 -0
  1396. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/const.test +48 -0
  1397. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/controlFlow.test +59 -0
  1398. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/declare.test +70 -0
  1399. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/echo.test +32 -0
  1400. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/builtinTypeDeclarations.test +87 -0
  1401. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/byRef.test +49 -0
  1402. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/conditional.test +35 -0
  1403. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/defaultValues.test +173 -0
  1404. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/nullableTypes.test +55 -0
  1405. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/returnTypes.test +64 -0
  1406. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/specialVars.test +57 -0
  1407. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/typeDeclarations.test +63 -0
  1408. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/variadic.test +134 -0
  1409. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/variadicDefaultValue.test +31 -0
  1410. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/generator/basic.test +319 -0
  1411. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/generator/yieldPrecedence.test +253 -0
  1412. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/generator/yieldUnaryPrecedence.test +56 -0
  1413. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompiler.test +61 -0
  1414. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompilerInvalidSyntax.test +6 -0
  1415. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompilerOffset.test +36 -0
  1416. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompilerOutermostScope.test +8 -0
  1417. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/hashbang.test +26 -0
  1418. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/if.test +103 -0
  1419. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/inlineHTML.test +33 -0
  1420. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/do.test +17 -0
  1421. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/for.test +110 -0
  1422. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/foreach.test +168 -0
  1423. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/while.test +25 -0
  1424. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/multiCatch.test +75 -0
  1425. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/alias.test +178 -0
  1426. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/braced.test +46 -0
  1427. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/commentAfterNamespace.test +22 -0
  1428. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUse.test +188 -0
  1429. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUseErrors.test +113 -0
  1430. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUsePositions.test +28 -0
  1431. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUseTrailingComma.test +47 -0
  1432. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/invalidName.test +87 -0
  1433. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/mix.test +103 -0
  1434. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/name.test +50 -0
  1435. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/nested.test +30 -0
  1436. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/notBraced.test +49 -0
  1437. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/nsAfterHashbang.test +22 -0
  1438. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/outsideStmt.test +60 -0
  1439. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/outsideStmtInvalid.test +109 -0
  1440. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/switch.test +81 -0
  1441. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/tryCatch.test +144 -0
  1442. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/tryWithoutCatch.test +29 -0
  1443. data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/unset.test +26 -0
  1444. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/comments.test +67 -0
  1445. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/commentsInCommaList.test +53 -0
  1446. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/anonymousClass.test +27 -0
  1447. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/arrayDestructuring.test +14 -0
  1448. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/arraySpread.test +8 -0
  1449. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/arrow_function.test +18 -0
  1450. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/call.test +13 -0
  1451. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/closure.test +18 -0
  1452. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/constant_deref.test +13 -0
  1453. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/docStrings.test +86 -0
  1454. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/include.test +7 -0
  1455. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/intrinsics.test +29 -0
  1456. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/list.test +19 -0
  1457. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/literals.test +158 -0
  1458. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/numbers.test +35 -0
  1459. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/operators.test +151 -0
  1460. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/parentheses.test +86 -0
  1461. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/shortArraySyntax.test +11 -0
  1462. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/stringEscaping.test +23 -0
  1463. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/uvs.test +23 -0
  1464. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/variables.test +73 -0
  1465. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/yield.test +46 -0
  1466. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/inlineHTMLandPHPtest.file-test +58 -0
  1467. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/nestedInlineHTML.test +16 -0
  1468. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/onlyInlineHTML.file-test +19 -0
  1469. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/onlyPHP.file-test +16 -0
  1470. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/alias.test +20 -0
  1471. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/break_continue.test +13 -0
  1472. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/class.test +53 -0
  1473. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/class_const.test +20 -0
  1474. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/const.test +11 -0
  1475. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/declare.test +17 -0
  1476. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/do_while.test +10 -0
  1477. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/for.test +28 -0
  1478. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/foreach.test +28 -0
  1479. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/function_signatures.test +43 -0
  1480. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/global_static_variables.test +11 -0
  1481. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/goto.test +9 -0
  1482. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/groupUse.test +16 -0
  1483. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/haltCompiler.file-test +27 -0
  1484. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/if.test +16 -0
  1485. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/multiCatch.test +19 -0
  1486. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/namespaces.test +50 -0
  1487. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/nullable_types.test +11 -0
  1488. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/properties.test +20 -0
  1489. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/switch.test +37 -0
  1490. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/throw.test +7 -0
  1491. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/traitUse.test +25 -0
  1492. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/tryCatch.test +24 -0
  1493. data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/while.test +10 -0
  1494. data/helpers/vendor/nikic/php-parser/test/updateTests.php +32 -0
  1495. data/helpers/vendor/nikic/php-parser/test_old/run-php-src.sh +4 -0
  1496. data/helpers/vendor/nikic/php-parser/test_old/run.php +273 -0
  1497. data/helpers/vendor/ocramius/package-versions/CHANGELOG.md +120 -0
  1498. data/helpers/vendor/ocramius/package-versions/CONTRIBUTING.md +39 -0
  1499. data/helpers/vendor/ocramius/package-versions/LICENSE +19 -0
  1500. data/helpers/vendor/ocramius/package-versions/README.md +60 -0
  1501. data/helpers/vendor/ocramius/package-versions/composer.json +43 -0
  1502. data/helpers/vendor/ocramius/package-versions/composer.lock +2869 -0
  1503. data/helpers/vendor/ocramius/package-versions/infection.json.dist +11 -0
  1504. data/helpers/vendor/ocramius/package-versions/phpcs.xml.dist +21 -0
  1505. data/helpers/vendor/ocramius/package-versions/src/PackageVersions/FallbackVersions.php +88 -0
  1506. data/helpers/vendor/ocramius/package-versions/src/PackageVersions/Installer.php +201 -0
  1507. data/helpers/vendor/ocramius/package-versions/src/PackageVersions/Versions.php +76 -0
  1508. data/helpers/vendor/paragonie/random_compat/LICENSE +22 -0
  1509. data/helpers/vendor/paragonie/random_compat/build-phar.sh +5 -0
  1510. data/helpers/vendor/paragonie/random_compat/composer.json +34 -0
  1511. data/helpers/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey +5 -0
  1512. data/helpers/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc +11 -0
  1513. data/helpers/vendor/paragonie/random_compat/lib/random.php +32 -0
  1514. data/helpers/vendor/paragonie/random_compat/other/build_phar.php +57 -0
  1515. data/helpers/vendor/paragonie/random_compat/psalm-autoload.php +9 -0
  1516. data/helpers/vendor/paragonie/random_compat/psalm.xml +19 -0
  1517. data/helpers/vendor/php-cs-fixer/diff/ChangeLog.md +7 -0
  1518. data/helpers/vendor/php-cs-fixer/diff/LICENSE +5 -0
  1519. data/helpers/vendor/php-cs-fixer/diff/LICENSE_DIFF +31 -0
  1520. data/helpers/vendor/php-cs-fixer/diff/LICENSE_GECKO +19 -0
  1521. data/helpers/vendor/php-cs-fixer/diff/README.md +13 -0
  1522. data/helpers/vendor/php-cs-fixer/diff/composer.json +41 -0
  1523. data/helpers/vendor/php-cs-fixer/diff/src/GeckoPackages/DiffOutputBuilder/ConfigurationException.php +36 -0
  1524. data/helpers/vendor/php-cs-fixer/diff/src/GeckoPackages/DiffOutputBuilder/UnifiedDiffOutputBuilder.php +295 -0
  1525. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Chunk.php +103 -0
  1526. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Diff.php +73 -0
  1527. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Differ.php +399 -0
  1528. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/LCS/LongestCommonSubsequence.php +27 -0
  1529. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php +95 -0
  1530. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php +74 -0
  1531. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Line.php +54 -0
  1532. data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Parser.php +110 -0
  1533. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Chunk.php +78 -0
  1534. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Diff.php +67 -0
  1535. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Differ.php +321 -0
  1536. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Exception/Exception.php +15 -0
  1537. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Exception/InvalidArgumentException.php +15 -0
  1538. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Line.php +44 -0
  1539. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/LongestCommonSubsequenceCalculator.php +24 -0
  1540. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/MemoryEfficientLongestCommonSubsequenceCalculator.php +81 -0
  1541. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/AbstractChunkOutputBuilder.php +56 -0
  1542. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/DiffOnlyOutputBuilder.php +63 -0
  1543. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/DiffOutputBuilderInterface.php +19 -0
  1544. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/UnifiedDiffOutputBuilder.php +165 -0
  1545. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Parser.php +106 -0
  1546. data/helpers/vendor/php-cs-fixer/diff/src/v2_0/TimeEfficientLongestCommonSubsequenceCalculator.php +66 -0
  1547. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Chunk.php +78 -0
  1548. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Diff.php +67 -0
  1549. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Differ.php +329 -0
  1550. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Exception/ConfigurationException.php +40 -0
  1551. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Exception/Exception.php +15 -0
  1552. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Exception/InvalidArgumentException.php +15 -0
  1553. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Line.php +44 -0
  1554. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/LongestCommonSubsequenceCalculator.php +24 -0
  1555. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/MemoryEfficientLongestCommonSubsequenceCalculator.php +81 -0
  1556. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/AbstractChunkOutputBuilder.php +56 -0
  1557. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/DiffOnlyOutputBuilder.php +66 -0
  1558. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/DiffOutputBuilderInterface.php +20 -0
  1559. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/StrictUnifiedDiffOutputBuilder.php +315 -0
  1560. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/UnifiedDiffOutputBuilder.php +259 -0
  1561. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Parser.php +106 -0
  1562. data/helpers/vendor/php-cs-fixer/diff/src/v3_0/TimeEfficientLongestCommonSubsequenceCalculator.php +66 -0
  1563. data/helpers/vendor/phpstan/phpdoc-parser/build-abnfgen.sh +25 -0
  1564. data/helpers/vendor/phpstan/phpdoc-parser/composer.json +29 -0
  1565. data/helpers/vendor/phpstan/phpdoc-parser/doc/grammars/phpdoc-method.peg +41 -0
  1566. data/helpers/vendor/phpstan/phpdoc-parser/doc/grammars/phpdoc-param.peg +14 -0
  1567. data/helpers/vendor/phpstan/phpdoc-parser/doc/grammars/type.abnf +243 -0
  1568. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprArrayItemNode.php +31 -0
  1569. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprArrayNode.php +25 -0
  1570. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprFalseNode.php +13 -0
  1571. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprFloatNode.php +22 -0
  1572. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprIntegerNode.php +22 -0
  1573. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprNode.php +10 -0
  1574. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprNullNode.php +13 -0
  1575. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprStringNode.php +22 -0
  1576. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprTrueNode.php +13 -0
  1577. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstFetchNode.php +31 -0
  1578. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Node.php +10 -0
  1579. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/DeprecatedTagValueNode.php +22 -0
  1580. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/GenericTagValueNode.php +22 -0
  1581. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/InvalidTagValueNode.php +26 -0
  1582. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MethodTagValueNode.php +44 -0
  1583. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MethodTagValueParameterNode.php +46 -0
  1584. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamTagValueNode.php +37 -0
  1585. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocChildNode.php +10 -0
  1586. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php +190 -0
  1587. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTagNode.php +26 -0
  1588. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTagValueNode.php +10 -0
  1589. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTextNode.php +22 -0
  1590. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PropertyTagValueNode.php +32 -0
  1591. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ReturnTagValueNode.php +28 -0
  1592. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/TemplateTagValueNode.php +32 -0
  1593. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ThrowsTagValueNode.php +28 -0
  1594. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/VarTagValueNode.php +32 -0
  1595. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayShapeItemNode.php +44 -0
  1596. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayShapeNode.php +22 -0
  1597. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayTypeNode.php +22 -0
  1598. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/CallableTypeNode.php +31 -0
  1599. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/CallableTypeParameterNode.php +44 -0
  1600. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/GenericTypeNode.php +26 -0
  1601. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/IdentifierTypeNode.php +22 -0
  1602. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/IntersectionTypeNode.php +22 -0
  1603. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/NullableTypeNode.php +22 -0
  1604. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ThisTypeNode.php +13 -0
  1605. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/TypeNode.php +10 -0
  1606. data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/UnionTypeNode.php +22 -0
  1607. data/helpers/vendor/phpstan/phpdoc-parser/src/Lexer/Lexer.php +164 -0
  1608. data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/ConstExprParser.php +97 -0
  1609. data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/ParserException.php +69 -0
  1610. data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php +333 -0
  1611. data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/TokenIterator.php +191 -0
  1612. data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/TypeParser.php +272 -0
  1613. data/helpers/vendor/phpstan/phpstan/.editorconfig +27 -0
  1614. data/helpers/vendor/phpstan/phpstan/.gitattributes +2 -0
  1615. data/helpers/vendor/phpstan/phpstan/.github/FUNDING.yml +4 -0
  1616. data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Bug_report.md +18 -0
  1617. data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Feature_request.md +8 -0
  1618. data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Function_signature_mismatch.md +6 -0
  1619. data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Support_question.md +8 -0
  1620. data/helpers/vendor/phpstan/phpstan/.github/mergeable.yml +20 -0
  1621. data/helpers/vendor/phpstan/phpstan/.gitignore +6 -0
  1622. data/helpers/vendor/phpstan/phpstan/.travis.yml +64 -0
  1623. data/helpers/vendor/phpstan/phpstan/BACKERS.md +65 -0
  1624. data/helpers/vendor/phpstan/phpstan/CODE_OF_CONDUCT.md +74 -0
  1625. data/helpers/vendor/phpstan/phpstan/LICENSE +21 -0
  1626. data/helpers/vendor/phpstan/phpstan/README.md +740 -0
  1627. data/helpers/vendor/phpstan/phpstan/appveyor.yml +70 -0
  1628. data/helpers/vendor/phpstan/phpstan/bin/phpstan +57 -0
  1629. data/helpers/vendor/phpstan/phpstan/build.xml +250 -0
  1630. data/helpers/vendor/phpstan/phpstan/composer.json +75 -0
  1631. data/helpers/vendor/phpstan/phpstan/conf/bleedingEdge.neon +13 -0
  1632. data/helpers/vendor/phpstan/phpstan/conf/config.level0.neon +170 -0
  1633. data/helpers/vendor/phpstan/phpstan/conf/config.level1.neon +11 -0
  1634. data/helpers/vendor/phpstan/phpstan/conf/config.level2.neon +45 -0
  1635. data/helpers/vendor/phpstan/phpstan/conf/config.level3.neon +78 -0
  1636. data/helpers/vendor/phpstan/phpstan/conf/config.level4.neon +88 -0
  1637. data/helpers/vendor/phpstan/phpstan/conf/config.level5.neon +6 -0
  1638. data/helpers/vendor/phpstan/phpstan/conf/config.level6.neon +6 -0
  1639. data/helpers/vendor/phpstan/phpstan/conf/config.level7.neon +5 -0
  1640. data/helpers/vendor/phpstan/phpstan/conf/config.levelmax.neon +2 -0
  1641. data/helpers/vendor/phpstan/phpstan/conf/config.neon +759 -0
  1642. data/helpers/vendor/phpstan/phpstan/phpcs.xml +72 -0
  1643. data/helpers/vendor/phpstan/phpstan/phpstan-baseline.neon +85 -0
  1644. data/helpers/vendor/phpstan/phpstan/src/AnalysedCodeException.php +8 -0
  1645. data/helpers/vendor/phpstan/phpstan/src/Analyser/Analyser.php +409 -0
  1646. data/helpers/vendor/phpstan/phpstan/src/Analyser/EnsuredNonNullabilityResult.php +37 -0
  1647. data/helpers/vendor/phpstan/phpstan/src/Analyser/EnsuredNonNullabilityResultExpression.php +33 -0
  1648. data/helpers/vendor/phpstan/phpstan/src/Analyser/Error.php +77 -0
  1649. data/helpers/vendor/phpstan/phpstan/src/Analyser/ExpressionContext.php +69 -0
  1650. data/helpers/vendor/phpstan/phpstan/src/Analyser/ExpressionResult.php +85 -0
  1651. data/helpers/vendor/phpstan/phpstan/src/Analyser/IgnoredError.php +69 -0
  1652. data/helpers/vendor/phpstan/phpstan/src/Analyser/NameScope.php +57 -0
  1653. data/helpers/vendor/phpstan/phpstan/src/Analyser/NodeScopeResolver.php +2533 -0
  1654. data/helpers/vendor/phpstan/phpstan/src/Analyser/OutOfClassScope.php +39 -0
  1655. data/helpers/vendor/phpstan/phpstan/src/Analyser/Scope.php +3210 -0
  1656. data/helpers/vendor/phpstan/phpstan/src/Analyser/ScopeContext.php +103 -0
  1657. data/helpers/vendor/phpstan/phpstan/src/Analyser/ScopeFactory.php +107 -0
  1658. data/helpers/vendor/phpstan/phpstan/src/Analyser/SpecifiedTypes.php +116 -0
  1659. data/helpers/vendor/phpstan/phpstan/src/Analyser/StatementExitPoint.php +32 -0
  1660. data/helpers/vendor/phpstan/phpstan/src/Analyser/StatementResult.php +101 -0
  1661. data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifier.php +660 -0
  1662. data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifierAwareExtension.php +10 -0
  1663. data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifierContext.php +90 -0
  1664. data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifierFactory.php +52 -0
  1665. data/helpers/vendor/phpstan/phpstan/src/Analyser/UndefinedVariableException.php +31 -0
  1666. data/helpers/vendor/phpstan/phpstan/src/Analyser/VariableTypeHolder.php +60 -0
  1667. data/helpers/vendor/phpstan/phpstan/src/Broker/AnonymousClassNameHelper.php +45 -0
  1668. data/helpers/vendor/phpstan/phpstan/src/Broker/Broker.php +613 -0
  1669. data/helpers/vendor/phpstan/phpstan/src/Broker/BrokerFactory.php +62 -0
  1670. data/helpers/vendor/phpstan/phpstan/src/Broker/ClassAutoloadingException.php +38 -0
  1671. data/helpers/vendor/phpstan/phpstan/src/Broker/ClassNotFoundException.php +22 -0
  1672. data/helpers/vendor/phpstan/phpstan/src/Broker/FunctionNotFoundException.php +22 -0
  1673. data/helpers/vendor/phpstan/phpstan/src/Cache/Cache.php +35 -0
  1674. data/helpers/vendor/phpstan/phpstan/src/Cache/CacheStorage.php +21 -0
  1675. data/helpers/vendor/phpstan/phpstan/src/Cache/FileCacheStorage.php +51 -0
  1676. data/helpers/vendor/phpstan/phpstan/src/Cache/MemoryCacheStorage.php +31 -0
  1677. data/helpers/vendor/phpstan/phpstan/src/Command/AnalyseApplication.php +161 -0
  1678. data/helpers/vendor/phpstan/phpstan/src/Command/AnalyseCommand.php +141 -0
  1679. data/helpers/vendor/phpstan/phpstan/src/Command/AnalysisResult.php +118 -0
  1680. data/helpers/vendor/phpstan/phpstan/src/Command/CommandHelper.php +407 -0
  1681. data/helpers/vendor/phpstan/phpstan/src/Command/DumpDependenciesCommand.php +99 -0
  1682. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/BaselineNeonErrorFormatter.php +75 -0
  1683. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/CheckstyleErrorFormatter.php +102 -0
  1684. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/ErrorFormatter.php +22 -0
  1685. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/GitlabErrorFormatter.php +67 -0
  1686. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/JsonErrorFormatter.php +59 -0
  1687. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/RawErrorFormatter.php +38 -0
  1688. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/TableErrorFormatter.php +107 -0
  1689. data/helpers/vendor/phpstan/phpstan/src/Command/ErrorsConsoleStyle.php +116 -0
  1690. data/helpers/vendor/phpstan/phpstan/src/Command/InceptionNotSuccessfulException.php +8 -0
  1691. data/helpers/vendor/phpstan/phpstan/src/Command/InceptionResult.php +111 -0
  1692. data/helpers/vendor/phpstan/phpstan/src/Dependency/DependencyDumper.php +143 -0
  1693. data/helpers/vendor/phpstan/phpstan/src/Dependency/DependencyResolver.php +256 -0
  1694. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/ConditionalTagsExtension.php +55 -0
  1695. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/Configurator.php +33 -0
  1696. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/Container.php +32 -0
  1697. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/ContainerFactory.php +102 -0
  1698. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/LoaderFactory.php +38 -0
  1699. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/Nette/NetteContainer.php +65 -0
  1700. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/ParametersSchemaExtension.php +94 -0
  1701. data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/RulesExtension.php +30 -0
  1702. data/helpers/vendor/phpstan/phpstan/src/File/FileExcluder.php +69 -0
  1703. data/helpers/vendor/phpstan/phpstan/src/File/FileFinder.php +65 -0
  1704. data/helpers/vendor/phpstan/phpstan/src/File/FileFinderResult.php +37 -0
  1705. data/helpers/vendor/phpstan/phpstan/src/File/FileHelper.php +77 -0
  1706. data/helpers/vendor/phpstan/phpstan/src/File/FuzzyRelativePathHelper.php +105 -0
  1707. data/helpers/vendor/phpstan/phpstan/src/File/PathNotFoundException.php +22 -0
  1708. data/helpers/vendor/phpstan/phpstan/src/File/RelativePathHelper.php +10 -0
  1709. data/helpers/vendor/phpstan/phpstan/src/File/SimpleRelativePathHelper.php +25 -0
  1710. data/helpers/vendor/phpstan/phpstan/src/Internal/ContainerDynamicReturnTypeExtension.php +52 -0
  1711. data/helpers/vendor/phpstan/phpstan/src/Internal/ScopeIsInClassTypeSpecifyingExtension.php +85 -0
  1712. data/helpers/vendor/phpstan/phpstan/src/Internal/UnionTypeGetInternalDynamicReturnTypeExtension.php +40 -0
  1713. data/helpers/vendor/phpstan/phpstan/src/Node/ClosureReturnStatementsNode.php +66 -0
  1714. data/helpers/vendor/phpstan/phpstan/src/Node/ExecutionEndNode.php +58 -0
  1715. data/helpers/vendor/phpstan/phpstan/src/Node/FileNode.php +41 -0
  1716. data/helpers/vendor/phpstan/phpstan/src/Node/FunctionReturnStatementsNode.php +57 -0
  1717. data/helpers/vendor/phpstan/phpstan/src/Node/InArrowFunctionNode.php +35 -0
  1718. data/helpers/vendor/phpstan/phpstan/src/Node/InClassMethodNode.php +32 -0
  1719. data/helpers/vendor/phpstan/phpstan/src/Node/LiteralArrayItem.php +33 -0
  1720. data/helpers/vendor/phpstan/phpstan/src/Node/LiteralArrayNode.php +42 -0
  1721. data/helpers/vendor/phpstan/phpstan/src/Node/MethodReturnStatementsNode.php +57 -0
  1722. data/helpers/vendor/phpstan/phpstan/src/Node/ReturnStatement.php +33 -0
  1723. data/helpers/vendor/phpstan/phpstan/src/Node/UnreachableStatementNode.php +34 -0
  1724. data/helpers/vendor/phpstan/phpstan/src/Node/VirtualNode.php +10 -0
  1725. data/helpers/vendor/phpstan/phpstan/src/Parser/CachedParser.php +120 -0
  1726. data/helpers/vendor/phpstan/phpstan/src/Parser/DirectParser.php +53 -0
  1727. data/helpers/vendor/phpstan/phpstan/src/Parser/FunctionCallStatementFinder.php +45 -0
  1728. data/helpers/vendor/phpstan/phpstan/src/Parser/Parser.php +20 -0
  1729. data/helpers/vendor/phpstan/phpstan/src/Parser/ParserErrorsException.php +32 -0
  1730. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/PhpDocBlock.php +270 -0
  1731. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/PhpDocNodeResolver.php +248 -0
  1732. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/PhpDocStringResolver.php +38 -0
  1733. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/ResolvedPhpDocBlock.php +206 -0
  1734. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/DeprecatedTag.php +32 -0
  1735. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/MethodTag.php +66 -0
  1736. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/MethodTagParameter.php +70 -0
  1737. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/ParamTag.php +44 -0
  1738. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/PropertyTag.php +58 -0
  1739. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/ReturnTag.php +34 -0
  1740. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/ThrowsTag.php +34 -0
  1741. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/VarTag.php +34 -0
  1742. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolver.php +415 -0
  1743. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolverAwareExtension.php +10 -0
  1744. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolverExtension.php +16 -0
  1745. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolverFactory.php +27 -0
  1746. data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeStringResolver.php +39 -0
  1747. data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationMethodReflection.php +107 -0
  1748. data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationPropertyReflection.php +72 -0
  1749. data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationsMethodParameterReflection.php +61 -0
  1750. data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationsMethodsClassReflectionExtension.php +113 -0
  1751. data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationsPropertiesClassReflectionExtension.php +86 -0
  1752. data/helpers/vendor/phpstan/phpstan/src/Reflection/BrokerAwareClassReflectionExtension.php +11 -0
  1753. data/helpers/vendor/phpstan/phpstan/src/Reflection/BrokerAwareExtension.php +12 -0
  1754. data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassConstantReflection.php +90 -0
  1755. data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassMemberAccessAnswerer.php +18 -0
  1756. data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassMemberReflection.php +16 -0
  1757. data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassReflection.php +507 -0
  1758. data/helpers/vendor/phpstan/phpstan/src/Reflection/ConstantReflection.php +15 -0
  1759. data/helpers/vendor/phpstan/phpstan/src/Reflection/DeprecatableReflection.php +10 -0
  1760. data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyConstantReflection.php +56 -0
  1761. data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyConstructorReflection.php +63 -0
  1762. data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyMethodReflection.php +64 -0
  1763. data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyPropertyReflection.php +51 -0
  1764. data/helpers/vendor/phpstan/phpstan/src/Reflection/ExtendedPropertyReflection.php +14 -0
  1765. data/helpers/vendor/phpstan/phpstan/src/Reflection/FinalizableReflection.php +10 -0
  1766. data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionReflection.php +15 -0
  1767. data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionReflectionFactory.php +35 -0
  1768. data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionVariant.php +53 -0
  1769. data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionVariantWithPhpDocs.php +61 -0
  1770. data/helpers/vendor/phpstan/phpstan/src/Reflection/InaccessibleMethod.php +42 -0
  1771. data/helpers/vendor/phpstan/phpstan/src/Reflection/InternableReflection.php +10 -0
  1772. data/helpers/vendor/phpstan/phpstan/src/Reflection/MethodPrototypeReflection.php +63 -0
  1773. data/helpers/vendor/phpstan/phpstan/src/Reflection/MethodReflection.php +17 -0
  1774. data/helpers/vendor/phpstan/phpstan/src/Reflection/MethodsClassReflectionExtension.php +12 -0
  1775. data/helpers/vendor/phpstan/phpstan/src/Reflection/MissingConstantFromReflectionException.php +26 -0
  1776. data/helpers/vendor/phpstan/phpstan/src/Reflection/MissingMethodFromReflectionException.php +26 -0
  1777. data/helpers/vendor/phpstan/phpstan/src/Reflection/MissingPropertyFromReflectionException.php +26 -0
  1778. data/helpers/vendor/phpstan/phpstan/src/Reflection/Native/NativeFunctionReflection.php +73 -0
  1779. data/helpers/vendor/phpstan/phpstan/src/Reflection/Native/NativeMethodReflection.php +120 -0
  1780. data/helpers/vendor/phpstan/phpstan/src/Reflection/Native/NativeParameterReflection.php +89 -0
  1781. data/helpers/vendor/phpstan/phpstan/src/Reflection/ParameterReflection.php +20 -0
  1782. data/helpers/vendor/phpstan/phpstan/src/Reflection/ParameterReflectionWithPhpDocs.php +14 -0
  1783. data/helpers/vendor/phpstan/phpstan/src/Reflection/ParametersAcceptor.php +25 -0
  1784. data/helpers/vendor/phpstan/phpstan/src/Reflection/ParametersAcceptorSelector.php +247 -0
  1785. data/helpers/vendor/phpstan/phpstan/src/Reflection/ParametersAcceptorWithPhpDocs.php +19 -0
  1786. data/helpers/vendor/phpstan/phpstan/src/Reflection/PassedByReference.php +87 -0
  1787. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/BuiltinMethodReflection.php +57 -0
  1788. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/DummyParameter.php +63 -0
  1789. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/FakeBuiltinMethodReflection.php +123 -0
  1790. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/NativeBuiltinMethodReflection.php +116 -0
  1791. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpClassReflectionExtension.php +714 -0
  1792. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpFunctionFromParserNodeReflection.php +214 -0
  1793. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpFunctionReflection.php +268 -0
  1794. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpMethodFromParserNodeReflection.php +128 -0
  1795. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpMethodReflection.php +439 -0
  1796. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpMethodReflectionFactory.php +38 -0
  1797. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpParameterFromParserNodeReflection.php +106 -0
  1798. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpParameterReflection.php +95 -0
  1799. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpPropertyReflection.php +168 -0
  1800. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/SimpleXMLElementProperty.php +83 -0
  1801. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/UniversalObjectCrateProperty.php +61 -0
  1802. data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/UniversalObjectCratesClassReflectionExtension.php +81 -0
  1803. data/helpers/vendor/phpstan/phpstan/src/Reflection/PhpDefect/PhpDefectClassReflectionExtension.php +241 -0
  1804. data/helpers/vendor/phpstan/phpstan/src/Reflection/PhpDefect/PhpDefectPropertyReflection.php +62 -0
  1805. data/helpers/vendor/phpstan/phpstan/src/Reflection/PropertiesClassReflectionExtension.php +12 -0
  1806. data/helpers/vendor/phpstan/phpstan/src/Reflection/PropertyReflection.php +16 -0
  1807. data/helpers/vendor/phpstan/phpstan/src/Reflection/ReflectionWithFilename.php +13 -0
  1808. data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/FunctionSignature.php +53 -0
  1809. data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/ParameterSignature.php +66 -0
  1810. data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/SignatureMapParser.php +127 -0
  1811. data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/SignatureMapProvider.php +82 -0
  1812. data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/functionMap.php +13797 -0
  1813. data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/functionMap_php74delta.php +53 -0
  1814. data/helpers/vendor/phpstan/phpstan/src/Reflection/ThrowableReflection.php +12 -0
  1815. data/helpers/vendor/phpstan/phpstan/src/Reflection/TrivialParametersAcceptor.php +29 -0
  1816. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/AllowedArrayKeysTypes.php +27 -0
  1817. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/AppendedArrayItemTypeRule.php +93 -0
  1818. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/AppendedArrayKeyTypeRule.php +94 -0
  1819. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/DeadForeachRule.php +38 -0
  1820. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/DuplicateKeysInLiteralArraysRule.php +85 -0
  1821. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php +57 -0
  1822. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/InvalidKeyInArrayItemRule.php +51 -0
  1823. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/IterableInForeachRule.php +61 -0
  1824. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/NonexistentOffsetInArrayDimFetchRule.php +140 -0
  1825. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/OffsetAccessAssignOpRule.php +95 -0
  1826. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/OffsetAccessAssignmentRule.php +89 -0
  1827. data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/OffsetAccessWithoutDimForReadingRule.php +33 -0
  1828. data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/EchoRule.php +63 -0
  1829. data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/InvalidCastRule.php +100 -0
  1830. data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/InvalidPartOfEncapsedStringRule.php +76 -0
  1831. data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/PrintRule.php +57 -0
  1832. data/helpers/vendor/phpstan/phpstan/src/Rules/ClassCaseSensitivityCheck.php +62 -0
  1833. data/helpers/vendor/phpstan/phpstan/src/Rules/ClassNameNodePair.php +32 -0
  1834. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ClassConstantDeclarationRule.php +36 -0
  1835. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ClassConstantRule.php +165 -0
  1836. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassInClassExtendsRule.php +40 -0
  1837. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassInInstanceOfRule.php +82 -0
  1838. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassInTraitUseRule.php +41 -0
  1839. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassesInClassImplementsRule.php +41 -0
  1840. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassesInInterfaceExtendsRule.php +41 -0
  1841. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ImpossibleInstanceOfRule.php +69 -0
  1842. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/InstantiationRule.php +219 -0
  1843. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/NewStaticRule.php +68 -0
  1844. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/RequireParentConstructCallRule.php +147 -0
  1845. data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/UnusedConstructorParametersRule.php +65 -0
  1846. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/BooleanAndConstantConditionRule.php +70 -0
  1847. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/BooleanNotConstantConditionRule.php +50 -0
  1848. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/BooleanOrConstantConditionRule.php +70 -0
  1849. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ConstantConditionRuleHelper.php +70 -0
  1850. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ElseIfConstantConditionRule.php +50 -0
  1851. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/IfConstantConditionRule.php +50 -0
  1852. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeFunctionCallRule.php +68 -0
  1853. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeHelper.php +245 -0
  1854. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeMethodCallRule.php +84 -0
  1855. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeStaticMethodCallRule.php +99 -0
  1856. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/StrictComparisonOfDifferentTypesRule.php +85 -0
  1857. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/TernaryOperatorConstantConditionRule.php +48 -0
  1858. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/UnreachableIfBranchesRule.php +57 -0
  1859. data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/UnreachableTernaryElseBranchRule.php +52 -0
  1860. data/helpers/vendor/phpstan/phpstan/src/Rules/Constants/ConstantRule.php +35 -0
  1861. data/helpers/vendor/phpstan/phpstan/src/Rules/DeadCode/NoopRule.php +65 -0
  1862. data/helpers/vendor/phpstan/phpstan/src/Rules/DeadCode/UnreachableStatementRule.php +34 -0
  1863. data/helpers/vendor/phpstan/phpstan/src/Rules/Exceptions/CaughtExceptionExistenceRule.php +75 -0
  1864. data/helpers/vendor/phpstan/phpstan/src/Rules/Exceptions/DeadCatchRule.php +56 -0
  1865. data/helpers/vendor/phpstan/phpstan/src/Rules/FileRuleError.php +10 -0
  1866. data/helpers/vendor/phpstan/phpstan/src/Rules/FoundTypeResult.php +56 -0
  1867. data/helpers/vendor/phpstan/phpstan/src/Rules/FunctionCallParametersCheck.php +192 -0
  1868. data/helpers/vendor/phpstan/phpstan/src/Rules/FunctionDefinitionCheck.php +323 -0
  1869. data/helpers/vendor/phpstan/phpstan/src/Rules/FunctionReturnTypeCheck.php +88 -0
  1870. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ArrowFunctionReturnTypeRule.php +53 -0
  1871. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/CallCallablesRule.php +131 -0
  1872. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/CallToFunctionParametersRule.php +71 -0
  1873. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/CallToNonExistentFunctionRule.php +65 -0
  1874. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ClosureReturnTypeRule.php +53 -0
  1875. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ExistingClassesInArrowFunctionTypehintsRule.php +41 -0
  1876. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ExistingClassesInClosureTypehintsRule.php +42 -0
  1877. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ExistingClassesInTypehintsRule.php +47 -0
  1878. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/IncompatibleDefaultParameterTypeRule.php +83 -0
  1879. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/InnerFunctionRule.php +33 -0
  1880. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/NonExistentDefinedFunctionRule.php +51 -0
  1881. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/PrintfParametersRule.php +128 -0
  1882. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ReturnTypeRule.php +77 -0
  1883. data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/UnusedClosureUsesRule.php +49 -0
  1884. data/helpers/vendor/phpstan/phpstan/src/Rules/Generators/YieldFromTypeRule.php +94 -0
  1885. data/helpers/vendor/phpstan/phpstan/src/Rules/Generators/YieldInGeneratorRule.php +75 -0
  1886. data/helpers/vendor/phpstan/phpstan/src/Rules/Generators/YieldTypeRule.php +85 -0
  1887. data/helpers/vendor/phpstan/phpstan/src/Rules/LineRuleError.php +10 -0
  1888. data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/CallMethodsRule.php +171 -0
  1889. data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/CallStaticMethodsRule.php +279 -0
  1890. data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/ExistingClassesInTypehintsRule.php +59 -0
  1891. data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/IncompatibleDefaultParameterTypeRule.php +70 -0
  1892. data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/MethodSignatureRule.php +188 -0
  1893. data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/ReturnTypeRule.php +76 -0
  1894. data/helpers/vendor/phpstan/phpstan/src/Rules/Missing/MissingClosureNativeReturnTypehintRule.php +141 -0
  1895. data/helpers/vendor/phpstan/phpstan/src/Rules/Missing/MissingReturnRule.php +96 -0
  1896. data/helpers/vendor/phpstan/phpstan/src/Rules/Namespaces/ExistingNamesInGroupUseRule.php +129 -0
  1897. data/helpers/vendor/phpstan/phpstan/src/Rules/Namespaces/ExistingNamesInUseRule.php +130 -0
  1898. data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidBinaryOperationRule.php +119 -0
  1899. data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidComparisonOperationRule.php +114 -0
  1900. data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidIncDecOperationRule.php +77 -0
  1901. data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidUnaryOperationRule.php +44 -0
  1902. data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/IncompatiblePhpDocTypeRule.php +161 -0
  1903. data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/IncompatiblePropertyPhpDocTypeRule.php +76 -0
  1904. data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/InvalidPhpDocTagValueRule.php +76 -0
  1905. data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/InvalidPhpDocVarTagTypeRule.php +126 -0
  1906. data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/InvalidThrowsPhpDocValueRule.php +67 -0
  1907. data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/WrongVariableNameInVarTagRule.php +283 -0
  1908. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessPropertiesInAssignRule.php +39 -0
  1909. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessPropertiesRule.php +141 -0
  1910. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessStaticPropertiesInAssignRule.php +39 -0
  1911. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessStaticPropertiesRule.php +203 -0
  1912. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/DefaultValueTypesAssignedToPropertiesRule.php +70 -0
  1913. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/ExistingClassesInPropertiesRule.php +102 -0
  1914. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/PropertyDescriptor.php +26 -0
  1915. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/PropertyReflectionFinder.php +49 -0
  1916. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/ReadingWriteOnlyPropertiesRule.php +90 -0
  1917. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/TypesAssignedToPropertiesRule.php +94 -0
  1918. data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/WritingToReadOnlyPropertiesRule.php +96 -0
  1919. data/helpers/vendor/phpstan/phpstan/src/Rules/Regexp/RegularExpressionPatternRule.php +126 -0
  1920. data/helpers/vendor/phpstan/phpstan/src/Rules/Registry.php +46 -0
  1921. data/helpers/vendor/phpstan/phpstan/src/Rules/RegistryFactory.php +27 -0
  1922. data/helpers/vendor/phpstan/phpstan/src/Rules/Rule.php +23 -0
  1923. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleError.php +10 -0
  1924. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrorBuilder.php +63 -0
  1925. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessage.php +23 -0
  1926. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessageAndFile.php +32 -0
  1927. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessageAndLine.php +32 -0
  1928. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessageAndLineAndFile.php +42 -0
  1929. data/helpers/vendor/phpstan/phpstan/src/Rules/RuleLevelHelper.php +208 -0
  1930. data/helpers/vendor/phpstan/phpstan/src/Rules/TooWideTypehints/TooWideClosureReturnTypehintRule.php +70 -0
  1931. data/helpers/vendor/phpstan/phpstan/src/Rules/TooWideTypehints/TooWideFunctionReturnTypehintRule.php +77 -0
  1932. data/helpers/vendor/phpstan/phpstan/src/Rules/TooWideTypehints/TooWidePrivateMethodReturnTypehintRule.php +80 -0
  1933. data/helpers/vendor/phpstan/phpstan/src/Rules/UnusedFunctionParametersCheck.php +87 -0
  1934. data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/DefinedVariableInAnonymousFunctionUseRule.php +54 -0
  1935. data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/DefinedVariableRule.php +73 -0
  1936. data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/ThisVariableRule.php +57 -0
  1937. data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/ThrowTypeRule.php +63 -0
  1938. data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/VariableCertaintyInIssetRule.php +66 -0
  1939. data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/VariableCloningRule.php +68 -0
  1940. data/helpers/vendor/phpstan/phpstan/src/ShouldNotHappenException.php +13 -0
  1941. data/helpers/vendor/phpstan/phpstan/src/Testing/LevelsTestCase.php +134 -0
  1942. data/helpers/vendor/phpstan/phpstan/src/Testing/RuleTestCase.php +154 -0
  1943. data/helpers/vendor/phpstan/phpstan/src/Testing/TestCase.php +375 -0
  1944. data/helpers/vendor/phpstan/phpstan/src/TrinaryLogic.php +148 -0
  1945. data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/AccessoryType.php +10 -0
  1946. data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/HasMethodType.php +122 -0
  1947. data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/HasOffsetType.php +157 -0
  1948. data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/HasPropertyType.php +107 -0
  1949. data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/NonEmptyArrayType.php +161 -0
  1950. data/helpers/vendor/phpstan/phpstan/src/Type/ArrayType.php +349 -0
  1951. data/helpers/vendor/phpstan/phpstan/src/Type/BenevolentUnionType.php +45 -0
  1952. data/helpers/vendor/phpstan/phpstan/src/Type/BooleanType.php +98 -0
  1953. data/helpers/vendor/phpstan/phpstan/src/Type/CallableType.php +279 -0
  1954. data/helpers/vendor/phpstan/phpstan/src/Type/CallableTypeHelper.php +59 -0
  1955. data/helpers/vendor/phpstan/phpstan/src/Type/ClosureType.php +319 -0
  1956. data/helpers/vendor/phpstan/phpstan/src/Type/CommentHelper.php +20 -0
  1957. data/helpers/vendor/phpstan/phpstan/src/Type/CompoundType.php +14 -0
  1958. data/helpers/vendor/phpstan/phpstan/src/Type/CompoundTypeHelper.php +15 -0
  1959. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantArrayType.php +583 -0
  1960. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantArrayTypeAndMethod.php +76 -0
  1961. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantArrayTypeBuilder.php +111 -0
  1962. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantBooleanType.php +68 -0
  1963. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantFloatType.php +93 -0
  1964. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantIntegerType.php +61 -0
  1965. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantScalarToBooleanTrait.php +15 -0
  1966. data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantStringType.php +224 -0
  1967. data/helpers/vendor/phpstan/phpstan/src/Type/ConstantScalarType.php +13 -0
  1968. data/helpers/vendor/phpstan/phpstan/src/Type/ConstantType.php +10 -0
  1969. data/helpers/vendor/phpstan/phpstan/src/Type/DynamicFunctionReturnTypeExtension.php +16 -0
  1970. data/helpers/vendor/phpstan/phpstan/src/Type/DynamicMethodReturnTypeExtension.php +18 -0
  1971. data/helpers/vendor/phpstan/phpstan/src/Type/DynamicStaticMethodReturnTypeExtension.php +18 -0
  1972. data/helpers/vendor/phpstan/phpstan/src/Type/ErrorType.php +32 -0
  1973. data/helpers/vendor/phpstan/phpstan/src/Type/FileTypeMapper.php +320 -0
  1974. data/helpers/vendor/phpstan/phpstan/src/Type/FloatType.php +138 -0
  1975. data/helpers/vendor/phpstan/phpstan/src/Type/FunctionTypeSpecifyingExtension.php +18 -0
  1976. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateMixedType.php +192 -0
  1977. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateObjectType.php +198 -0
  1978. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateType.php +21 -0
  1979. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeArgumentStrategy.php +34 -0
  1980. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeFactory.php +28 -0
  1981. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeHelper.php +46 -0
  1982. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeMap.php +66 -0
  1983. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeParameterStrategy.php +38 -0
  1984. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeScope.php +37 -0
  1985. data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeStrategy.php +15 -0
  1986. data/helpers/vendor/phpstan/phpstan/src/Type/IntegerType.php +87 -0
  1987. data/helpers/vendor/phpstan/phpstan/src/Type/IntersectionType.php +441 -0
  1988. data/helpers/vendor/phpstan/phpstan/src/Type/IterableType.php +221 -0
  1989. data/helpers/vendor/phpstan/phpstan/src/Type/JustNullableTypeTrait.php +59 -0
  1990. data/helpers/vendor/phpstan/phpstan/src/Type/MethodTypeSpecifyingExtension.php +20 -0
  1991. data/helpers/vendor/phpstan/phpstan/src/Type/MixedType.php +300 -0
  1992. data/helpers/vendor/phpstan/phpstan/src/Type/NeverType.php +223 -0
  1993. data/helpers/vendor/phpstan/phpstan/src/Type/NonexistentParentClassType.php +115 -0
  1994. data/helpers/vendor/phpstan/phpstan/src/Type/NullType.php +146 -0
  1995. data/helpers/vendor/phpstan/phpstan/src/Type/ObjectType.php +730 -0
  1996. data/helpers/vendor/phpstan/phpstan/src/Type/ObjectWithoutClassType.php +164 -0
  1997. data/helpers/vendor/phpstan/phpstan/src/Type/OperatorTypeSpecifyingExtension.php +12 -0
  1998. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArgumentBasedFunctionReturnTypeExtension.php +67 -0
  1999. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayFillFunctionReturnTypeExtension.php +72 -0
  2000. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayFillKeysFunctionReturnTypeExtension.php +48 -0
  2001. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayFilterFunctionReturnTypeReturnTypeExtension.php +124 -0
  2002. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyDynamicReturnTypeExtension.php +41 -0
  2003. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyExistsFunctionTypeSpecifyingExtension.php +65 -0
  2004. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyFirstDynamicReturnTypeExtension.php +58 -0
  2005. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyLastDynamicReturnTypeExtension.php +58 -0
  2006. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeysFunctionDynamicReturnTypeExtension.php +45 -0
  2007. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayMapFunctionReturnTypeExtension.php +69 -0
  2008. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayMergeFunctionDynamicReturnTypeExtension.php +52 -0
  2009. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayPointerFunctionsDynamicReturnTypeExtension.php +72 -0
  2010. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayPopFunctionReturnTypeExtension.php +58 -0
  2011. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayReduceFunctionReturnTypeExtension.php +67 -0
  2012. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArraySearchFunctionDynamicReturnTypeExtension.php +165 -0
  2013. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayShiftFunctionReturnTypeExtension.php +58 -0
  2014. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArraySliceFunctionReturnTypeExtension.php +81 -0
  2015. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayValuesFunctionDynamicReturnTypeExtension.php +43 -0
  2016. data/helpers/vendor/phpstan/phpstan/src/Type/Php/AssertFunctionTypeSpecifyingExtension.php +36 -0
  2017. data/helpers/vendor/phpstan/phpstan/src/Type/Php/CountFunctionReturnTypeExtension.php +51 -0
  2018. data/helpers/vendor/phpstan/phpstan/src/Type/Php/CountFunctionTypeSpecifyingExtension.php +53 -0
  2019. data/helpers/vendor/phpstan/phpstan/src/Type/Php/CurlInitReturnTypeExtension.php +37 -0
  2020. data/helpers/vendor/phpstan/phpstan/src/Type/Php/DefineConstantTypeSpecifyingExtension.php +61 -0
  2021. data/helpers/vendor/phpstan/phpstan/src/Type/Php/DefinedConstantTypeSpecifyingExtension.php +62 -0
  2022. data/helpers/vendor/phpstan/phpstan/src/Type/Php/DioStatDynamicFunctionReturnTypeExtension.php +49 -0
  2023. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ExplodeFunctionDynamicReturnTypeExtension.php +52 -0
  2024. data/helpers/vendor/phpstan/phpstan/src/Type/Php/FilterVarDynamicReturnTypeExtension.php +80 -0
  2025. data/helpers/vendor/phpstan/phpstan/src/Type/Php/GetParentClassDynamicFunctionReturnTypeExtension.php +104 -0
  2026. data/helpers/vendor/phpstan/phpstan/src/Type/Php/GettimeofdayDynamicFunctionReturnTypeExtension.php +63 -0
  2027. data/helpers/vendor/phpstan/phpstan/src/Type/Php/HrtimeFunctionReturnTypeExtension.php +47 -0
  2028. data/helpers/vendor/phpstan/phpstan/src/Type/Php/InArrayFunctionTypeSpecifyingExtension.php +57 -0
  2029. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsAFunctionTypeSpecifyingExtension.php +81 -0
  2030. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsArrayFunctionTypeSpecifyingExtension.php +43 -0
  2031. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsBoolFunctionTypeSpecifyingExtension.php +42 -0
  2032. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsCallableFunctionTypeSpecifyingExtension.php +69 -0
  2033. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsCountableFunctionTypeSpecifyingExtension.php +52 -0
  2034. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsFloatFunctionTypeSpecifyingExtension.php +46 -0
  2035. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsIntFunctionTypeSpecifyingExtension.php +46 -0
  2036. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsIterableFunctionTypeSpecifyingExtension.php +43 -0
  2037. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsNullFunctionTypeSpecifyingExtension.php +42 -0
  2038. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsNumericFunctionTypeSpecifyingExtension.php +54 -0
  2039. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsObjectFunctionTypeSpecifyingExtension.php +42 -0
  2040. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsResourceFunctionTypeSpecifyingExtension.php +42 -0
  2041. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsScalarFunctionTypeSpecifyingExtension.php +51 -0
  2042. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsStringFunctionTypeSpecifyingExtension.php +42 -0
  2043. data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsSubclassOfFunctionTypeSpecifyingExtension.php +85 -0
  2044. data/helpers/vendor/phpstan/phpstan/src/Type/Php/JsonThrowOnErrorDynamicReturnTypeExtension.php +62 -0
  2045. data/helpers/vendor/phpstan/phpstan/src/Type/Php/MbFunctionsReturnTypeExtension.php +87 -0
  2046. data/helpers/vendor/phpstan/phpstan/src/Type/Php/MethodExistsTypeSpecifyingExtension.php +62 -0
  2047. data/helpers/vendor/phpstan/phpstan/src/Type/Php/MicrotimeFunctionReturnTypeExtension.php +48 -0
  2048. data/helpers/vendor/phpstan/phpstan/src/Type/Php/MinMaxFunctionReturnTypeExtension.php +183 -0
  2049. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ParseUrlFunctionDynamicReturnTypeExtension.php +137 -0
  2050. data/helpers/vendor/phpstan/phpstan/src/Type/Php/PathinfoFunctionDynamicReturnTypeExtension.php +54 -0
  2051. data/helpers/vendor/phpstan/phpstan/src/Type/Php/PropertyExistsTypeSpecifyingExtension.php +62 -0
  2052. data/helpers/vendor/phpstan/phpstan/src/Type/Php/RangeFunctionReturnTypeExtension.php +106 -0
  2053. data/helpers/vendor/phpstan/phpstan/src/Type/Php/ReplaceFunctionsDynamicReturnTypeExtension.php +86 -0
  2054. data/helpers/vendor/phpstan/phpstan/src/Type/Php/SimpleXMLElementClassPropertyReflectionExtension.php +25 -0
  2055. data/helpers/vendor/phpstan/phpstan/src/Type/Php/SprintfFunctionDynamicReturnTypeExtension.php +47 -0
  2056. data/helpers/vendor/phpstan/phpstan/src/Type/Php/StatDynamicReturnTypeExtension.php +76 -0
  2057. data/helpers/vendor/phpstan/phpstan/src/Type/Php/StrSplitFunctionReturnTypeExtension.php +84 -0
  2058. data/helpers/vendor/phpstan/phpstan/src/Type/Php/StrtotimeFunctionReturnTypeExtension.php +45 -0
  2059. data/helpers/vendor/phpstan/phpstan/src/Type/Php/TypeSpecifyingFunctionsDynamicReturnTypeExtension.php +93 -0
  2060. data/helpers/vendor/phpstan/phpstan/src/Type/Php/VarExportFunctionDynamicReturnTypeExtension.php +58 -0
  2061. data/helpers/vendor/phpstan/phpstan/src/Type/Php/VersionCompareFunctionDynamicReturnTypeExtension.php +82 -0
  2062. data/helpers/vendor/phpstan/phpstan/src/Type/RecursionGuard.php +26 -0
  2063. data/helpers/vendor/phpstan/phpstan/src/Type/ResourceType.php +87 -0
  2064. data/helpers/vendor/phpstan/phpstan/src/Type/StaticMethodTypeSpecifyingExtension.php +20 -0
  2065. data/helpers/vendor/phpstan/phpstan/src/Type/StaticResolvableType.php +12 -0
  2066. data/helpers/vendor/phpstan/phpstan/src/Type/StaticType.php +255 -0
  2067. data/helpers/vendor/phpstan/phpstan/src/Type/StringAlwaysAcceptingObjectWithToStringType.php +28 -0
  2068. data/helpers/vendor/phpstan/phpstan/src/Type/StringType.php +130 -0
  2069. data/helpers/vendor/phpstan/phpstan/src/Type/SubtractableType.php +16 -0
  2070. data/helpers/vendor/phpstan/phpstan/src/Type/ThisType.php +27 -0
  2071. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/ConstantScalarTypeTrait.php +53 -0
  2072. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/FalseyBooleanTypeTrait.php +16 -0
  2073. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeCallableTypeTrait.php +26 -0
  2074. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeIterableTypeTrait.php +32 -0
  2075. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeObjectTypeTrait.php +67 -0
  2076. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeOffsetAccessibleTypeTrait.php +32 -0
  2077. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonCallableTypeTrait.php +21 -0
  2078. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonGenericTypeTrait.php +16 -0
  2079. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonIterableTypeTrait.php +32 -0
  2080. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonObjectTypeTrait.php +64 -0
  2081. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonOffsetAccessibleTypeTrait.php +32 -0
  2082. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/ObjectTypeTrait.php +107 -0
  2083. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/TruthyBooleanTypeTrait.php +16 -0
  2084. data/helpers/vendor/phpstan/phpstan/src/Type/Traits/UndecidedBooleanTypeTrait.php +15 -0
  2085. data/helpers/vendor/phpstan/phpstan/src/Type/Type.php +110 -0
  2086. data/helpers/vendor/phpstan/phpstan/src/Type/TypeCombinator.php +593 -0
  2087. data/helpers/vendor/phpstan/phpstan/src/Type/TypeTraverser.php +47 -0
  2088. data/helpers/vendor/phpstan/phpstan/src/Type/TypeUtils.php +262 -0
  2089. data/helpers/vendor/phpstan/phpstan/src/Type/TypeWithClassName.php +10 -0
  2090. data/helpers/vendor/phpstan/phpstan/src/Type/TypehintHelper.php +122 -0
  2091. data/helpers/vendor/phpstan/phpstan/src/Type/UnionType.php +622 -0
  2092. data/helpers/vendor/phpstan/phpstan/src/Type/UnionTypeHelper.php +123 -0
  2093. data/helpers/vendor/phpstan/phpstan/src/Type/VerbosityLevel.php +67 -0
  2094. data/helpers/vendor/phpstan/phpstan/src/Type/VoidType.php +103 -0
  2095. data/helpers/vendor/phpstan/phpstan/tmp/.gitignore +4 -0
  2096. data/helpers/vendor/phpstan/phpstan/tmp/cache/.gitignore +2 -0
  2097. data/helpers/vendor/phpstan/phpstan/tmp/generated/.gitignore +2 -0
  2098. data/helpers/vendor/psr/log/.gitignore +1 -0
  2099. data/helpers/vendor/psr/log/LICENSE +19 -0
  2100. data/helpers/vendor/psr/log/Psr/Log/AbstractLogger.php +128 -0
  2101. data/helpers/vendor/psr/log/Psr/Log/InvalidArgumentException.php +7 -0
  2102. data/helpers/vendor/psr/log/Psr/Log/LogLevel.php +18 -0
  2103. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +18 -0
  2104. data/helpers/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +26 -0
  2105. data/helpers/vendor/psr/log/Psr/Log/LoggerInterface.php +123 -0
  2106. data/helpers/vendor/psr/log/Psr/Log/LoggerTrait.php +140 -0
  2107. data/helpers/vendor/psr/log/Psr/Log/NullLogger.php +28 -0
  2108. data/helpers/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +144 -0
  2109. data/helpers/vendor/psr/log/Psr/Log/Test/TestLogger.php +146 -0
  2110. data/helpers/vendor/psr/log/README.md +52 -0
  2111. data/helpers/vendor/psr/log/composer.json +26 -0
  2112. data/helpers/vendor/seld/jsonlint/.gitignore +3 -0
  2113. data/helpers/vendor/seld/jsonlint/.travis.yml +25 -0
  2114. data/helpers/vendor/seld/jsonlint/CHANGELOG.md +66 -0
  2115. data/helpers/vendor/seld/jsonlint/LICENSE +19 -0
  2116. data/helpers/vendor/seld/jsonlint/README.md +89 -0
  2117. data/helpers/vendor/seld/jsonlint/bin/jsonlint +117 -0
  2118. data/helpers/vendor/seld/jsonlint/composer.json +24 -0
  2119. data/helpers/vendor/seld/jsonlint/phpunit.xml.dist +25 -0
  2120. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php +26 -0
  2121. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php +502 -0
  2122. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php +217 -0
  2123. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php +28 -0
  2124. data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php +16 -0
  2125. data/helpers/vendor/seld/jsonlint/tests/JsonParserTest.php +230 -0
  2126. data/helpers/vendor/seld/jsonlint/tests/bom.json +6 -0
  2127. data/helpers/vendor/seld/jsonlint/tests/bootstrap.php +13 -0
  2128. data/helpers/vendor/seld/phar-utils/.gitignore +1 -0
  2129. data/helpers/vendor/seld/phar-utils/LICENSE +19 -0
  2130. data/helpers/vendor/seld/phar-utils/README.md +39 -0
  2131. data/helpers/vendor/seld/phar-utils/composer.json +26 -0
  2132. data/helpers/vendor/seld/phar-utils/composer.lock +19 -0
  2133. data/helpers/vendor/seld/phar-utils/src/Timestamps.php +192 -0
  2134. data/helpers/vendor/symfony/console/.gitignore +3 -0
  2135. data/helpers/vendor/symfony/console/Application.php +1266 -0
  2136. data/helpers/vendor/symfony/console/CHANGELOG.md +112 -0
  2137. data/helpers/vendor/symfony/console/Command/Command.php +668 -0
  2138. data/helpers/vendor/symfony/console/Command/HelpCommand.php +81 -0
  2139. data/helpers/vendor/symfony/console/Command/ListCommand.php +90 -0
  2140. data/helpers/vendor/symfony/console/Command/LockableTrait.php +72 -0
  2141. data/helpers/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +46 -0
  2142. data/helpers/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +64 -0
  2143. data/helpers/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +62 -0
  2144. data/helpers/vendor/symfony/console/ConsoleEvents.php +60 -0
  2145. data/helpers/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +106 -0
  2146. data/helpers/vendor/symfony/console/Descriptor/ApplicationDescription.php +151 -0
  2147. data/helpers/vendor/symfony/console/Descriptor/Descriptor.php +107 -0
  2148. data/helpers/vendor/symfony/console/Descriptor/DescriptorInterface.php +29 -0
  2149. data/helpers/vendor/symfony/console/Descriptor/JsonDescriptor.php +168 -0
  2150. data/helpers/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +182 -0
  2151. data/helpers/vendor/symfony/console/Descriptor/TextDescriptor.php +342 -0
  2152. data/helpers/vendor/symfony/console/Descriptor/XmlDescriptor.php +248 -0
  2153. data/helpers/vendor/symfony/console/Event/ConsoleCommandEvent.php +60 -0
  2154. data/helpers/vendor/symfony/console/Event/ConsoleErrorEvent.php +83 -0
  2155. data/helpers/vendor/symfony/console/Event/ConsoleEvent.php +67 -0
  2156. data/helpers/vendor/symfony/console/Event/ConsoleExceptionEvent.php +71 -0
  2157. data/helpers/vendor/symfony/console/Event/ConsoleTerminateEvent.php +58 -0
  2158. data/helpers/vendor/symfony/console/EventListener/ErrorListener.php +95 -0
  2159. data/helpers/vendor/symfony/console/Exception/CommandNotFoundException.php +43 -0
  2160. data/helpers/vendor/symfony/console/Exception/ExceptionInterface.php +21 -0
  2161. data/helpers/vendor/symfony/console/Exception/InvalidArgumentException.php +19 -0
  2162. data/helpers/vendor/symfony/console/Exception/InvalidOptionException.php +21 -0
  2163. data/helpers/vendor/symfony/console/Exception/LogicException.php +19 -0
  2164. data/helpers/vendor/symfony/console/Exception/RuntimeException.php +19 -0
  2165. data/helpers/vendor/symfony/console/Formatter/OutputFormatter.php +243 -0
  2166. data/helpers/vendor/symfony/console/Formatter/OutputFormatterInterface.php +71 -0
  2167. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyle.php +183 -0
  2168. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +62 -0
  2169. data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +109 -0
  2170. data/helpers/vendor/symfony/console/Helper/DebugFormatterHelper.php +127 -0
  2171. data/helpers/vendor/symfony/console/Helper/DescriptorHelper.php +91 -0
  2172. data/helpers/vendor/symfony/console/Helper/FormatterHelper.php +106 -0
  2173. data/helpers/vendor/symfony/console/Helper/Helper.php +138 -0
  2174. data/helpers/vendor/symfony/console/Helper/HelperInterface.php +39 -0
  2175. data/helpers/vendor/symfony/console/Helper/HelperSet.php +108 -0
  2176. data/helpers/vendor/symfony/console/Helper/InputAwareHelper.php +33 -0
  2177. data/helpers/vendor/symfony/console/Helper/ProcessHelper.php +141 -0
  2178. data/helpers/vendor/symfony/console/Helper/ProgressBar.php +614 -0
  2179. data/helpers/vendor/symfony/console/Helper/ProgressIndicator.php +270 -0
  2180. data/helpers/vendor/symfony/console/Helper/QuestionHelper.php +499 -0
  2181. data/helpers/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +124 -0
  2182. data/helpers/vendor/symfony/console/Helper/Table.php +698 -0
  2183. data/helpers/vendor/symfony/console/Helper/TableCell.php +75 -0
  2184. data/helpers/vendor/symfony/console/Helper/TableSeparator.php +25 -0
  2185. data/helpers/vendor/symfony/console/Helper/TableStyle.php +258 -0
  2186. data/helpers/vendor/symfony/console/Input/ArgvInput.php +372 -0
  2187. data/helpers/vendor/symfony/console/Input/ArrayInput.php +208 -0
  2188. data/helpers/vendor/symfony/console/Input/Input.php +203 -0
  2189. data/helpers/vendor/symfony/console/Input/InputArgument.php +129 -0
  2190. data/helpers/vendor/symfony/console/Input/InputAwareInterface.php +26 -0
  2191. data/helpers/vendor/symfony/console/Input/InputDefinition.php +404 -0
  2192. data/helpers/vendor/symfony/console/Input/InputInterface.php +163 -0
  2193. data/helpers/vendor/symfony/console/Input/InputOption.php +208 -0
  2194. data/helpers/vendor/symfony/console/Input/StreamableInputInterface.php +37 -0
  2195. data/helpers/vendor/symfony/console/Input/StringInput.php +72 -0
  2196. data/helpers/vendor/symfony/console/LICENSE +19 -0
  2197. data/helpers/vendor/symfony/console/Logger/ConsoleLogger.php +128 -0
  2198. data/helpers/vendor/symfony/console/Output/BufferedOutput.php +45 -0
  2199. data/helpers/vendor/symfony/console/Output/ConsoleOutput.php +152 -0
  2200. data/helpers/vendor/symfony/console/Output/ConsoleOutputInterface.php +30 -0
  2201. data/helpers/vendor/symfony/console/Output/NullOutput.php +123 -0
  2202. data/helpers/vendor/symfony/console/Output/Output.php +175 -0
  2203. data/helpers/vendor/symfony/console/Output/OutputInterface.php +114 -0
  2204. data/helpers/vendor/symfony/console/Output/StreamOutput.php +124 -0
  2205. data/helpers/vendor/symfony/console/Question/ChoiceQuestion.php +187 -0
  2206. data/helpers/vendor/symfony/console/Question/ConfirmationQuestion.php +59 -0
  2207. data/helpers/vendor/symfony/console/Question/Question.php +242 -0
  2208. data/helpers/vendor/symfony/console/README.md +20 -0
  2209. data/helpers/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
  2210. data/helpers/vendor/symfony/console/Style/OutputStyle.php +155 -0
  2211. data/helpers/vendor/symfony/console/Style/StyleInterface.php +153 -0
  2212. data/helpers/vendor/symfony/console/Style/SymfonyStyle.php +431 -0
  2213. data/helpers/vendor/symfony/console/Terminal.php +163 -0
  2214. data/helpers/vendor/symfony/console/Tester/ApplicationTester.php +176 -0
  2215. data/helpers/vendor/symfony/console/Tester/CommandTester.php +162 -0
  2216. data/helpers/vendor/symfony/console/Tests/ApplicationTest.php +1744 -0
  2217. data/helpers/vendor/symfony/console/Tests/Command/CommandTest.php +430 -0
  2218. data/helpers/vendor/symfony/console/Tests/Command/HelpCommandTest.php +71 -0
  2219. data/helpers/vendor/symfony/console/Tests/Command/ListCommandTest.php +113 -0
  2220. data/helpers/vendor/symfony/console/Tests/Command/LockableTraitTest.php +67 -0
  2221. data/helpers/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php +59 -0
  2222. data/helpers/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php +58 -0
  2223. data/helpers/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php +256 -0
  2224. data/helpers/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php +107 -0
  2225. data/helpers/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php +35 -0
  2226. data/helpers/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php +45 -0
  2227. data/helpers/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php +82 -0
  2228. data/helpers/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php +53 -0
  2229. data/helpers/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php +27 -0
  2230. data/helpers/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php +156 -0
  2231. data/helpers/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php +11 -0
  2232. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php +18 -0
  2233. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php +26 -0
  2234. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php +24 -0
  2235. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php +27 -0
  2236. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php +32 -0
  2237. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php +27 -0
  2238. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php +25 -0
  2239. data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php +32 -0
  2240. data/helpers/vendor/symfony/console/Tests/Fixtures/DummyOutput.php +36 -0
  2241. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo1Command.php +26 -0
  2242. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo2Command.php +21 -0
  2243. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo3Command.php +29 -0
  2244. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo4Command.php +11 -0
  2245. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo5Command.php +10 -0
  2246. data/helpers/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +11 -0
  2247. data/helpers/vendor/symfony/console/Tests/Fixtures/FooCommand.php +33 -0
  2248. data/helpers/vendor/symfony/console/Tests/Fixtures/FooHiddenCommand.php +21 -0
  2249. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php +28 -0
  2250. data/helpers/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php +27 -0
  2251. data/helpers/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php +36 -0
  2252. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php +11 -0
  2253. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php +11 -0
  2254. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php +26 -0
  2255. data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php +26 -0
  2256. data/helpers/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php +25 -0
  2257. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php +11 -0
  2258. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php +13 -0
  2259. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php +17 -0
  2260. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php +12 -0
  2261. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php +13 -0
  2262. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php +14 -0
  2263. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php +17 -0
  2264. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php +14 -0
  2265. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php +15 -0
  2266. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php +13 -0
  2267. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php +16 -0
  2268. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php +12 -0
  2269. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php +34 -0
  2270. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +37 -0
  2271. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php +16 -0
  2272. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php +15 -0
  2273. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php +26 -0
  2274. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php +11 -0
  2275. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php +19 -0
  2276. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt +7 -0
  2277. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt +3 -0
  2278. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt +9 -0
  2279. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt +7 -0
  2280. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt +4 -0
  2281. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt +6 -0
  2282. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt +7 -0
  2283. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt +6 -0
  2284. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt +7 -0
  2285. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt +8 -0
  2286. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt +7 -0
  2287. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt +13 -0
  2288. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt +7 -0
  2289. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt +32 -0
  2290. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +18 -0
  2291. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt +6 -0
  2292. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +5 -0
  2293. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt +9 -0
  2294. data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt +5 -0
  2295. data/helpers/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering.php +22 -0
  2296. data/helpers/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering2.php +21 -0
  2297. data/helpers/vendor/symfony/console/Tests/Fixtures/TestCommand.php +28 -0
  2298. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.json +156 -0
  2299. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.md +172 -0
  2300. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.txt +17 -0
  2301. data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.xml +104 -0
  2302. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.json +509 -0
  2303. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.md +431 -0
  2304. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.txt +21 -0
  2305. data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.xml +254 -0
  2306. data/helpers/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt +16 -0
  2307. data/helpers/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt +1 -0
  2308. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.md +269 -0
  2309. data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt +19 -0
  2310. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt +5 -0
  2311. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt +7 -0
  2312. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt +18 -0
  2313. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt +18 -0
  2314. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt +6 -0
  2315. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt +8 -0
  2316. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt +8 -0
  2317. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt +9 -0
  2318. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt +9 -0
  2319. data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt +11 -0
  2320. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run1.txt +17 -0
  2321. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run2.txt +26 -0
  2322. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run3.txt +26 -0
  2323. data/helpers/vendor/symfony/console/Tests/Fixtures/application_run4.txt +1 -0
  2324. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.json +15 -0
  2325. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.md +12 -0
  2326. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.txt +7 -0
  2327. data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.xml +12 -0
  2328. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.json +33 -0
  2329. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.md +29 -0
  2330. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.txt +13 -0
  2331. data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.xml +21 -0
  2332. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.md +29 -0
  2333. data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt +13 -0
  2334. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.json +7 -0
  2335. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.md +5 -0
  2336. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt +1 -0
  2337. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml +5 -0
  2338. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.json +7 -0
  2339. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.md +7 -0
  2340. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt +1 -0
  2341. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml +5 -0
  2342. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.json +7 -0
  2343. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.md +7 -0
  2344. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt +1 -0
  2345. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml +7 -0
  2346. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.json +7 -0
  2347. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.md +8 -0
  2348. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt +2 -0
  2349. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml +6 -0
  2350. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json +7 -0
  2351. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md +7 -0
  2352. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt +1 -0
  2353. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml +7 -0
  2354. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json +7 -0
  2355. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md +7 -0
  2356. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt +1 -0
  2357. data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml +7 -0
  2358. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.json +4 -0
  2359. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.md +0 -0
  2360. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt +0 -0
  2361. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml +5 -0
  2362. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.json +12 -0
  2363. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.md +7 -0
  2364. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt +2 -0
  2365. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml +10 -0
  2366. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.json +14 -0
  2367. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.md +8 -0
  2368. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt +2 -0
  2369. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml +9 -0
  2370. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.json +22 -0
  2371. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.md +16 -0
  2372. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt +5 -0
  2373. data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml +14 -0
  2374. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.json +9 -0
  2375. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.md +6 -0
  2376. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.txt +1 -0
  2377. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.xml +4 -0
  2378. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.json +9 -0
  2379. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.md +8 -0
  2380. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.txt +1 -0
  2381. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.xml +7 -0
  2382. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.json +9 -0
  2383. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.md +8 -0
  2384. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.txt +1 -0
  2385. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.xml +5 -0
  2386. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.json +9 -0
  2387. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.md +8 -0
  2388. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.txt +1 -0
  2389. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.xml +5 -0
  2390. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.json +9 -0
  2391. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.md +9 -0
  2392. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.txt +2 -0
  2393. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.xml +6 -0
  2394. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.json +9 -0
  2395. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.md +8 -0
  2396. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.txt +1 -0
  2397. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.xml +5 -0
  2398. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json +9 -0
  2399. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md +8 -0
  2400. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt +1 -0
  2401. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml +7 -0
  2402. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json +9 -0
  2403. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md +8 -0
  2404. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt +1 -0
  2405. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml +7 -0
  2406. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json +12 -0
  2407. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md +8 -0
  2408. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt +1 -0
  2409. data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml +8 -0
  2410. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php +69 -0
  2411. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php +100 -0
  2412. data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +344 -0
  2413. data/helpers/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php +34 -0
  2414. data/helpers/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php +129 -0
  2415. data/helpers/vendor/symfony/console/Tests/Helper/HelperSetTest.php +127 -0
  2416. data/helpers/vendor/symfony/console/Tests/Helper/HelperTest.php +55 -0
  2417. data/helpers/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +118 -0
  2418. data/helpers/vendor/symfony/console/Tests/Helper/ProgressBarTest.php +805 -0
  2419. data/helpers/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php +175 -0
  2420. data/helpers/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +1081 -0
  2421. data/helpers/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +166 -0
  2422. data/helpers/vendor/symfony/console/Tests/Helper/TableStyleTest.php +26 -0
  2423. data/helpers/vendor/symfony/console/Tests/Helper/TableTest.php +868 -0
  2424. data/helpers/vendor/symfony/console/Tests/Input/ArgvInputTest.php +462 -0
  2425. data/helpers/vendor/symfony/console/Tests/Input/ArrayInputTest.php +173 -0
  2426. data/helpers/vendor/symfony/console/Tests/Input/InputArgumentTest.php +109 -0
  2427. data/helpers/vendor/symfony/console/Tests/Input/InputDefinitionTest.php +389 -0
  2428. data/helpers/vendor/symfony/console/Tests/Input/InputOptionTest.php +194 -0
  2429. data/helpers/vendor/symfony/console/Tests/Input/InputTest.php +137 -0
  2430. data/helpers/vendor/symfony/console/Tests/Input/StringInputTest.php +87 -0
  2431. data/helpers/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php +213 -0
  2432. data/helpers/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php +42 -0
  2433. data/helpers/vendor/symfony/console/Tests/Output/NullOutputTest.php +88 -0
  2434. data/helpers/vendor/symfony/console/Tests/Output/OutputTest.php +176 -0
  2435. data/helpers/vendor/symfony/console/Tests/Output/StreamOutputTest.php +59 -0
  2436. data/helpers/vendor/symfony/console/Tests/Question/ChoiceQuestionTest.php +64 -0
  2437. data/helpers/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php +62 -0
  2438. data/helpers/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php +118 -0
  2439. data/helpers/vendor/symfony/console/Tests/TerminalTest.php +97 -0
  2440. data/helpers/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +70 -0
  2441. data/helpers/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +212 -0
  2442. data/helpers/vendor/symfony/console/composer.json +56 -0
  2443. data/helpers/vendor/symfony/console/phpunit.xml.dist +41 -0
  2444. data/helpers/vendor/symfony/debug/.gitignore +3 -0
  2445. data/helpers/vendor/symfony/debug/BufferingLogger.php +37 -0
  2446. data/helpers/vendor/symfony/debug/CHANGELOG.md +64 -0
  2447. data/helpers/vendor/symfony/debug/Debug.php +60 -0
  2448. data/helpers/vendor/symfony/debug/DebugClassLoader.php +455 -0
  2449. data/helpers/vendor/symfony/debug/ErrorHandler.php +787 -0
  2450. data/helpers/vendor/symfony/debug/Exception/ClassNotFoundException.php +36 -0
  2451. data/helpers/vendor/symfony/debug/Exception/ContextErrorException.php +40 -0
  2452. data/helpers/vendor/symfony/debug/Exception/FatalErrorException.php +82 -0
  2453. data/helpers/vendor/symfony/debug/Exception/FatalThrowableError.php +45 -0
  2454. data/helpers/vendor/symfony/debug/Exception/FlattenException.php +263 -0
  2455. data/helpers/vendor/symfony/debug/Exception/OutOfMemoryException.php +21 -0
  2456. data/helpers/vendor/symfony/debug/Exception/SilencedErrorContext.php +67 -0
  2457. data/helpers/vendor/symfony/debug/Exception/UndefinedFunctionException.php +36 -0
  2458. data/helpers/vendor/symfony/debug/Exception/UndefinedMethodException.php +36 -0
  2459. data/helpers/vendor/symfony/debug/ExceptionHandler.php +444 -0
  2460. data/helpers/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php +214 -0
  2461. data/helpers/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php +32 -0
  2462. data/helpers/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php +84 -0
  2463. data/helpers/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php +66 -0
  2464. data/helpers/vendor/symfony/debug/LICENSE +19 -0
  2465. data/helpers/vendor/symfony/debug/README.md +13 -0
  2466. data/helpers/vendor/symfony/debug/Resources/ext/README.md +134 -0
  2467. data/helpers/vendor/symfony/debug/Resources/ext/config.m4 +63 -0
  2468. data/helpers/vendor/symfony/debug/Resources/ext/config.w32 +13 -0
  2469. data/helpers/vendor/symfony/debug/Resources/ext/php_symfony_debug.h +60 -0
  2470. data/helpers/vendor/symfony/debug/Resources/ext/symfony_debug.c +283 -0
  2471. data/helpers/vendor/symfony/debug/Resources/ext/tests/001.phpt +155 -0
  2472. data/helpers/vendor/symfony/debug/Resources/ext/tests/002.phpt +65 -0
  2473. data/helpers/vendor/symfony/debug/Resources/ext/tests/002_1.phpt +48 -0
  2474. data/helpers/vendor/symfony/debug/Resources/ext/tests/003.phpt +87 -0
  2475. data/helpers/vendor/symfony/debug/Tests/DebugClassLoaderTest.php +445 -0
  2476. data/helpers/vendor/symfony/debug/Tests/ErrorHandlerTest.php +646 -0
  2477. data/helpers/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php +302 -0
  2478. data/helpers/vendor/symfony/debug/Tests/ExceptionHandlerTest.php +163 -0
  2479. data/helpers/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php +180 -0
  2480. data/helpers/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php +81 -0
  2481. data/helpers/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php +76 -0
  2482. data/helpers/vendor/symfony/debug/Tests/Fixtures/AnnotatedClass.php +13 -0
  2483. data/helpers/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php +3 -0
  2484. data/helpers/vendor/symfony/debug/Tests/Fixtures/DefinitionInEvaluatedCode.php +11 -0
  2485. data/helpers/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php +12 -0
  2486. data/helpers/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php +12 -0
  2487. data/helpers/vendor/symfony/debug/Tests/Fixtures/ErrorHandlerThatUsesThePreviousOne.php +22 -0
  2488. data/helpers/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php +19 -0
  2489. data/helpers/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php +85 -0
  2490. data/helpers/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php +26 -0
  2491. data/helpers/vendor/symfony/debug/Tests/Fixtures/FinalMethod2Trait.php +10 -0
  2492. data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalClass.php +15 -0
  2493. data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalInterface.php +10 -0
  2494. data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalTrait.php +10 -0
  2495. data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalTrait2.php +23 -0
  2496. data/helpers/vendor/symfony/debug/Tests/Fixtures/LoggerThatSetAnErrorHandler.php +15 -0
  2497. data/helpers/vendor/symfony/debug/Tests/Fixtures/NonDeprecatedInterface.php +7 -0
  2498. data/helpers/vendor/symfony/debug/Tests/Fixtures/PEARClass.php +5 -0
  2499. data/helpers/vendor/symfony/debug/Tests/Fixtures/Throwing.php +3 -0
  2500. data/helpers/vendor/symfony/debug/Tests/Fixtures/ToStringThrower.php +24 -0
  2501. data/helpers/vendor/symfony/debug/Tests/Fixtures/TraitWithInternalMethod.php +13 -0
  2502. data/helpers/vendor/symfony/debug/Tests/Fixtures/casemismatch.php +7 -0
  2503. data/helpers/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php +7 -0
  2504. data/helpers/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php +7 -0
  2505. data/helpers/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php +7 -0
  2506. data/helpers/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php +7 -0
  2507. data/helpers/vendor/symfony/debug/Tests/HeaderMock.php +38 -0
  2508. data/helpers/vendor/symfony/debug/Tests/phpt/debug_class_loader.phpt +27 -0
  2509. data/helpers/vendor/symfony/debug/Tests/phpt/decorate_exception_hander.phpt +47 -0
  2510. data/helpers/vendor/symfony/debug/Tests/phpt/exception_rethrown.phpt +35 -0
  2511. data/helpers/vendor/symfony/debug/Tests/phpt/fatal_with_nested_handlers.phpt +42 -0
  2512. data/helpers/vendor/symfony/debug/composer.json +40 -0
  2513. data/helpers/vendor/symfony/debug/phpunit.xml.dist +33 -0
  2514. data/helpers/vendor/symfony/event-dispatcher/.gitignore +3 -0
  2515. data/helpers/vendor/symfony/event-dispatcher/CHANGELOG.md +42 -0
  2516. data/helpers/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php +198 -0
  2517. data/helpers/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +332 -0
  2518. data/helpers/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php +36 -0
  2519. data/helpers/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +125 -0
  2520. data/helpers/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php +137 -0
  2521. data/helpers/vendor/symfony/event-dispatcher/Event.php +58 -0
  2522. data/helpers/vendor/symfony/event-dispatcher/EventDispatcher.php +238 -0
  2523. data/helpers/vendor/symfony/event-dispatcher/EventDispatcherInterface.php +93 -0
  2524. data/helpers/vendor/symfony/event-dispatcher/EventSubscriberInterface.php +46 -0
  2525. data/helpers/vendor/symfony/event-dispatcher/GenericEvent.php +175 -0
  2526. data/helpers/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +91 -0
  2527. data/helpers/vendor/symfony/event-dispatcher/LICENSE +19 -0
  2528. data/helpers/vendor/symfony/event-dispatcher/README.md +15 -0
  2529. data/helpers/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php +442 -0
  2530. data/helpers/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php +210 -0
  2531. data/helpers/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php +269 -0
  2532. data/helpers/vendor/symfony/event-dispatcher/Tests/Debug/WrappedListenerTest.php +64 -0
  2533. data/helpers/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php +147 -0
  2534. data/helpers/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php +22 -0
  2535. data/helpers/vendor/symfony/event-dispatcher/Tests/EventTest.php +55 -0
  2536. data/helpers/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php +134 -0
  2537. data/helpers/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php +100 -0
  2538. data/helpers/vendor/symfony/event-dispatcher/composer.json +47 -0
  2539. data/helpers/vendor/symfony/event-dispatcher/phpunit.xml.dist +31 -0
  2540. data/helpers/vendor/symfony/filesystem/.gitignore +3 -0
  2541. data/helpers/vendor/symfony/filesystem/CHANGELOG.md +53 -0
  2542. data/helpers/vendor/symfony/filesystem/Exception/ExceptionInterface.php +21 -0
  2543. data/helpers/vendor/symfony/filesystem/Exception/FileNotFoundException.php +34 -0
  2544. data/helpers/vendor/symfony/filesystem/Exception/IOException.php +39 -0
  2545. data/helpers/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +27 -0
  2546. data/helpers/vendor/symfony/filesystem/Filesystem.php +775 -0
  2547. data/helpers/vendor/symfony/filesystem/LICENSE +19 -0
  2548. data/helpers/vendor/symfony/filesystem/LockHandler.php +121 -0
  2549. data/helpers/vendor/symfony/filesystem/README.md +13 -0
  2550. data/helpers/vendor/symfony/filesystem/Tests/ExceptionTest.php +47 -0
  2551. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTest.php +1656 -0
  2552. data/helpers/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +165 -0
  2553. data/helpers/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php +46 -0
  2554. data/helpers/vendor/symfony/filesystem/Tests/LockHandlerTest.php +144 -0
  2555. data/helpers/vendor/symfony/filesystem/composer.json +34 -0
  2556. data/helpers/vendor/symfony/filesystem/phpunit.xml.dist +30 -0
  2557. data/helpers/vendor/symfony/finder +1 -0
  2558. data/helpers/vendor/symfony/options-resolver/.gitignore +3 -0
  2559. data/helpers/vendor/symfony/options-resolver/CHANGELOG.md +52 -0
  2560. data/helpers/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php +102 -0
  2561. data/helpers/vendor/symfony/options-resolver/Exception/AccessException.php +22 -0
  2562. data/helpers/vendor/symfony/options-resolver/Exception/ExceptionInterface.php +21 -0
  2563. data/helpers/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php +21 -0
  2564. data/helpers/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php +23 -0
  2565. data/helpers/vendor/symfony/options-resolver/Exception/MissingOptionsException.php +23 -0
  2566. data/helpers/vendor/symfony/options-resolver/Exception/NoConfigurationException.php +26 -0
  2567. data/helpers/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php +26 -0
  2568. data/helpers/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php +21 -0
  2569. data/helpers/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php +24 -0
  2570. data/helpers/vendor/symfony/options-resolver/LICENSE +19 -0
  2571. data/helpers/vendor/symfony/options-resolver/Options.php +22 -0
  2572. data/helpers/vendor/symfony/options-resolver/OptionsResolver.php +1065 -0
  2573. data/helpers/vendor/symfony/options-resolver/README.md +15 -0
  2574. data/helpers/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php +183 -0
  2575. data/helpers/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php +1619 -0
  2576. data/helpers/vendor/symfony/options-resolver/composer.json +33 -0
  2577. data/helpers/vendor/symfony/options-resolver/phpunit.xml.dist +31 -0
  2578. data/helpers/vendor/symfony/polyfill-ctype/Ctype.php +227 -0
  2579. data/helpers/vendor/symfony/polyfill-ctype/LICENSE +19 -0
  2580. data/helpers/vendor/symfony/polyfill-ctype/README.md +12 -0
  2581. data/helpers/vendor/symfony/polyfill-ctype/bootstrap.php +26 -0
  2582. data/helpers/vendor/symfony/polyfill-ctype/composer.json +34 -0
  2583. data/helpers/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
  2584. data/helpers/vendor/symfony/polyfill-mbstring/Mbstring.php +829 -0
  2585. data/helpers/vendor/symfony/polyfill-mbstring/README.md +13 -0
  2586. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1096 -0
  2587. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
  2588. data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1104 -0
  2589. data/helpers/vendor/symfony/polyfill-mbstring/bootstrap.php +62 -0
  2590. data/helpers/vendor/symfony/polyfill-mbstring/composer.json +34 -0
  2591. data/helpers/vendor/symfony/polyfill-php70/LICENSE +19 -0
  2592. data/helpers/vendor/symfony/polyfill-php70/Php70.php +74 -0
  2593. data/helpers/vendor/symfony/polyfill-php70/README.md +28 -0
  2594. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php +5 -0
  2595. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php +5 -0
  2596. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php +5 -0
  2597. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/Error.php +5 -0
  2598. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php +5 -0
  2599. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php +23 -0
  2600. data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php +5 -0
  2601. data/helpers/vendor/symfony/polyfill-php70/bootstrap.php +27 -0
  2602. data/helpers/vendor/symfony/polyfill-php70/composer.json +33 -0
  2603. data/helpers/vendor/symfony/polyfill-php72/LICENSE +19 -0
  2604. data/helpers/vendor/symfony/polyfill-php72/Php72.php +216 -0
  2605. data/helpers/vendor/symfony/polyfill-php72/README.md +27 -0
  2606. data/helpers/vendor/symfony/polyfill-php72/bootstrap.php +36 -0
  2607. data/helpers/vendor/symfony/polyfill-php72/composer.json +31 -0
  2608. data/helpers/vendor/symfony/process +1 -0
  2609. data/helpers/vendor/symfony/stopwatch/.gitignore +3 -0
  2610. data/helpers/vendor/symfony/stopwatch/CHANGELOG.md +9 -0
  2611. data/helpers/vendor/symfony/stopwatch/LICENSE +19 -0
  2612. data/helpers/vendor/symfony/stopwatch/README.md +13 -0
  2613. data/helpers/vendor/symfony/stopwatch/Section.php +200 -0
  2614. data/helpers/vendor/symfony/stopwatch/Stopwatch.php +176 -0
  2615. data/helpers/vendor/symfony/stopwatch/StopwatchEvent.php +248 -0
  2616. data/helpers/vendor/symfony/stopwatch/StopwatchPeriod.php +76 -0
  2617. data/helpers/vendor/symfony/stopwatch/Tests/StopwatchEventTest.php +172 -0
  2618. data/helpers/vendor/symfony/stopwatch/Tests/StopwatchPeriodTest.php +67 -0
  2619. data/helpers/vendor/symfony/stopwatch/Tests/StopwatchTest.php +182 -0
  2620. data/helpers/vendor/symfony/stopwatch/composer.json +33 -0
  2621. data/helpers/vendor/symfony/stopwatch/phpunit.xml.dist +30 -0
  2622. metadata +2968 -4
@@ -0,0 +1,37 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ class EnsuredNonNullabilityResult
6
+ {
7
+
8
+ /** @var Scope */
9
+ private $scope;
10
+
11
+ /** @var EnsuredNonNullabilityResultExpression[] */
12
+ private $specifiedExpressions;
13
+
14
+ /**
15
+ * @param Scope $scope
16
+ * @param EnsuredNonNullabilityResultExpression[] $specifiedExpressions
17
+ */
18
+ public function __construct(Scope $scope, array $specifiedExpressions)
19
+ {
20
+ $this->scope = $scope;
21
+ $this->specifiedExpressions = $specifiedExpressions;
22
+ }
23
+
24
+ public function getScope(): Scope
25
+ {
26
+ return $this->scope;
27
+ }
28
+
29
+ /**
30
+ * @return EnsuredNonNullabilityResultExpression[]
31
+ */
32
+ public function getSpecifiedExpressions(): array
33
+ {
34
+ return $this->specifiedExpressions;
35
+ }
36
+
37
+ }
@@ -0,0 +1,33 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ use PhpParser\Node\Expr;
6
+ use PHPStan\Type\Type;
7
+
8
+ class EnsuredNonNullabilityResultExpression
9
+ {
10
+
11
+ /** @var Expr */
12
+ private $expression;
13
+
14
+ /** @var Type */
15
+ private $originalType;
16
+
17
+ public function __construct(Expr $expression, Type $originalType)
18
+ {
19
+ $this->expression = $expression;
20
+ $this->originalType = $originalType;
21
+ }
22
+
23
+ public function getExpression(): Expr
24
+ {
25
+ return $this->expression;
26
+ }
27
+
28
+ public function getOriginalType(): Type
29
+ {
30
+ return $this->originalType;
31
+ }
32
+
33
+ }
@@ -0,0 +1,77 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ class Error
6
+ {
7
+
8
+ /** @var string */
9
+ private $message;
10
+
11
+ /** @var string */
12
+ private $file;
13
+
14
+ /** @var int|NULL */
15
+ private $line;
16
+
17
+ /** @var bool */
18
+ private $canBeIgnored;
19
+
20
+ /** @var string|null */
21
+ private $filePath;
22
+
23
+ /** @var string|null */
24
+ private $traitFilePath;
25
+
26
+ public function __construct(
27
+ string $message,
28
+ string $file,
29
+ ?int $line = null,
30
+ bool $canBeIgnored = true,
31
+ ?string $filePath = null,
32
+ ?string $traitFilePath = null
33
+ )
34
+ {
35
+ $this->message = $message;
36
+ $this->file = $file;
37
+ $this->line = $line;
38
+ $this->canBeIgnored = $canBeIgnored;
39
+ $this->filePath = $filePath;
40
+ $this->traitFilePath = $traitFilePath;
41
+ }
42
+
43
+ public function getMessage(): string
44
+ {
45
+ return $this->message;
46
+ }
47
+
48
+ public function getFile(): string
49
+ {
50
+ return $this->file;
51
+ }
52
+
53
+ public function getFilePath(): string
54
+ {
55
+ if ($this->filePath === null) {
56
+ return $this->file;
57
+ }
58
+
59
+ return $this->filePath;
60
+ }
61
+
62
+ public function getTraitFilePath(): ?string
63
+ {
64
+ return $this->traitFilePath;
65
+ }
66
+
67
+ public function getLine(): ?int
68
+ {
69
+ return $this->line;
70
+ }
71
+
72
+ public function canBeIgnored(): bool
73
+ {
74
+ return $this->canBeIgnored;
75
+ }
76
+
77
+ }
@@ -0,0 +1,69 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ use PHPStan\Type\Type;
6
+
7
+ class ExpressionContext
8
+ {
9
+
10
+ /** @var bool */
11
+ private $isDeep;
12
+
13
+ /** @var string|null */
14
+ private $inAssignRightSideVariableName;
15
+
16
+ /** @var Type|null */
17
+ private $inAssignRightSideType;
18
+
19
+ private function __construct(
20
+ bool $isDeep,
21
+ ?string $inAssignRightSideVariableName,
22
+ ?Type $inAssignRightSideType
23
+ )
24
+ {
25
+ $this->isDeep = $isDeep;
26
+ $this->inAssignRightSideVariableName = $inAssignRightSideVariableName;
27
+ $this->inAssignRightSideType = $inAssignRightSideType;
28
+ }
29
+
30
+ public static function createTopLevel(): self
31
+ {
32
+ return new self(false, null, null);
33
+ }
34
+
35
+ public static function createDeep(): self
36
+ {
37
+ return new self(true, null, null);
38
+ }
39
+
40
+ public function enterDeep(): self
41
+ {
42
+ if ($this->isDeep) {
43
+ return $this;
44
+ }
45
+
46
+ return new self(true, $this->inAssignRightSideVariableName, $this->inAssignRightSideType);
47
+ }
48
+
49
+ public function isDeep(): bool
50
+ {
51
+ return $this->isDeep;
52
+ }
53
+
54
+ public function enterRightSideAssign(string $variableName, Type $type): self
55
+ {
56
+ return new self($this->isDeep, $variableName, $type);
57
+ }
58
+
59
+ public function getInAssignRightSideVariableName(): ?string
60
+ {
61
+ return $this->inAssignRightSideVariableName;
62
+ }
63
+
64
+ public function getInAssignRightSideType(): ?Type
65
+ {
66
+ return $this->inAssignRightSideType;
67
+ }
68
+
69
+ }
@@ -0,0 +1,85 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ class ExpressionResult
6
+ {
7
+
8
+ /** @var Scope */
9
+ private $scope;
10
+
11
+ /** @var bool */
12
+ private $hasYield;
13
+
14
+ /** @var (callable(): Scope)|null */
15
+ private $truthyScopeCallback;
16
+
17
+ /** @var Scope|null */
18
+ private $truthyScope;
19
+
20
+ /** @var (callable(): Scope)|null */
21
+ private $falseyScopeCallback;
22
+
23
+ /** @var Scope|null */
24
+ private $falseyScope;
25
+
26
+ /**
27
+ * @param Scope $scope
28
+ * @param bool $hasYield
29
+ * @param (callable(): Scope)|null $truthyScopeCallback
30
+ * @param (callable(): Scope)|null $falseyScopeCallback
31
+ */
32
+ public function __construct(
33
+ Scope $scope,
34
+ bool $hasYield,
35
+ ?callable $truthyScopeCallback = null,
36
+ ?callable $falseyScopeCallback = null
37
+ )
38
+ {
39
+ $this->scope = $scope;
40
+ $this->hasYield = $hasYield;
41
+ $this->truthyScopeCallback = $truthyScopeCallback;
42
+ $this->falseyScopeCallback = $falseyScopeCallback;
43
+ }
44
+
45
+ public function getScope(): Scope
46
+ {
47
+ return $this->scope;
48
+ }
49
+
50
+ public function hasYield(): bool
51
+ {
52
+ return $this->hasYield;
53
+ }
54
+
55
+ public function getTruthyScope(): Scope
56
+ {
57
+ if ($this->truthyScopeCallback === null) {
58
+ return $this->scope;
59
+ }
60
+
61
+ if ($this->truthyScope !== null) {
62
+ return $this->truthyScope;
63
+ }
64
+
65
+ $callback = $this->truthyScopeCallback;
66
+ $this->truthyScope = $callback();
67
+ return $this->truthyScope;
68
+ }
69
+
70
+ public function getFalseyScope(): Scope
71
+ {
72
+ if ($this->falseyScopeCallback === null) {
73
+ return $this->scope;
74
+ }
75
+
76
+ if ($this->falseyScope !== null) {
77
+ return $this->falseyScope;
78
+ }
79
+
80
+ $callback = $this->falseyScopeCallback;
81
+ $this->falseyScope = $callback();
82
+ return $this->falseyScope;
83
+ }
84
+
85
+ }
@@ -0,0 +1,69 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ use PHPStan\File\FileExcluder;
6
+ use PHPStan\File\FileHelper;
7
+
8
+ class IgnoredError
9
+ {
10
+
11
+ /**
12
+ * @phpcsSuppress SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint
13
+ * @param mixed[]|string $ignoredError
14
+ * @return string Representation of the ignored error
15
+ */
16
+ public static function stringifyPattern($ignoredError): string
17
+ {
18
+ if (!is_array($ignoredError)) {
19
+ return $ignoredError;
20
+ }
21
+
22
+ // ignore by path
23
+ if (isset($ignoredError['path'])) {
24
+ return sprintf('%s in path %s', $ignoredError['message'], $ignoredError['path']);
25
+ } elseif (isset($ignoredError['paths'])) {
26
+ if (count($ignoredError['paths']) === 1) {
27
+ return sprintf('%s in path %s', $ignoredError['message'], implode(', ', $ignoredError['paths']));
28
+
29
+ }
30
+ return sprintf('%s in paths: %s', $ignoredError['message'], implode(', ', $ignoredError['paths']));
31
+ }
32
+
33
+ return $ignoredError['message'];
34
+ }
35
+
36
+ /**
37
+ * @phpcsSuppress SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingParameterTypeHint
38
+ * @param FileHelper $fileHelper
39
+ * @param Error $error
40
+ * @param string $ignoredErrorPattern
41
+ * @param string|null $path
42
+ * @return bool To ignore or not to ignore?
43
+ */
44
+ public static function shouldIgnore(
45
+ FileHelper $fileHelper,
46
+ Error $error,
47
+ string $ignoredErrorPattern,
48
+ ?string $path
49
+ ): bool
50
+ {
51
+ if ($path !== null) {
52
+ $fileExcluder = new FileExcluder($fileHelper, [$path]);
53
+
54
+ if (\Nette\Utils\Strings::match($error->getMessage(), $ignoredErrorPattern) === null) {
55
+ return false;
56
+ }
57
+
58
+ $isExcluded = $fileExcluder->isExcludedFromAnalysing($error->getFilePath());
59
+ if (!$isExcluded && $error->getTraitFilePath() !== null) {
60
+ return $fileExcluder->isExcludedFromAnalysing($error->getTraitFilePath());
61
+ }
62
+
63
+ return $isExcluded;
64
+ }
65
+
66
+ return \Nette\Utils\Strings::match($error->getMessage(), $ignoredErrorPattern) !== null;
67
+ }
68
+
69
+ }
@@ -0,0 +1,57 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ class NameScope
6
+ {
7
+
8
+ /** @var string|null */
9
+ private $namespace;
10
+
11
+ /** @var string[] alias(string) => fullName(string) */
12
+ private $uses;
13
+
14
+ /** @var string|null */
15
+ private $className;
16
+
17
+ /**
18
+ * @param string|null $namespace
19
+ * @param string[] $uses alias(string) => fullName(string)
20
+ * @param string|null $className
21
+ */
22
+ public function __construct(?string $namespace, array $uses, ?string $className = null)
23
+ {
24
+ $this->namespace = $namespace;
25
+ $this->uses = $uses;
26
+ $this->className = $className;
27
+ }
28
+
29
+ public function getClassName(): ?string
30
+ {
31
+ return $this->className;
32
+ }
33
+
34
+ public function resolveStringName(string $name): string
35
+ {
36
+ if (strpos($name, '\\') === 0) {
37
+ return ltrim($name, '\\');
38
+ }
39
+
40
+ $nameParts = explode('\\', $name);
41
+ $firstNamePart = strtolower($nameParts[0]);
42
+ if (isset($this->uses[$firstNamePart])) {
43
+ if (count($nameParts) === 1) {
44
+ return $this->uses[$firstNamePart];
45
+ }
46
+ array_shift($nameParts);
47
+ return sprintf('%s\\%s', $this->uses[$firstNamePart], implode('\\', $nameParts));
48
+ }
49
+
50
+ if ($this->namespace !== null) {
51
+ return sprintf('%s\\%s', $this->namespace, $name);
52
+ }
53
+
54
+ return $name;
55
+ }
56
+
57
+ }
@@ -0,0 +1,2533 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ use PhpParser\Node;
6
+ use PhpParser\Node\Expr;
7
+ use PhpParser\Node\Expr\Array_;
8
+ use PhpParser\Node\Expr\ArrayDimFetch;
9
+ use PhpParser\Node\Expr\ArrayItem;
10
+ use PhpParser\Node\Expr\Assign;
11
+ use PhpParser\Node\Expr\AssignRef;
12
+ use PhpParser\Node\Expr\BinaryOp;
13
+ use PhpParser\Node\Expr\BinaryOp\BooleanAnd;
14
+ use PhpParser\Node\Expr\BinaryOp\BooleanOr;
15
+ use PhpParser\Node\Expr\BinaryOp\Coalesce;
16
+ use PhpParser\Node\Expr\BooleanNot;
17
+ use PhpParser\Node\Expr\Cast;
18
+ use PhpParser\Node\Expr\ConstFetch;
19
+ use PhpParser\Node\Expr\ErrorSuppress;
20
+ use PhpParser\Node\Expr\Exit_;
21
+ use PhpParser\Node\Expr\FuncCall;
22
+ use PhpParser\Node\Expr\Instanceof_;
23
+ use PhpParser\Node\Expr\List_;
24
+ use PhpParser\Node\Expr\MethodCall;
25
+ use PhpParser\Node\Expr\New_;
26
+ use PhpParser\Node\Expr\PropertyFetch;
27
+ use PhpParser\Node\Expr\StaticCall;
28
+ use PhpParser\Node\Expr\StaticPropertyFetch;
29
+ use PhpParser\Node\Expr\Ternary;
30
+ use PhpParser\Node\Expr\Variable;
31
+ use PhpParser\Node\Name;
32
+ use PhpParser\Node\Stmt\Break_;
33
+ use PhpParser\Node\Stmt\Class_;
34
+ use PhpParser\Node\Stmt\Continue_;
35
+ use PhpParser\Node\Stmt\Do_;
36
+ use PhpParser\Node\Stmt\Echo_;
37
+ use PhpParser\Node\Stmt\For_;
38
+ use PhpParser\Node\Stmt\Foreach_;
39
+ use PhpParser\Node\Stmt\If_;
40
+ use PhpParser\Node\Stmt\Return_;
41
+ use PhpParser\Node\Stmt\Static_;
42
+ use PhpParser\Node\Stmt\StaticVar;
43
+ use PhpParser\Node\Stmt\Switch_;
44
+ use PhpParser\Node\Stmt\Throw_;
45
+ use PhpParser\Node\Stmt\TryCatch;
46
+ use PhpParser\Node\Stmt\Unset_;
47
+ use PhpParser\Node\Stmt\While_;
48
+ use PHPStan\Broker\Broker;
49
+ use PHPStan\File\FileHelper;
50
+ use PHPStan\Node\ClosureReturnStatementsNode;
51
+ use PHPStan\Node\ExecutionEndNode;
52
+ use PHPStan\Node\FunctionReturnStatementsNode;
53
+ use PHPStan\Node\InArrowFunctionNode;
54
+ use PHPStan\Node\InClassMethodNode;
55
+ use PHPStan\Node\LiteralArrayItem;
56
+ use PHPStan\Node\LiteralArrayNode;
57
+ use PHPStan\Node\MethodReturnStatementsNode;
58
+ use PHPStan\Node\ReturnStatement;
59
+ use PHPStan\Node\UnreachableStatementNode;
60
+ use PHPStan\Parser\Parser;
61
+ use PHPStan\PhpDoc\PhpDocBlock;
62
+ use PHPStan\PhpDoc\Tag\ParamTag;
63
+ use PHPStan\Reflection\ClassReflection;
64
+ use PHPStan\Reflection\ExtendedPropertyReflection;
65
+ use PHPStan\Reflection\ParametersAcceptor;
66
+ use PHPStan\Reflection\ParametersAcceptorSelector;
67
+ use PHPStan\Type\Accessory\NonEmptyArrayType;
68
+ use PHPStan\Type\ArrayType;
69
+ use PHPStan\Type\ClosureType;
70
+ use PHPStan\Type\CommentHelper;
71
+ use PHPStan\Type\Constant\ConstantArrayType;
72
+ use PHPStan\Type\Constant\ConstantArrayTypeBuilder;
73
+ use PHPStan\Type\Constant\ConstantBooleanType;
74
+ use PHPStan\Type\Constant\ConstantIntegerType;
75
+ use PHPStan\Type\Constant\ConstantStringType;
76
+ use PHPStan\Type\ErrorType;
77
+ use PHPStan\Type\FileTypeMapper;
78
+ use PHPStan\Type\IntegerType;
79
+ use PHPStan\Type\MixedType;
80
+ use PHPStan\Type\NullType;
81
+ use PHPStan\Type\ObjectType;
82
+ use PHPStan\Type\StaticType;
83
+ use PHPStan\Type\StringType;
84
+ use PHPStan\Type\Type;
85
+ use PHPStan\Type\TypeCombinator;
86
+ use PHPStan\Type\TypeTraverser;
87
+ use PHPStan\Type\TypeUtils;
88
+ use PHPStan\Type\UnionType;
89
+
90
+ class NodeScopeResolver
91
+ {
92
+
93
+ private const LOOP_SCOPE_ITERATIONS = 3;
94
+ private const GENERALIZE_AFTER_ITERATION = 1;
95
+
96
+ /** @var \PHPStan\Broker\Broker */
97
+ private $broker;
98
+
99
+ /** @var \PHPStan\Parser\Parser */
100
+ private $parser;
101
+
102
+ /** @var \PHPStan\Type\FileTypeMapper */
103
+ private $fileTypeMapper;
104
+
105
+ /** @var \PHPStan\File\FileHelper */
106
+ private $fileHelper;
107
+
108
+ /** @var \PHPStan\Analyser\TypeSpecifier */
109
+ private $typeSpecifier;
110
+
111
+ /** @var bool */
112
+ private $polluteScopeWithLoopInitialAssignments;
113
+
114
+ /** @var bool */
115
+ private $polluteCatchScopeWithTryAssignments;
116
+
117
+ /** @var bool */
118
+ private $polluteScopeWithAlwaysIterableForeach;
119
+
120
+ /** @var string[][] className(string) => methods(string[]) */
121
+ private $earlyTerminatingMethodCalls;
122
+
123
+ /** @var bool */
124
+ private $allowVarTagAboveStatements;
125
+
126
+ /** @var bool[] filePath(string) => bool(true) */
127
+ private $analysedFiles;
128
+
129
+ /**
130
+ * @param Broker $broker
131
+ * @param Parser $parser
132
+ * @param FileTypeMapper $fileTypeMapper
133
+ * @param FileHelper $fileHelper
134
+ * @param TypeSpecifier $typeSpecifier
135
+ * @param bool $polluteScopeWithLoopInitialAssignments
136
+ * @param bool $polluteCatchScopeWithTryAssignments
137
+ * @param bool $polluteScopeWithAlwaysIterableForeach
138
+ * @param string[][] $earlyTerminatingMethodCalls className(string) => methods(string[])
139
+ * @param bool $allowVarTagAboveStatements
140
+ */
141
+ public function __construct(
142
+ Broker $broker,
143
+ Parser $parser,
144
+ FileTypeMapper $fileTypeMapper,
145
+ FileHelper $fileHelper,
146
+ TypeSpecifier $typeSpecifier,
147
+ bool $polluteScopeWithLoopInitialAssignments,
148
+ bool $polluteCatchScopeWithTryAssignments,
149
+ bool $polluteScopeWithAlwaysIterableForeach,
150
+ array $earlyTerminatingMethodCalls,
151
+ bool $allowVarTagAboveStatements
152
+ )
153
+ {
154
+ $this->broker = $broker;
155
+ $this->parser = $parser;
156
+ $this->fileTypeMapper = $fileTypeMapper;
157
+ $this->fileHelper = $fileHelper;
158
+ $this->typeSpecifier = $typeSpecifier;
159
+ $this->polluteScopeWithLoopInitialAssignments = $polluteScopeWithLoopInitialAssignments;
160
+ $this->polluteCatchScopeWithTryAssignments = $polluteCatchScopeWithTryAssignments;
161
+ $this->polluteScopeWithAlwaysIterableForeach = $polluteScopeWithAlwaysIterableForeach;
162
+ $this->earlyTerminatingMethodCalls = $earlyTerminatingMethodCalls;
163
+ $this->allowVarTagAboveStatements = $allowVarTagAboveStatements;
164
+ }
165
+
166
+ /**
167
+ * @param string[] $files
168
+ */
169
+ public function setAnalysedFiles(array $files): void
170
+ {
171
+ $this->analysedFiles = array_fill_keys($files, true);
172
+ }
173
+
174
+ /**
175
+ * @param \PhpParser\Node[] $nodes
176
+ * @param \PHPStan\Analyser\Scope $scope
177
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
178
+ */
179
+ public function processNodes(
180
+ array $nodes,
181
+ Scope $scope,
182
+ \Closure $nodeCallback
183
+ ): void
184
+ {
185
+ $nodesCount = count($nodes);
186
+ $alreadyTerminated = false;
187
+ foreach ($nodes as $i => $node) {
188
+ if (!$node instanceof Node\Stmt) {
189
+ continue;
190
+ }
191
+
192
+ $statementResult = $this->processStmtNode($node, $scope, $nodeCallback);
193
+ $scope = $statementResult->getScope();
194
+ if ($alreadyTerminated) {
195
+ continue;
196
+ }
197
+ if (!$statementResult->isAlwaysTerminating()) {
198
+ continue;
199
+ }
200
+
201
+ $alreadyTerminated = true;
202
+ if ($i < $nodesCount - 1) {
203
+ $nextStmt = $nodes[$i + 1];
204
+ if (!$nextStmt instanceof Node\Stmt) {
205
+ continue;
206
+ }
207
+
208
+ $nodeCallback(new UnreachableStatementNode($nextStmt), $scope);
209
+ }
210
+ // todo break;
211
+ }
212
+ }
213
+
214
+ /**
215
+ * @param \PhpParser\Node $parentNode
216
+ * @param \PhpParser\Node\Stmt[] $stmts
217
+ * @param \PHPStan\Analyser\Scope $scope
218
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
219
+ * @return StatementResult
220
+ */
221
+ public function processStmtNodes(
222
+ Node $parentNode,
223
+ array $stmts,
224
+ Scope $scope,
225
+ \Closure $nodeCallback
226
+ ): StatementResult
227
+ {
228
+ $exitPoints = [];
229
+ $alreadyTerminated = false;
230
+ $hasYield = false;
231
+ $stmtCount = count($stmts);
232
+ $shouldCheckLastStatement = $parentNode instanceof Node\Stmt\Function_
233
+ || $parentNode instanceof Node\Stmt\ClassMethod
234
+ || $parentNode instanceof Expr\Closure;
235
+ foreach ($stmts as $i => $stmt) {
236
+ $isLast = $i === $stmtCount - 1;
237
+ $statementResult = $this->processStmtNode(
238
+ $stmt,
239
+ $scope,
240
+ $nodeCallback
241
+ );
242
+ $scope = $statementResult->getScope();
243
+ $hasYield = $hasYield || $statementResult->hasYield();
244
+
245
+ if ($alreadyTerminated) {
246
+ continue;
247
+ }
248
+
249
+ if ($shouldCheckLastStatement && $isLast) {
250
+ /** @var Node\Stmt\Function_|Node\Stmt\ClassMethod|Expr\Closure $parentNode */
251
+ $parentNode = $parentNode;
252
+ $nodeCallback(new ExecutionEndNode(
253
+ $stmt,
254
+ new StatementResult(
255
+ $scope,
256
+ $hasYield,
257
+ $statementResult->isAlwaysTerminating(),
258
+ $statementResult->getExitPoints()
259
+ ),
260
+ $parentNode->returnType !== null
261
+ ), $scope);
262
+ }
263
+
264
+ $exitPoints = array_merge($exitPoints, $statementResult->getExitPoints());
265
+
266
+ if (!$statementResult->isAlwaysTerminating()) {
267
+ continue;
268
+ }
269
+
270
+ $alreadyTerminated = true;
271
+ if ($i < $stmtCount - 1) {
272
+ $nextStmt = $stmts[$i + 1];
273
+ $nodeCallback(new UnreachableStatementNode($nextStmt), $scope);
274
+ }
275
+
276
+ // todo break
277
+ }
278
+
279
+ $statementResult = new StatementResult($scope, $hasYield, $alreadyTerminated, $exitPoints);
280
+ if ($stmtCount === 0 && $shouldCheckLastStatement) {
281
+ /** @var Node\Stmt\Function_|Node\Stmt\ClassMethod|Expr\Closure $parentNode */
282
+ $parentNode = $parentNode;
283
+ $nodeCallback(new ExecutionEndNode(
284
+ $parentNode,
285
+ $statementResult,
286
+ $parentNode->returnType !== null
287
+ ), $scope);
288
+ }
289
+
290
+ return $statementResult;
291
+ }
292
+
293
+ /**
294
+ * @param \PhpParser\Node\Stmt $stmt
295
+ * @param \PHPStan\Analyser\Scope $scope
296
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
297
+ * @return StatementResult
298
+ */
299
+ private function processStmtNode(
300
+ Node\Stmt $stmt,
301
+ Scope $scope,
302
+ \Closure $nodeCallback
303
+ ): StatementResult
304
+ {
305
+ $nodeCallback($stmt, $scope);
306
+
307
+ if ($stmt instanceof Node\Stmt\Declare_) {
308
+ $hasYield = false;
309
+ foreach ($stmt->declares as $declare) {
310
+ $nodeCallback($declare, $scope);
311
+ $nodeCallback($declare->value, $scope);
312
+ if (
313
+ $declare->key->name !== 'strict_types'
314
+ || !($declare->value instanceof Node\Scalar\LNumber)
315
+ || $declare->value->value !== 1
316
+ ) {
317
+ continue;
318
+ }
319
+
320
+ $scope = $scope->enterDeclareStrictTypes();
321
+ }
322
+ } elseif ($stmt instanceof Node\Stmt\Function_) {
323
+ $hasYield = false;
324
+ [$phpDocParameterTypes, $phpDocReturnType, $phpDocThrowType, $deprecatedDescription, $isDeprecated, $isInternal, $isFinal] = $this->getPhpDocs($scope, $stmt);
325
+
326
+ foreach ($stmt->params as $param) {
327
+ $this->processParamNode($param, $scope, $nodeCallback);
328
+ }
329
+
330
+ if ($stmt->returnType !== null) {
331
+ $nodeCallback($stmt->returnType, $scope);
332
+ }
333
+
334
+ $functionScope = $scope->enterFunction(
335
+ $stmt,
336
+ $phpDocParameterTypes,
337
+ $phpDocReturnType,
338
+ $phpDocThrowType,
339
+ $deprecatedDescription,
340
+ $isDeprecated,
341
+ $isInternal,
342
+ $isFinal
343
+ );
344
+
345
+ $gatheredReturnStatements = [];
346
+ $statementResult = $this->processStmtNodes($stmt, $stmt->stmts, $functionScope, static function (\PhpParser\Node $node, Scope $scope) use ($nodeCallback, &$gatheredReturnStatements): void {
347
+ $nodeCallback($node, $scope);
348
+ if (!$node instanceof Return_) {
349
+ return;
350
+ }
351
+
352
+ $gatheredReturnStatements[] = new ReturnStatement($scope, $node);
353
+ });
354
+
355
+ $nodeCallback(new FunctionReturnStatementsNode(
356
+ $stmt,
357
+ $gatheredReturnStatements,
358
+ $statementResult
359
+ ), $functionScope);
360
+ } elseif ($stmt instanceof Node\Stmt\ClassMethod) {
361
+ $hasYield = false;
362
+ [$phpDocParameterTypes, $phpDocReturnType, $phpDocThrowType, $deprecatedDescription, $isDeprecated, $isInternal, $isFinal] = $this->getPhpDocs($scope, $stmt);
363
+
364
+ foreach ($stmt->params as $param) {
365
+ $this->processParamNode($param, $scope, $nodeCallback);
366
+ }
367
+
368
+ if ($stmt->returnType !== null) {
369
+ $nodeCallback($stmt->returnType, $scope);
370
+ }
371
+
372
+ if ($phpDocReturnType !== null) {
373
+ if (!$scope->isInClass()) {
374
+ throw new \PHPStan\ShouldNotHappenException();
375
+ }
376
+
377
+ $className = $scope->getClassReflection()->getName();
378
+ $phpDocReturnType = TypeTraverser::map($phpDocReturnType, static function (Type $type, callable $traverse) use ($className): Type {
379
+ if ($type instanceof StaticType) {
380
+ return $traverse($type->changeBaseClass($className));
381
+ }
382
+
383
+ return $traverse($type);
384
+ });
385
+ }
386
+
387
+ $methodScope = $scope->enterClassMethod(
388
+ $stmt,
389
+ $phpDocParameterTypes,
390
+ $phpDocReturnType,
391
+ $phpDocThrowType,
392
+ $deprecatedDescription,
393
+ $isDeprecated,
394
+ $isInternal,
395
+ $isFinal
396
+ );
397
+ $nodeCallback(new InClassMethodNode($stmt), $methodScope);
398
+
399
+ if ($stmt->stmts !== null) {
400
+ $gatheredReturnStatements = [];
401
+ $statementResult = $this->processStmtNodes($stmt, $stmt->stmts, $methodScope, static function (\PhpParser\Node $node, Scope $scope) use ($nodeCallback, &$gatheredReturnStatements): void {
402
+ $nodeCallback($node, $scope);
403
+ if (!$node instanceof Return_) {
404
+ return;
405
+ }
406
+
407
+ $gatheredReturnStatements[] = new ReturnStatement($scope, $node);
408
+ });
409
+ $nodeCallback(new MethodReturnStatementsNode(
410
+ $stmt,
411
+ $gatheredReturnStatements,
412
+ $statementResult
413
+ ), $methodScope);
414
+ }
415
+ } elseif ($stmt instanceof Echo_) {
416
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
417
+ $hasYield = false;
418
+ foreach ($stmt->exprs as $echoExpr) {
419
+ $result = $this->processExprNode($echoExpr, $scope, $nodeCallback, ExpressionContext::createDeep());
420
+ $scope = $result->getScope();
421
+ $hasYield = $hasYield || $result->hasYield();
422
+ }
423
+ } elseif ($stmt instanceof Return_) {
424
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
425
+ if ($stmt->expr !== null) {
426
+ $result = $this->processExprNode($stmt->expr, $scope, $nodeCallback, ExpressionContext::createDeep());
427
+ $scope = $result->getScope();
428
+ $hasYield = $result->hasYield();
429
+ } else {
430
+ $hasYield = false;
431
+ }
432
+
433
+ return new StatementResult($scope, $hasYield, true, [
434
+ new StatementExitPoint($stmt, $scope),
435
+ ]);
436
+ } elseif ($stmt instanceof Continue_ || $stmt instanceof Break_) {
437
+ if ($stmt->num !== null) {
438
+ $result = $this->processExprNode($stmt->num, $scope, $nodeCallback, ExpressionContext::createDeep());
439
+ $scope = $result->getScope();
440
+ $hasYield = $result->hasYield();
441
+ } else {
442
+ $hasYield = false;
443
+ }
444
+
445
+ return new StatementResult($scope, $hasYield, true, [
446
+ new StatementExitPoint($stmt, $scope),
447
+ ]);
448
+ } elseif ($stmt instanceof Node\Stmt\Expression) {
449
+ if (!$stmt->expr instanceof Assign && !$stmt->expr instanceof AssignRef) {
450
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
451
+ }
452
+ $earlyTerminationExpr = $this->findEarlyTerminatingExpr($stmt->expr, $scope);
453
+ $result = $this->processExprNode($stmt->expr, $scope, $nodeCallback, ExpressionContext::createTopLevel());
454
+ $scope = $result->getScope();
455
+ $scope = $scope->filterBySpecifiedTypes($this->typeSpecifier->specifyTypesInCondition(
456
+ $scope,
457
+ $stmt->expr,
458
+ TypeSpecifierContext::createNull()
459
+ ));
460
+ $hasYield = $result->hasYield();
461
+ if ($earlyTerminationExpr !== null) {
462
+ return new StatementResult($scope, $hasYield, true, [
463
+ new StatementExitPoint($stmt, $scope),
464
+ ]);
465
+ }
466
+ } elseif ($stmt instanceof Node\Stmt\Namespace_) {
467
+ if ($stmt->name !== null) {
468
+ $scope = $scope->enterNamespace($stmt->name->toString());
469
+ }
470
+
471
+ $scope = $this->processStmtNodes($stmt, $stmt->stmts, $scope, $nodeCallback)->getScope();
472
+ $hasYield = false;
473
+ } elseif ($stmt instanceof Node\Stmt\Trait_) {
474
+ return new StatementResult($scope, false, false, []);
475
+ } elseif ($stmt instanceof Node\Stmt\ClassLike) {
476
+ $hasYield = false;
477
+ if (isset($stmt->namespacedName)) {
478
+ $classScope = $scope->enterClass($this->broker->getClass((string) $stmt->namespacedName));
479
+ } elseif ($stmt instanceof Class_) {
480
+ if ($stmt->name === null) {
481
+ throw new \PHPStan\ShouldNotHappenException();
482
+ }
483
+ $classScope = $scope->enterClass($this->broker->getClass($stmt->name->toString()));
484
+ } else {
485
+ throw new \PHPStan\ShouldNotHappenException();
486
+ }
487
+
488
+ $this->processStmtNodes($stmt, $stmt->stmts, $classScope, $nodeCallback);
489
+ } elseif ($stmt instanceof Node\Stmt\Property) {
490
+ $hasYield = false;
491
+ foreach ($stmt->props as $prop) {
492
+ $this->processStmtNode($prop, $scope, $nodeCallback);
493
+ }
494
+
495
+ if ($stmt->type !== null) {
496
+ $nodeCallback($stmt->type, $scope);
497
+ }
498
+ } elseif ($stmt instanceof Node\Stmt\PropertyProperty) {
499
+ $hasYield = false;
500
+ if ($stmt->default !== null) {
501
+ $this->processExprNode($stmt->default, $scope, $nodeCallback, ExpressionContext::createDeep());
502
+ }
503
+ } elseif ($stmt instanceof Throw_) {
504
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
505
+ $result = $this->processExprNode($stmt->expr, $scope, $nodeCallback, ExpressionContext::createDeep());
506
+ return new StatementResult($result->getScope(), $result->hasYield(), true, [
507
+ new StatementExitPoint($stmt, $scope),
508
+ ]);
509
+ } elseif ($stmt instanceof If_) {
510
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
511
+ $conditionType = $scope->getType($stmt->cond)->toBoolean();
512
+ $ifAlwaysTrue = $conditionType instanceof ConstantBooleanType && $conditionType->getValue();
513
+ $condResult = $this->processExprNode($stmt->cond, $scope, $nodeCallback, ExpressionContext::createDeep());
514
+ $exitPoints = [];
515
+ $finalScope = null;
516
+ $alwaysTerminating = true;
517
+ $hasYield = false;
518
+
519
+ $branchScopeStatementResult = $this->processStmtNodes($stmt, $stmt->stmts, $condResult->getTruthyScope(), $nodeCallback);
520
+
521
+ if (!$conditionType instanceof ConstantBooleanType || $conditionType->getValue()) {
522
+ $exitPoints = $branchScopeStatementResult->getExitPoints();
523
+ $branchScope = $branchScopeStatementResult->getScope();
524
+ $finalScope = $branchScopeStatementResult->isAlwaysTerminating() ? null : $branchScope;
525
+ $alwaysTerminating = $branchScopeStatementResult->isAlwaysTerminating();
526
+ $hasYield = $branchScopeStatementResult->hasYield();
527
+ }
528
+
529
+ $scope = $condResult->getFalseyScope();
530
+ $lastElseIfConditionIsTrue = false;
531
+
532
+ $condScope = $scope;
533
+ foreach ($stmt->elseifs as $elseif) {
534
+ $nodeCallback($elseif, $scope);
535
+ $elseIfConditionType = $condScope->getType($elseif->cond)->toBoolean();
536
+ $condResult = $this->processExprNode($elseif->cond, $condScope, $nodeCallback, ExpressionContext::createDeep());
537
+ $condScope = $condResult->getScope();
538
+ $branchScopeStatementResult = $this->processStmtNodes($elseif, $elseif->stmts, $condResult->getTruthyScope(), $nodeCallback);
539
+
540
+ if (
541
+ !$ifAlwaysTrue
542
+ && (
543
+ !$lastElseIfConditionIsTrue
544
+ && (
545
+ !$elseIfConditionType instanceof ConstantBooleanType
546
+ || $elseIfConditionType->getValue()
547
+ )
548
+ )
549
+ ) {
550
+ $exitPoints = array_merge($exitPoints, $branchScopeStatementResult->getExitPoints());
551
+ $branchScope = $branchScopeStatementResult->getScope();
552
+ $finalScope = $branchScopeStatementResult->isAlwaysTerminating() ? $finalScope : $branchScope->mergeWith($finalScope);
553
+ $alwaysTerminating = $alwaysTerminating && $branchScopeStatementResult->isAlwaysTerminating();
554
+ $hasYield = $hasYield || $branchScopeStatementResult->hasYield();
555
+ }
556
+
557
+ if (
558
+ $elseIfConditionType instanceof ConstantBooleanType
559
+ && $elseIfConditionType->getValue()
560
+ ) {
561
+ $lastElseIfConditionIsTrue = true;
562
+ }
563
+
564
+ $condScope = $condScope->filterByFalseyValue($elseif->cond);
565
+ $scope = $condScope;
566
+ }
567
+
568
+ if ($stmt->else === null) {
569
+ if (!$ifAlwaysTrue) {
570
+ $finalScope = $scope->mergeWith($finalScope);
571
+ $alwaysTerminating = false;
572
+ }
573
+ } else {
574
+ $nodeCallback($stmt->else, $scope);
575
+ $branchScopeStatementResult = $this->processStmtNodes($stmt->else, $stmt->else->stmts, $scope, $nodeCallback);
576
+
577
+ if (!$ifAlwaysTrue && !$lastElseIfConditionIsTrue) {
578
+ $exitPoints = array_merge($exitPoints, $branchScopeStatementResult->getExitPoints());
579
+ $branchScope = $branchScopeStatementResult->getScope();
580
+ $finalScope = $branchScopeStatementResult->isAlwaysTerminating() ? $finalScope : $branchScope->mergeWith($finalScope);
581
+ $alwaysTerminating = $alwaysTerminating && $branchScopeStatementResult->isAlwaysTerminating();
582
+ $hasYield = $hasYield || $branchScopeStatementResult->hasYield();
583
+ }
584
+ }
585
+
586
+ if ($finalScope === null) {
587
+ $finalScope = $scope;
588
+ }
589
+
590
+ return new StatementResult($finalScope, $hasYield, $alwaysTerminating, $exitPoints);
591
+ } elseif ($stmt instanceof Node\Stmt\TraitUse) {
592
+ $hasYield = false;
593
+ $this->processTraitUse($stmt, $scope, $nodeCallback);
594
+ } elseif ($stmt instanceof Foreach_) {
595
+ $scope = $this->processExprNode($stmt->expr, $scope, $nodeCallback, ExpressionContext::createDeep())->getScope();
596
+ $bodyScope = $this->enterForeach($scope, $stmt);
597
+ $count = 0;
598
+ do {
599
+ $prevScope = $bodyScope;
600
+ $bodyScope = $bodyScope->mergeWith($scope);
601
+ $bodyScope = $this->enterForeach($bodyScope, $stmt);
602
+ $bodyScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, static function (): void {
603
+ })->filterOutLoopExitPoints();
604
+ $alwaysTerminating = $bodyScopeResult->isAlwaysTerminating();
605
+ $bodyScope = $bodyScopeResult->getScope();
606
+ foreach ($bodyScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
607
+ $bodyScope = $bodyScope->mergeWith($continueExitPoint->getScope());
608
+ }
609
+ if ($bodyScope->equals($prevScope)) {
610
+ break;
611
+ }
612
+
613
+ if ($count >= self::GENERALIZE_AFTER_ITERATION) {
614
+ $bodyScope = $bodyScope->generalizeWith($prevScope);
615
+ }
616
+ $count++;
617
+ } while (!$alwaysTerminating && $count < self::LOOP_SCOPE_ITERATIONS);
618
+
619
+ $bodyScope = $bodyScope->mergeWith($scope);
620
+ $bodyScope = $this->enterForeach($bodyScope, $stmt);
621
+ $finalScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, $nodeCallback)->filterOutLoopExitPoints();
622
+ $finalScope = $finalScopeResult->getScope();
623
+ foreach ($finalScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
624
+ $finalScope = $continueExitPoint->getScope()->mergeWith($finalScope);
625
+ }
626
+ foreach ($finalScopeResult->getExitPointsByType(Break_::class) as $breakExitPoint) {
627
+ $finalScope = $breakExitPoint->getScope()->mergeWith($finalScope);
628
+ }
629
+
630
+ $isIterableAtLeastOnce = $scope->getType($stmt->expr)->isIterableAtLeastOnce();
631
+ if ($isIterableAtLeastOnce->no() || $finalScopeResult->isAlwaysTerminating()) {
632
+ $finalScope = $scope;
633
+ } elseif ($isIterableAtLeastOnce->maybe()) {
634
+ $finalScope = $finalScope->mergeWith($scope);
635
+ } elseif (!$this->polluteScopeWithAlwaysIterableForeach) {
636
+ $finalScope = $scope->processAlwaysIterableForeachScopeWithoutPollute($finalScope);
637
+ // get types from finalScope, but don't create new variables
638
+ }
639
+
640
+ return new StatementResult(
641
+ $finalScope,
642
+ $finalScopeResult->hasYield(),
643
+ $isIterableAtLeastOnce->yes() && $finalScopeResult->isAlwaysTerminating(),
644
+ []
645
+ );
646
+ } elseif ($stmt instanceof While_) {
647
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
648
+ $condResult = $this->processExprNode($stmt->cond, $scope, static function (): void {
649
+ }, ExpressionContext::createDeep());
650
+ $bodyScope = $condResult->getTruthyScope();
651
+ $count = 0;
652
+ do {
653
+ $prevScope = $bodyScope;
654
+ $bodyScope = $bodyScope->mergeWith($scope);
655
+ $bodyScope = $this->processExprNode($stmt->cond, $bodyScope, static function (): void {
656
+ }, ExpressionContext::createDeep())->getTruthyScope();
657
+ $bodyScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, static function (): void {
658
+ })->filterOutLoopExitPoints();
659
+ $alwaysTerminating = $bodyScopeResult->isAlwaysTerminating();
660
+ $bodyScope = $bodyScopeResult->getScope();
661
+ foreach ($bodyScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
662
+ $bodyScope = $bodyScope->mergeWith($continueExitPoint->getScope());
663
+ }
664
+ if ($bodyScope->equals($prevScope)) {
665
+ break;
666
+ }
667
+
668
+ if ($count >= self::GENERALIZE_AFTER_ITERATION) {
669
+ $bodyScope = $bodyScope->generalizeWith($prevScope);
670
+ }
671
+ $count++;
672
+ } while (!$alwaysTerminating && $count < self::LOOP_SCOPE_ITERATIONS);
673
+
674
+ $bodyScope = $bodyScope->mergeWith($scope);
675
+ $bodyScopeMaybeRan = $bodyScope;
676
+ $bodyScope = $this->processExprNode($stmt->cond, $bodyScope, $nodeCallback, ExpressionContext::createDeep())->getTruthyScope();
677
+ $finalScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, $nodeCallback)->filterOutLoopExitPoints();
678
+ $finalScope = $finalScopeResult->getScope();
679
+ foreach ($finalScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
680
+ $finalScope = $finalScope->mergeWith($continueExitPoint->getScope());
681
+ }
682
+ $breakExitPoints = $finalScopeResult->getExitPointsByType(Break_::class);
683
+ foreach ($breakExitPoints as $breakExitPoint) {
684
+ $finalScope = $finalScope->mergeWith($breakExitPoint->getScope());
685
+ }
686
+
687
+ $beforeCondBooleanType = $scope->getType($stmt->cond)->toBoolean();
688
+ $condBooleanType = $bodyScopeMaybeRan->getType($stmt->cond)->toBoolean();
689
+ $isIterableAtLeastOnce = $beforeCondBooleanType instanceof ConstantBooleanType && $beforeCondBooleanType->getValue();
690
+ $alwaysIterates = $condBooleanType instanceof ConstantBooleanType && $condBooleanType->getValue();
691
+
692
+ if ($alwaysIterates) {
693
+ $isAlwaysTerminating = count($finalScopeResult->getExitPointsByType(Break_::class)) === 0;
694
+ } elseif ($isIterableAtLeastOnce) {
695
+ $isAlwaysTerminating = $finalScopeResult->isAlwaysTerminating();
696
+ } else {
697
+ $isAlwaysTerminating = false;
698
+ }
699
+ // todo for all loops - is not falsey when the loop is exited via break
700
+ $condScope = $condResult->getFalseyScope();
701
+ if (!$isIterableAtLeastOnce) {
702
+ if (!$this->polluteScopeWithLoopInitialAssignments) {
703
+ $condScope = $condScope->mergeWith($scope);
704
+ }
705
+ $finalScope = $finalScope->mergeWith($condScope);
706
+ }
707
+
708
+ return new StatementResult(
709
+ $finalScope,
710
+ $finalScopeResult->hasYield(),
711
+ $isAlwaysTerminating,
712
+ []
713
+ );
714
+ } elseif ($stmt instanceof Do_) {
715
+ $finalScope = null;
716
+ $bodyScope = $scope;
717
+ $count = 0;
718
+ do {
719
+ $prevScope = $bodyScope;
720
+ $bodyScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, static function (): void {
721
+ })->filterOutLoopExitPoints();
722
+ $alwaysTerminating = $bodyScopeResult->isAlwaysTerminating();
723
+ $bodyScope = $bodyScopeResult->getScope();
724
+ foreach ($bodyScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
725
+ $bodyScope = $bodyScope->mergeWith($continueExitPoint->getScope());
726
+ }
727
+ $finalScope = $alwaysTerminating ? $finalScope : $bodyScope->mergeWith($finalScope);
728
+ foreach ($bodyScopeResult->getExitPointsByType(Break_::class) as $breakExitPoint) {
729
+ $finalScope = $breakExitPoint->getScope()->mergeWith($finalScope);
730
+ }
731
+ $bodyScope = $this->processExprNode($stmt->cond, $bodyScope, static function (): void {
732
+ }, ExpressionContext::createDeep())->getTruthyScope();
733
+ if ($bodyScope->equals($prevScope)) {
734
+ break;
735
+ }
736
+
737
+ if ($count >= self::GENERALIZE_AFTER_ITERATION) {
738
+ $bodyScope = $bodyScope->generalizeWith($prevScope);
739
+ }
740
+ $count++;
741
+ } while (!$alwaysTerminating && $count < self::LOOP_SCOPE_ITERATIONS);
742
+
743
+ $bodyScope = $bodyScope->mergeWith($scope);
744
+
745
+ $bodyScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, $nodeCallback)->filterOutLoopExitPoints();
746
+ $bodyScope = $bodyScopeResult->getScope();
747
+ $condBooleanType = $bodyScope->getType($stmt->cond)->toBoolean();
748
+ $alwaysIterates = $condBooleanType instanceof ConstantBooleanType && $condBooleanType->getValue();
749
+
750
+ if ($alwaysIterates) {
751
+ $alwaysTerminating = count($bodyScopeResult->getExitPointsByType(Break_::class)) === 0;
752
+ } else {
753
+ $alwaysTerminating = $bodyScopeResult->isAlwaysTerminating();
754
+ }
755
+ foreach ($bodyScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
756
+ $bodyScope = $bodyScope->mergeWith($continueExitPoint->getScope());
757
+ }
758
+ $finalScope = $alwaysTerminating ? $finalScope : $bodyScope->mergeWith($finalScope);
759
+ if ($finalScope === null) {
760
+ $finalScope = $scope;
761
+ }
762
+ if (!$alwaysTerminating) {
763
+ $finalScope = $this->processExprNode($stmt->cond, $bodyScope, $nodeCallback, ExpressionContext::createDeep())->getFalseyScope();
764
+ // todo not falsey if it breaks out of the loop using break;
765
+ }
766
+ foreach ($bodyScopeResult->getExitPointsByType(Break_::class) as $breakExitPoint) {
767
+ $finalScope = $breakExitPoint->getScope()->mergeWith($finalScope);
768
+ }
769
+
770
+ return new StatementResult($finalScope, $bodyScopeResult->hasYield(), $alwaysTerminating, []);
771
+ } elseif ($stmt instanceof For_) {
772
+ $initScope = $scope;
773
+ foreach ($stmt->init as $initExpr) {
774
+ $initScope = $this->processExprNode($initExpr, $initScope, $nodeCallback, ExpressionContext::createTopLevel())->getScope();
775
+ }
776
+
777
+ $bodyScope = $initScope;
778
+ foreach ($stmt->cond as $condExpr) {
779
+ $bodyScope = $this->processExprNode($condExpr, $bodyScope, static function (): void {
780
+ }, ExpressionContext::createDeep())->getTruthyScope();
781
+ }
782
+
783
+ $count = 0;
784
+ do {
785
+ $prevScope = $bodyScope;
786
+ $bodyScope = $bodyScope->mergeWith($initScope);
787
+ foreach ($stmt->cond as $condExpr) {
788
+ $bodyScope = $this->processExprNode($condExpr, $bodyScope, static function (): void {
789
+ }, ExpressionContext::createDeep())->getTruthyScope();
790
+ }
791
+ $bodyScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, static function (): void {
792
+ })->filterOutLoopExitPoints();
793
+ $alwaysTerminating = $bodyScopeResult->isAlwaysTerminating();
794
+ $bodyScope = $bodyScopeResult->getScope();
795
+ foreach ($bodyScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
796
+ $bodyScope = $bodyScope->mergeWith($continueExitPoint->getScope());
797
+ }
798
+ foreach ($stmt->loop as $loopExpr) {
799
+ $bodyScope = $this->processExprNode($loopExpr, $bodyScope, static function (): void {
800
+ }, ExpressionContext::createTopLevel())->getScope();
801
+ }
802
+
803
+ if ($bodyScope->equals($prevScope)) {
804
+ break;
805
+ }
806
+
807
+ if ($count >= self::GENERALIZE_AFTER_ITERATION) {
808
+ $bodyScope = $bodyScope->generalizeWith($prevScope);
809
+ }
810
+ $count++;
811
+ } while (!$alwaysTerminating && $count < self::LOOP_SCOPE_ITERATIONS);
812
+
813
+ $bodyScope = $bodyScope->mergeWith($initScope);
814
+ foreach ($stmt->cond as $condExpr) {
815
+ $bodyScope = $this->processExprNode($condExpr, $bodyScope, $nodeCallback, ExpressionContext::createDeep())->getTruthyScope();
816
+ }
817
+
818
+ $finalScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $bodyScope, $nodeCallback)->filterOutLoopExitPoints();
819
+ $finalScope = $finalScopeResult->getScope();
820
+ foreach ($finalScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
821
+ $finalScope = $continueExitPoint->getScope()->mergeWith($finalScope);
822
+ }
823
+ foreach ($stmt->loop as $loopExpr) {
824
+ $finalScope = $this->processExprNode($loopExpr, $finalScope, $nodeCallback, ExpressionContext::createTopLevel())->getScope();
825
+ }
826
+ foreach ($finalScopeResult->getExitPointsByType(Break_::class) as $breakExitPoint) {
827
+ $finalScope = $breakExitPoint->getScope()->mergeWith($finalScope);
828
+ }
829
+
830
+ if ($this->polluteScopeWithLoopInitialAssignments) {
831
+ $scope = $initScope;
832
+ }
833
+
834
+ $finalScope = $finalScope->mergeWith($scope);
835
+
836
+ /*foreach ($stmt->cond as $condExpr) {
837
+ // todo not if breaks out of the loop using break;
838
+ //$finalScope = $finalScope->filterByFalseyValue($condExpr);
839
+ }*/
840
+
841
+ return new StatementResult($finalScope, $finalScopeResult->hasYield(), false/* $finalScopeResult->isAlwaysTerminating() && $isAlwaysIterable*/, []);
842
+ } elseif ($stmt instanceof Switch_) {
843
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
844
+ $scope = $this->processExprNode($stmt->cond, $scope, $nodeCallback, ExpressionContext::createDeep())->getScope();
845
+ $scopeForBranches = $scope;
846
+ $finalScope = null;
847
+ $prevScope = null;
848
+ $hasDefaultCase = false;
849
+ $alwaysTerminating = true;
850
+ $hasYield = false;
851
+ foreach ($stmt->cases as $caseNode) {
852
+ if ($caseNode->cond !== null) {
853
+ $condExpr = new BinaryOp\Equal($stmt->cond, $caseNode->cond);
854
+ $scopeForBranches = $this->processExprNode($caseNode->cond, $scopeForBranches, $nodeCallback, ExpressionContext::createDeep())->getScope();
855
+ $branchScope = $scopeForBranches->filterByTruthyValue($condExpr);
856
+ } else {
857
+ $hasDefaultCase = true;
858
+ $branchScope = $scopeForBranches;
859
+ }
860
+
861
+ $branchScope = $branchScope->mergeWith($prevScope);
862
+ $branchScopeResult = $this->processStmtNodes($caseNode, $caseNode->stmts, $branchScope, $nodeCallback);
863
+ $branchScope = $branchScopeResult->getScope();
864
+ $branchFinalScopeResult = $branchScopeResult->filterOutLoopExitPoints();
865
+ $hasYield = $hasYield || $branchFinalScopeResult->hasYield();
866
+ foreach ($branchScopeResult->getExitPointsByType(Break_::class) as $breakExitPoint) {
867
+ $finalScope = $breakExitPoint->getScope()->mergeWith($finalScope);
868
+ }
869
+ foreach ($branchScopeResult->getExitPointsByType(Continue_::class) as $continueExitPoint) {
870
+ $finalScope = $continueExitPoint->getScope()->mergeWith($finalScope);
871
+ }
872
+ if ($branchScopeResult->isAlwaysTerminating()) {
873
+ $alwaysTerminating = $alwaysTerminating && $branchFinalScopeResult->isAlwaysTerminating();
874
+ $prevScope = null;
875
+ if (isset($condExpr)) {
876
+ $scopeForBranches = $scopeForBranches->filterByFalseyValue($condExpr);
877
+ }
878
+ if (!$branchFinalScopeResult->isAlwaysTerminating()) {
879
+ $finalScope = $branchScope->mergeWith($finalScope);
880
+ }
881
+ } else {
882
+ $prevScope = $branchScope;
883
+ }
884
+ }
885
+
886
+ if (!$hasDefaultCase) {
887
+ $alwaysTerminating = false;
888
+ }
889
+
890
+ if ($prevScope !== null && isset($branchFinalScopeResult)) {
891
+ $finalScope = $prevScope->mergeWith($finalScope);
892
+ $alwaysTerminating = $alwaysTerminating && $branchFinalScopeResult->isAlwaysTerminating();
893
+ }
894
+
895
+ if (!$hasDefaultCase || $finalScope === null) {
896
+ $finalScope = $scope->mergeWith($finalScope);
897
+ }
898
+
899
+ return new StatementResult($finalScope, $hasYield, $alwaysTerminating, []);
900
+ } elseif ($stmt instanceof TryCatch) {
901
+ $branchScopeResult = $this->processStmtNodes($stmt, $stmt->stmts, $scope, $nodeCallback);
902
+ $branchScope = $branchScopeResult->getScope();
903
+ $tryScope = $branchScope;
904
+ $exitPoints = [];
905
+ $finalScope = $branchScopeResult->isAlwaysTerminating() ? null : $branchScope;
906
+ $alwaysTerminating = $branchScopeResult->isAlwaysTerminating();
907
+ $hasYield = $branchScopeResult->hasYield();
908
+
909
+ if ($stmt->finally !== null) {
910
+ $finallyScope = $branchScope;
911
+ } else {
912
+ $finallyScope = null;
913
+ }
914
+ foreach ($branchScopeResult->getExitPoints() as $exitPoint) {
915
+ if ($finallyScope !== null) {
916
+ $finallyScope = $finallyScope->mergeWith($exitPoint->getScope());
917
+ }
918
+ $exitPoints[] = $exitPoint;
919
+ }
920
+
921
+ foreach ($stmt->catches as $catchNode) {
922
+ $nodeCallback($catchNode, $scope);
923
+ if (!is_string($catchNode->var->name)) {
924
+ throw new \PHPStan\ShouldNotHappenException();
925
+ }
926
+
927
+ if (!$this->polluteCatchScopeWithTryAssignments) {
928
+ $catchScopeResult = $this->processCatchNode($catchNode, $scope->mergeWith($tryScope), $nodeCallback);
929
+ $catchScopeForFinally = $catchScopeResult->getScope();
930
+ } else {
931
+ $catchScopeForFinally = $this->processCatchNode($catchNode, $tryScope, $nodeCallback)->getScope();
932
+ $catchScopeResult = $this->processCatchNode($catchNode, $scope->mergeWith($tryScope), static function (): void {
933
+ });
934
+ }
935
+
936
+ $finalScope = $catchScopeResult->isAlwaysTerminating() ? $finalScope : $catchScopeResult->getScope()->mergeWith($finalScope);
937
+ $alwaysTerminating = $alwaysTerminating && $catchScopeResult->isAlwaysTerminating();
938
+ $hasYield = $hasYield || $catchScopeResult->hasYield();
939
+
940
+ if ($finallyScope !== null) {
941
+ $finallyScope = $finallyScope->mergeWith($catchScopeForFinally);
942
+ }
943
+ foreach ($catchScopeResult->getExitPoints() as $exitPoint) {
944
+ if ($finallyScope !== null) {
945
+ $finallyScope = $finallyScope->mergeWith($exitPoint->getScope());
946
+ }
947
+ $exitPoints[] = $exitPoint;
948
+ }
949
+ }
950
+
951
+ if ($finalScope === null) {
952
+ $finalScope = $scope;
953
+ }
954
+
955
+ if ($finallyScope !== null && $stmt->finally !== null) {
956
+ $originalFinallyScope = $finallyScope;
957
+ $finallyResult = $this->processStmtNodes($stmt->finally, $stmt->finally->stmts, $finallyScope, $nodeCallback);
958
+ $alwaysTerminating = $alwaysTerminating || $finallyResult->isAlwaysTerminating();
959
+ $hasYield = $hasYield || $finallyResult->hasYield();
960
+ $finallyScope = $finallyResult->getScope();
961
+ $finalScope = $finallyResult->isAlwaysTerminating() ? $finalScope : $finalScope->processFinallyScope($finallyScope, $originalFinallyScope);
962
+ $exitPoints = array_merge($exitPoints, $finallyResult->getExitPoints());
963
+ }
964
+
965
+ return new StatementResult($finalScope, $hasYield, $alwaysTerminating, $exitPoints);
966
+ } elseif ($stmt instanceof Unset_) {
967
+ $hasYield = false;
968
+ foreach ($stmt->vars as $var) {
969
+ $scope = $this->lookForEnterVariableAssign($scope, $var);
970
+ $scope = $this->processExprNode($var, $scope, $nodeCallback, ExpressionContext::createDeep())->getScope();
971
+ $scope = $this->lookForExitVariableAssign($scope, $var);
972
+ $scope = $scope->unsetExpression($var);
973
+ }
974
+ } elseif ($stmt instanceof Node\Stmt\Use_) {
975
+ $hasYield = false;
976
+ foreach ($stmt->uses as $use) {
977
+ $this->processStmtNode($use, $scope, $nodeCallback);
978
+ }
979
+ } elseif ($stmt instanceof Node\Stmt\Global_) {
980
+ $hasYield = false;
981
+ foreach ($stmt->vars as $var) {
982
+ if (!$var instanceof Variable) {
983
+ throw new \PHPStan\ShouldNotHappenException();
984
+ }
985
+ $scope = $this->lookForEnterVariableAssign($scope, $var);
986
+ $this->processExprNode($var, $scope, $nodeCallback, ExpressionContext::createDeep());
987
+ $scope = $this->lookForExitVariableAssign($scope, $var);
988
+
989
+ if (!is_string($var->name)) {
990
+ continue;
991
+ }
992
+
993
+ $scope = $scope->assignVariable($var->name, new MixedType());
994
+ }
995
+ } elseif ($stmt instanceof Static_) {
996
+ $hasYield = false;
997
+ $comment = CommentHelper::getDocComment($stmt);
998
+ foreach ($stmt->vars as $var) {
999
+ $scope = $this->processStmtNode($var, $scope, $nodeCallback)->getScope();
1000
+ if ($comment === null || !is_string($var->var->name)) {
1001
+ continue;
1002
+ }
1003
+ $scope = $this->processVarAnnotation($scope, $var->var->name, $comment, false);
1004
+ }
1005
+ } elseif ($stmt instanceof StaticVar) {
1006
+ $hasYield = false;
1007
+ if (!is_string($stmt->var->name)) {
1008
+ throw new \PHPStan\ShouldNotHappenException();
1009
+ }
1010
+ if ($stmt->default !== null) {
1011
+ $this->processExprNode($stmt->default, $scope, $nodeCallback, ExpressionContext::createDeep());
1012
+ }
1013
+ $scope = $scope->enterExpressionAssign($stmt->var);
1014
+ $this->processExprNode($stmt->var, $scope, $nodeCallback, ExpressionContext::createDeep());
1015
+ $scope = $scope->exitExpressionAssign($stmt->var);
1016
+ $scope = $scope->assignVariable($stmt->var->name, new MixedType());
1017
+ } elseif ($stmt instanceof Node\Stmt\Const_ || $stmt instanceof Node\Stmt\ClassConst) {
1018
+ $hasYield = false;
1019
+ foreach ($stmt->consts as $const) {
1020
+ $nodeCallback($const, $scope);
1021
+ $this->processExprNode($const->value, $scope, $nodeCallback, ExpressionContext::createDeep());
1022
+ $scope = $scope->specifyExpressionType(new ConstFetch(new Name\FullyQualified($const->name->toString())), $scope->getType($const->value));
1023
+ }
1024
+ } elseif ($stmt instanceof Node\Stmt\Nop) {
1025
+ $scope = $this->processStmtVarAnnotation($scope, $stmt);
1026
+ $hasYield = false;
1027
+ } else {
1028
+ $hasYield = false;
1029
+ }
1030
+
1031
+ return new StatementResult($scope, $hasYield, false, []);
1032
+ }
1033
+
1034
+ /**
1035
+ * @param Node\Stmt\Catch_ $catchNode
1036
+ * @param Scope $catchScope
1037
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
1038
+ * @return StatementResult
1039
+ */
1040
+ private function processCatchNode(
1041
+ Node\Stmt\Catch_ $catchNode,
1042
+ Scope $catchScope,
1043
+ \Closure $nodeCallback
1044
+ ): StatementResult
1045
+ {
1046
+ if (!is_string($catchNode->var->name)) {
1047
+ throw new \PHPStan\ShouldNotHappenException();
1048
+ }
1049
+
1050
+ $catchScope = $catchScope->enterCatch($catchNode->types, $catchNode->var->name);
1051
+ return $this->processStmtNodes($catchNode, $catchNode->stmts, $catchScope, $nodeCallback);
1052
+ }
1053
+
1054
+ private function lookForEnterVariableAssign(Scope $scope, Expr $expr): Scope
1055
+ {
1056
+ if (!$expr instanceof ArrayDimFetch || $expr->dim !== null) {
1057
+ $scope = $scope->enterExpressionAssign($expr);
1058
+ }
1059
+ if (!$expr instanceof Variable) {
1060
+ return $this->lookForVariableAssignCallback($scope, $expr, static function (Scope $scope, Expr $expr): Scope {
1061
+ return $scope->enterExpressionAssign($expr);
1062
+ });
1063
+ }
1064
+
1065
+ return $scope;
1066
+ }
1067
+
1068
+ private function lookForExitVariableAssign(Scope $scope, Expr $expr): Scope
1069
+ {
1070
+ $scope = $scope->exitExpressionAssign($expr);
1071
+ if (!$expr instanceof Variable) {
1072
+ return $this->lookForVariableAssignCallback($scope, $expr, static function (Scope $scope, Expr $expr): Scope {
1073
+ return $scope->exitExpressionAssign($expr);
1074
+ });
1075
+ }
1076
+
1077
+ return $scope;
1078
+ }
1079
+
1080
+ /**
1081
+ * @param Scope $scope
1082
+ * @param Expr $expr
1083
+ * @param \Closure(Scope $scope, Expr $expr): Scope $callback
1084
+ * @return Scope
1085
+ */
1086
+ private function lookForVariableAssignCallback(Scope $scope, Expr $expr, \Closure $callback): Scope
1087
+ {
1088
+ if ($expr instanceof Variable) {
1089
+ $scope = $callback($scope, $expr);
1090
+ } elseif ($expr instanceof ArrayDimFetch) {
1091
+ while ($expr instanceof ArrayDimFetch) {
1092
+ $expr = $expr->var;
1093
+ }
1094
+
1095
+ $scope = $this->lookForVariableAssignCallback($scope, $expr, $callback);
1096
+ } elseif ($expr instanceof PropertyFetch) {
1097
+ $scope = $this->lookForVariableAssignCallback($scope, $expr->var, $callback);
1098
+ } elseif ($expr instanceof StaticPropertyFetch) {
1099
+ if ($expr->class instanceof Expr) {
1100
+ $scope = $this->lookForVariableAssignCallback($scope, $expr->class, $callback);
1101
+ }
1102
+ } elseif ($expr instanceof Array_ || $expr instanceof List_) {
1103
+ foreach ($expr->items as $item) {
1104
+ if ($item === null) {
1105
+ continue;
1106
+ }
1107
+
1108
+ $scope = $this->lookForVariableAssignCallback($scope, $item->value, $callback);
1109
+ }
1110
+ }
1111
+
1112
+ return $scope;
1113
+ }
1114
+
1115
+ private function ensureNonNullability(Scope $scope, Expr $expr, bool $findMethods): EnsuredNonNullabilityResult
1116
+ {
1117
+ $exprToSpecify = $expr;
1118
+ $specifiedExpressions = [];
1119
+ while (
1120
+ $exprToSpecify instanceof PropertyFetch
1121
+ || $exprToSpecify instanceof StaticPropertyFetch
1122
+ || (
1123
+ $findMethods && (
1124
+ $exprToSpecify instanceof MethodCall
1125
+ || $exprToSpecify instanceof StaticCall
1126
+ )
1127
+ )
1128
+ ) {
1129
+ if (
1130
+ $exprToSpecify instanceof PropertyFetch
1131
+ || $exprToSpecify instanceof MethodCall
1132
+ ) {
1133
+ $exprToSpecify = $exprToSpecify->var;
1134
+ } elseif ($exprToSpecify->class instanceof Expr) {
1135
+ $exprToSpecify = $exprToSpecify->class;
1136
+ } else {
1137
+ break;
1138
+ }
1139
+
1140
+ $exprType = $scope->getType($exprToSpecify);
1141
+ $exprTypeWithoutNull = TypeCombinator::removeNull($exprType);
1142
+ if ($exprType->equals($exprTypeWithoutNull)) {
1143
+ continue;
1144
+ }
1145
+
1146
+ $specifiedExpressions[] = new EnsuredNonNullabilityResultExpression($exprToSpecify, $exprType);
1147
+
1148
+ $scope = $scope->specifyExpressionType($exprToSpecify, $exprTypeWithoutNull);
1149
+ }
1150
+
1151
+ return new EnsuredNonNullabilityResult($scope, $specifiedExpressions);
1152
+ }
1153
+
1154
+ /**
1155
+ * @param Scope $scope
1156
+ * @param EnsuredNonNullabilityResultExpression[] $specifiedExpressions
1157
+ * @return Scope
1158
+ */
1159
+ private function revertNonNullability(Scope $scope, array $specifiedExpressions): Scope
1160
+ {
1161
+ foreach ($specifiedExpressions as $specifiedExpressionResult) {
1162
+ $scope = $scope->specifyExpressionType($specifiedExpressionResult->getExpression(), $specifiedExpressionResult->getOriginalType());
1163
+ }
1164
+
1165
+ return $scope;
1166
+ }
1167
+
1168
+ private function findEarlyTerminatingExpr(Expr $expr, Scope $scope): ?Expr
1169
+ {
1170
+ if (($expr instanceof MethodCall || $expr instanceof Expr\StaticCall) && count($this->earlyTerminatingMethodCalls) > 0) {
1171
+ if ($expr->name instanceof Expr) {
1172
+ return null;
1173
+ }
1174
+
1175
+ if ($expr instanceof MethodCall) {
1176
+ $methodCalledOnType = $scope->getType($expr->var);
1177
+ } else {
1178
+ if ($expr->class instanceof Name) {
1179
+ $methodCalledOnType = $scope->getFunctionType($expr->class, false, false);
1180
+ } else {
1181
+ $methodCalledOnType = $scope->getType($expr->class);
1182
+ }
1183
+ }
1184
+
1185
+ $directClassNames = TypeUtils::getDirectClassNames($methodCalledOnType);
1186
+ foreach ($directClassNames as $referencedClass) {
1187
+ if (!$this->broker->hasClass($referencedClass)) {
1188
+ continue;
1189
+ }
1190
+
1191
+ $classReflection = $this->broker->getClass($referencedClass);
1192
+ foreach (array_merge([$referencedClass], $classReflection->getParentClassesNames(), $classReflection->getNativeReflection()->getInterfaceNames()) as $className) {
1193
+ if (!isset($this->earlyTerminatingMethodCalls[$className])) {
1194
+ continue;
1195
+ }
1196
+
1197
+ if (in_array((string) $expr->name, $this->earlyTerminatingMethodCalls[$className], true)) {
1198
+ return $expr;
1199
+ }
1200
+ }
1201
+ }
1202
+ }
1203
+
1204
+ if ($expr instanceof Exit_) {
1205
+ return $expr;
1206
+ }
1207
+
1208
+ return null;
1209
+ }
1210
+
1211
+ /**
1212
+ * @param \PhpParser\Node\Expr $expr
1213
+ * @param \PHPStan\Analyser\Scope $scope
1214
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
1215
+ * @param \PHPStan\Analyser\ExpressionContext $context
1216
+ * @return \PHPStan\Analyser\ExpressionResult
1217
+ */
1218
+ private function processExprNode(Expr $expr, Scope $scope, \Closure $nodeCallback, ExpressionContext $context): ExpressionResult
1219
+ {
1220
+ $this->callNodeCallbackWithExpression($nodeCallback, $expr, $scope, $context);
1221
+
1222
+ if ($expr instanceof Variable) {
1223
+ $hasYield = false;
1224
+ if ($expr->name instanceof Expr) {
1225
+ return $this->processExprNode($expr->name, $scope, $nodeCallback, $context->enterDeep());
1226
+ }
1227
+ } elseif ($expr instanceof Assign || $expr instanceof AssignRef) {
1228
+ if (!$expr->var instanceof Array_ && !$expr->var instanceof List_) {
1229
+ $result = $this->processAssignVar(
1230
+ $scope,
1231
+ $expr->var,
1232
+ $expr->expr,
1233
+ $nodeCallback,
1234
+ $context,
1235
+ function (Scope $scope) use ($expr, $nodeCallback, $context): ExpressionResult {
1236
+ $hasYield = false;
1237
+ if ($expr instanceof AssignRef) {
1238
+ $scope = $scope->enterExpressionAssign($expr->expr);
1239
+ }
1240
+
1241
+ if ($expr->var instanceof Variable && is_string($expr->var->name)) {
1242
+ $context = $context->enterRightSideAssign(
1243
+ $expr->var->name,
1244
+ $scope->getType($expr->expr)
1245
+ );
1246
+ }
1247
+
1248
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1249
+ $hasYield = $result->hasYield();
1250
+ $scope = $result->getScope();
1251
+
1252
+ if ($expr instanceof AssignRef) {
1253
+ $scope = $scope->exitExpressionAssign($expr->expr);
1254
+ }
1255
+
1256
+ return new ExpressionResult($scope, $hasYield);
1257
+ },
1258
+ true
1259
+ );
1260
+ $scope = $result->getScope();
1261
+ $hasYield = $result->hasYield();
1262
+ $varChangedScope = false;
1263
+ if ($expr->var instanceof Variable && is_string($expr->var->name)) {
1264
+ $comment = CommentHelper::getDocComment($expr);
1265
+ if ($comment !== null) {
1266
+ $scope = $this->processVarAnnotation($scope, $expr->var->name, $comment, false, $varChangedScope);
1267
+ }
1268
+ }
1269
+
1270
+ if (!$varChangedScope) {
1271
+ $scope = $this->processStmtVarAnnotation($scope, new Node\Stmt\Expression($expr, [
1272
+ 'comments' => $expr->getAttribute('comments'),
1273
+ ]));
1274
+ }
1275
+ } else {
1276
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1277
+ $hasYield = $result->hasYield();
1278
+ $scope = $result->getScope();
1279
+ foreach ($expr->var->items as $arrayItem) {
1280
+ if ($arrayItem === null) {
1281
+ continue;
1282
+ }
1283
+
1284
+ $itemScope = $scope;
1285
+ if ($arrayItem->value instanceof ArrayDimFetch && $arrayItem->value->dim === null) {
1286
+ $itemScope = $itemScope->enterExpressionAssign($arrayItem->value);
1287
+ }
1288
+ $itemScope = $this->lookForEnterVariableAssign($itemScope, $arrayItem->value);
1289
+
1290
+ $this->processExprNode($arrayItem, $itemScope, $nodeCallback, $context->enterDeep());
1291
+ }
1292
+ $scope = $this->lookForArrayDestructuringArray($scope, $expr->var, $scope->getType($expr->expr));
1293
+ $comment = CommentHelper::getDocComment($expr);
1294
+ if ($comment !== null) {
1295
+ foreach ($expr->var->items as $arrayItem) {
1296
+ if ($arrayItem === null) {
1297
+ continue;
1298
+ }
1299
+ if (!$arrayItem->value instanceof Variable || !is_string($arrayItem->value->name)) {
1300
+ continue;
1301
+ }
1302
+
1303
+ $varChangedScope = false;
1304
+ $scope = $this->processVarAnnotation($scope, $arrayItem->value->name, $comment, true, $varChangedScope);
1305
+ if ($varChangedScope) {
1306
+ continue;
1307
+ }
1308
+
1309
+ $scope = $this->processStmtVarAnnotation($scope, new Node\Stmt\Expression($expr, [
1310
+ 'comments' => $expr->getAttribute('comments'),
1311
+ ]));
1312
+ }
1313
+ }
1314
+ }
1315
+ } elseif ($expr instanceof Expr\AssignOp) {
1316
+ $result = $this->processAssignVar(
1317
+ $scope,
1318
+ $expr->var,
1319
+ $expr,
1320
+ $nodeCallback,
1321
+ $context,
1322
+ function (Scope $scope) use ($expr, $nodeCallback, $context): ExpressionResult {
1323
+ return $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1324
+ },
1325
+ $expr instanceof Expr\AssignOp\Coalesce
1326
+ );
1327
+ $scope = $result->getScope();
1328
+ $hasYield = $result->hasYield();
1329
+ } elseif ($expr instanceof FuncCall) {
1330
+ $parametersAcceptor = null;
1331
+ if ($expr->name instanceof Expr) {
1332
+ $scope = $this->processExprNode($expr->name, $scope, $nodeCallback, $context->enterDeep())->getScope();
1333
+ } elseif ($this->broker->hasFunction($expr->name, $scope)) {
1334
+ $function = $this->broker->getFunction($expr->name, $scope);
1335
+ $parametersAcceptor = ParametersAcceptorSelector::selectFromArgs(
1336
+ $scope,
1337
+ $expr->args,
1338
+ $function->getVariants()
1339
+ );
1340
+ }
1341
+ $result = $this->processArgs($parametersAcceptor, $expr->args, $scope, $nodeCallback, $context);
1342
+ $scope = $result->getScope();
1343
+ $hasYield = $result->hasYield();
1344
+ if (
1345
+ isset($function)
1346
+ && in_array($function->getName(), ['array_pop', 'array_shift'], true)
1347
+ && count($expr->args) >= 1
1348
+ ) {
1349
+ $arrayArg = $expr->args[0]->value;
1350
+ $constantArrays = TypeUtils::getConstantArrays($scope->getType($arrayArg));
1351
+ if (count($constantArrays) > 0) {
1352
+ $resultArrayTypes = [];
1353
+
1354
+ foreach ($constantArrays as $constantArray) {
1355
+ if ($function->getName() === 'array_pop') {
1356
+ $resultArrayTypes[] = $constantArray->removeLast();
1357
+ } else {
1358
+ $resultArrayTypes[] = $constantArray->removeFirst();
1359
+ }
1360
+ }
1361
+
1362
+ $scope = $scope->specifyExpressionType(
1363
+ $arrayArg,
1364
+ TypeCombinator::union(...$resultArrayTypes)
1365
+ );
1366
+ } else {
1367
+ $arrays = TypeUtils::getAnyArrays($scope->getType($arrayArg));
1368
+ if (count($arrays) > 0) {
1369
+ $scope = $scope->specifyExpressionType($arrayArg, TypeCombinator::union(...$arrays));
1370
+ }
1371
+ }
1372
+ }
1373
+
1374
+ if (
1375
+ isset($function)
1376
+ && in_array($function->getName(), ['array_push', 'array_unshift'], true)
1377
+ && count($expr->args) >= 2
1378
+ ) {
1379
+ $argumentTypes = [];
1380
+ foreach (array_slice($expr->args, 1) as $callArg) {
1381
+ $callArgType = $scope->getType($callArg->value);
1382
+ if ($callArg->unpack) {
1383
+ $iterableValueType = $callArgType->getIterableValueType();
1384
+ if ($iterableValueType instanceof UnionType) {
1385
+ foreach ($iterableValueType->getTypes() as $innerType) {
1386
+ $argumentTypes[] = $innerType;
1387
+ }
1388
+ } else {
1389
+ $argumentTypes[] = $iterableValueType;
1390
+ }
1391
+ continue;
1392
+ }
1393
+
1394
+ $argumentTypes[] = $callArgType;
1395
+ }
1396
+
1397
+ $arrayArg = $expr->args[0]->value;
1398
+ $originalArrayType = $scope->getType($arrayArg);
1399
+ $constantArrays = TypeUtils::getConstantArrays($originalArrayType);
1400
+ if (
1401
+ $function->getName() === 'array_push'
1402
+ || ($originalArrayType->isArray()->yes() && count($constantArrays) === 0)
1403
+ ) {
1404
+ $arrayType = $originalArrayType;
1405
+ foreach ($argumentTypes as $argType) {
1406
+ $arrayType = $arrayType->setOffsetValueType(null, $argType);
1407
+ }
1408
+
1409
+ $scope = $scope->specifyExpressionType($arrayArg, TypeCombinator::intersect($arrayType, new NonEmptyArrayType()));
1410
+ } elseif (count($constantArrays) > 0) {
1411
+ $defaultArrayBuilder = ConstantArrayTypeBuilder::createEmpty();
1412
+ foreach ($argumentTypes as $argType) {
1413
+ $defaultArrayBuilder->setOffsetValueType(null, $argType);
1414
+ }
1415
+
1416
+ $defaultArrayType = $defaultArrayBuilder->getArray();
1417
+
1418
+ $arrayTypes = [];
1419
+ foreach ($constantArrays as $constantArray) {
1420
+ $arrayType = $defaultArrayType;
1421
+ foreach ($constantArray->getKeyTypes() as $i => $keyType) {
1422
+ $valueType = $constantArray->getValueTypes()[$i];
1423
+ if ($keyType instanceof ConstantIntegerType) {
1424
+ $keyType = null;
1425
+ }
1426
+ $arrayType = $arrayType->setOffsetValueType($keyType, $valueType);
1427
+ }
1428
+ $arrayTypes[] = $arrayType;
1429
+ }
1430
+
1431
+ $scope = $scope->specifyExpressionType(
1432
+ $arrayArg,
1433
+ TypeCombinator::union(...$arrayTypes)
1434
+ );
1435
+ }
1436
+ }
1437
+
1438
+ if (
1439
+ isset($function)
1440
+ && in_array($function->getName(), ['fopen', 'file_get_contents'], true)
1441
+ ) {
1442
+ $scope = $scope->assignVariable('http_response_header', new ArrayType(new IntegerType(), new StringType()));
1443
+ }
1444
+ } elseif ($expr instanceof MethodCall) {
1445
+ $originalScope = $scope;
1446
+ if (
1447
+ ($expr->var instanceof Expr\Closure || $expr->var instanceof Expr\ArrowFunction)
1448
+ && $expr->name instanceof Node\Identifier
1449
+ && strtolower($expr->name->name) === 'call'
1450
+ && isset($expr->args[0])
1451
+ ) {
1452
+ $closureCallScope = $scope->enterClosureCall($scope->getType($expr->args[0]->value));
1453
+ }
1454
+
1455
+ $result = $this->processExprNode($expr->var, $closureCallScope ?? $scope, $nodeCallback, $context->enterDeep());
1456
+ $hasYield = $result->hasYield();
1457
+ $scope = $result->getScope();
1458
+ if (isset($closureCallScope)) {
1459
+ $scope = $scope->restoreOriginalScopeAfterClosureBind($originalScope);
1460
+ }
1461
+ $parametersAcceptor = null;
1462
+ if ($expr->name instanceof Expr) {
1463
+ $scope = $this->processExprNode($expr->name, $scope, $nodeCallback, $context->enterDeep())->getScope();
1464
+ } else {
1465
+ $calledOnType = $scope->getType($expr->var);
1466
+ $methodName = $expr->name->name;
1467
+ if ($calledOnType->hasMethod($methodName)->yes()) {
1468
+ $parametersAcceptor = ParametersAcceptorSelector::selectFromArgs(
1469
+ $scope,
1470
+ $expr->args,
1471
+ $calledOnType->getMethod($methodName, $scope)->getVariants()
1472
+ );
1473
+ }
1474
+ }
1475
+ $result = $this->processArgs($parametersAcceptor, $expr->args, $scope, $nodeCallback, $context);
1476
+ $scope = $result->getScope();
1477
+ $hasYield = $hasYield || $result->hasYield();
1478
+ } elseif ($expr instanceof StaticCall) {
1479
+ if ($expr->class instanceof Expr) {
1480
+ $scope = $this->processExprNode($expr->class, $scope, $nodeCallback, $context->enterDeep())->getScope();
1481
+ }
1482
+
1483
+ $parametersAcceptor = null;
1484
+ $hasYield = false;
1485
+ if ($expr->name instanceof Expr) {
1486
+ $result = $this->processExprNode($expr->name, $scope, $nodeCallback, $context->enterDeep());
1487
+ $hasYield = $result->hasYield();
1488
+ $scope = $result->getScope();
1489
+ } elseif ($expr->class instanceof Name) {
1490
+ $className = $scope->resolveName($expr->class);
1491
+ if ($this->broker->hasClass($className)) {
1492
+ $classReflection = $this->broker->getClass($className);
1493
+ if (is_string($expr->name)) {
1494
+ $methodName = $expr->name;
1495
+ } else {
1496
+ $methodName = $expr->name->name;
1497
+ }
1498
+ if ($classReflection->hasMethod($methodName)) {
1499
+ $parametersAcceptor = ParametersAcceptorSelector::selectFromArgs(
1500
+ $scope,
1501
+ $expr->args,
1502
+ $classReflection->getMethod($methodName, $scope)->getVariants()
1503
+ );
1504
+ if (
1505
+ $classReflection->getName() === 'Closure'
1506
+ && strtolower($methodName) === 'bind'
1507
+ ) {
1508
+ $thisType = null;
1509
+ if (isset($expr->args[1])) {
1510
+ $argType = $scope->getType($expr->args[1]->value);
1511
+ if ($argType instanceof NullType) {
1512
+ $thisType = null;
1513
+ } else {
1514
+ $thisType = $argType;
1515
+ }
1516
+ }
1517
+ $scopeClass = 'static';
1518
+ if (isset($expr->args[2])) {
1519
+ $argValue = $expr->args[2]->value;
1520
+ $argValueType = $scope->getType($argValue);
1521
+
1522
+ $directClassNames = TypeUtils::getDirectClassNames($argValueType);
1523
+ if (count($directClassNames) === 1) {
1524
+ $scopeClass = $directClassNames[0];
1525
+ } elseif (
1526
+ $argValue instanceof Expr\ClassConstFetch
1527
+ && $argValue->name instanceof Node\Identifier
1528
+ && strtolower($argValue->name->name) === 'class'
1529
+ && $argValue->class instanceof Name
1530
+ ) {
1531
+ $scopeClass = $scope->resolveName($argValue->class);
1532
+ } elseif ($argValueType instanceof ConstantStringType) {
1533
+ $scopeClass = $argValueType->getValue();
1534
+ }
1535
+ }
1536
+ $closureBindScope = $scope->enterClosureBind($thisType, $scopeClass);
1537
+ }
1538
+ }
1539
+ }
1540
+ }
1541
+ $result = $this->processArgs($parametersAcceptor, $expr->args, $scope, $nodeCallback, $context, $closureBindScope ?? null);
1542
+ $scope = $result->getScope();
1543
+ $hasYield = $hasYield || $result->hasYield();
1544
+ } elseif ($expr instanceof PropertyFetch) {
1545
+ $result = $this->processExprNode($expr->var, $scope, $nodeCallback, $context->enterDeep());
1546
+ $hasYield = $result->hasYield();
1547
+ $scope = $result->getScope();
1548
+ if ($expr->name instanceof Expr) {
1549
+ $result = $this->processExprNode($expr->name, $scope, $nodeCallback, $context->enterDeep());
1550
+ $hasYield = $hasYield || $result->hasYield();
1551
+ $scope = $result->getScope();
1552
+ }
1553
+ } elseif ($expr instanceof StaticPropertyFetch) {
1554
+ $hasYield = false;
1555
+ if ($expr->class instanceof Expr) {
1556
+ $result = $this->processExprNode($expr->class, $scope, $nodeCallback, $context->enterDeep());
1557
+ $hasYield = $result->hasYield();
1558
+ $scope = $result->getScope();
1559
+ }
1560
+ if ($expr->name instanceof Expr) {
1561
+ $result = $this->processExprNode($expr->name, $scope, $nodeCallback, $context->enterDeep());
1562
+ $hasYield = $hasYield || $result->hasYield();
1563
+ $scope = $result->getScope();
1564
+ }
1565
+ } elseif ($expr instanceof Expr\Closure) {
1566
+ return $this->processClosureNode($expr, $scope, $nodeCallback, $context, null);
1567
+ } elseif ($expr instanceof Expr\ClosureUse) {
1568
+ $this->processExprNode($expr->var, $scope, $nodeCallback, $context);
1569
+ $hasYield = false;
1570
+ } elseif ($expr instanceof Expr\ArrowFunction) {
1571
+ foreach ($expr->params as $param) {
1572
+ $this->processParamNode($param, $scope, $nodeCallback);
1573
+ }
1574
+ if ($expr->returnType !== null) {
1575
+ $nodeCallback($expr->returnType, $scope);
1576
+ }
1577
+
1578
+ $arrowFunctionScope = $scope->enterArrowFunction($expr);
1579
+ $nodeCallback(new InArrowFunctionNode($expr), $arrowFunctionScope);
1580
+ $this->processExprNode($expr->expr, $arrowFunctionScope, $nodeCallback, $context);
1581
+ $hasYield = false;
1582
+
1583
+ } elseif ($expr instanceof ErrorSuppress) {
1584
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context);
1585
+ $hasYield = $result->hasYield();
1586
+ $scope = $result->getScope();
1587
+ } elseif ($expr instanceof Exit_) {
1588
+ $hasYield = false;
1589
+ if ($expr->expr !== null) {
1590
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1591
+ $hasYield = $result->hasYield();
1592
+ $scope = $result->getScope();
1593
+ }
1594
+ } elseif ($expr instanceof Node\Scalar\Encapsed) {
1595
+ $hasYield = false;
1596
+ foreach ($expr->parts as $part) {
1597
+ $result = $this->processExprNode($part, $scope, $nodeCallback, $context->enterDeep());
1598
+ $hasYield = $hasYield || $result->hasYield();
1599
+ $scope = $result->getScope();
1600
+ }
1601
+ } elseif ($expr instanceof ArrayDimFetch) {
1602
+ $hasYield = false;
1603
+ if ($expr->dim !== null) {
1604
+ $result = $this->processExprNode($expr->dim, $scope, $nodeCallback, $context->enterDeep());
1605
+ $hasYield = $result->hasYield();
1606
+ $scope = $result->getScope();
1607
+ }
1608
+
1609
+ $result = $this->processExprNode($expr->var, $scope, $nodeCallback, $context->enterDeep());
1610
+ $hasYield = $hasYield || $result->hasYield();
1611
+ $scope = $result->getScope();
1612
+ } elseif ($expr instanceof Array_) {
1613
+ $itemNodes = [];
1614
+ $hasYield = false;
1615
+ foreach ($expr->items as $arrayItem) {
1616
+ $itemNodes[] = new LiteralArrayItem($scope, $arrayItem);
1617
+ $result = $this->processExprNode($arrayItem, $scope, $nodeCallback, $context->enterDeep());
1618
+ $hasYield = $hasYield || $result->hasYield();
1619
+ $scope = $result->getScope();
1620
+ }
1621
+ $nodeCallback(new LiteralArrayNode($expr, $itemNodes), $scope);
1622
+ } elseif ($expr instanceof ArrayItem) {
1623
+ $hasYield = false;
1624
+ if ($expr->key !== null) {
1625
+ $result = $this->processExprNode($expr->key, $scope, $nodeCallback, $context->enterDeep());
1626
+ $hasYield = $result->hasYield();
1627
+ $scope = $result->getScope();
1628
+ }
1629
+ $result = $this->processExprNode($expr->value, $scope, $nodeCallback, $context->enterDeep());
1630
+ $hasYield = $hasYield || $result->hasYield();
1631
+ $scope = $result->getScope();
1632
+ } elseif ($expr instanceof BooleanAnd || $expr instanceof BinaryOp\LogicalAnd) {
1633
+ $leftResult = $this->processExprNode($expr->left, $scope, $nodeCallback, $context->enterDeep());
1634
+ $rightResult = $this->processExprNode($expr->right, $leftResult->getTruthyScope(), $nodeCallback, $context);
1635
+ $leftMergedWithRightScope = $leftResult->getScope()->mergeWith($rightResult->getScope());
1636
+
1637
+ return new ExpressionResult(
1638
+ $leftMergedWithRightScope,
1639
+ $leftResult->hasYield() || $rightResult->hasYield(),
1640
+ static function () use ($expr, $rightResult): Scope {
1641
+ return $rightResult->getScope()->filterByTruthyValue($expr);
1642
+ },
1643
+ static function () use ($leftMergedWithRightScope, $expr): Scope {
1644
+ return $leftMergedWithRightScope->filterByFalseyValue($expr);
1645
+ }
1646
+ );
1647
+ // todo do not execute right side if the left is false
1648
+ } elseif ($expr instanceof BooleanOr || $expr instanceof BinaryOp\LogicalOr) {
1649
+ $leftResult = $this->processExprNode($expr->left, $scope, $nodeCallback, $context->enterDeep());
1650
+ $rightResult = $this->processExprNode($expr->right, $leftResult->getFalseyScope(), $nodeCallback, $context);
1651
+ $leftMergedWithRightScope = $leftResult->getScope()->mergeWith($rightResult->getScope());
1652
+
1653
+ return new ExpressionResult(
1654
+ $leftMergedWithRightScope,
1655
+ $leftResult->hasYield() || $rightResult->hasYield(),
1656
+ static function () use ($leftMergedWithRightScope, $expr): Scope {
1657
+ return $leftMergedWithRightScope->filterByTruthyValue($expr);
1658
+ },
1659
+ static function () use ($expr, $rightResult): Scope {
1660
+ return $rightResult->getScope()->filterByFalseyValue($expr);
1661
+ }
1662
+ );
1663
+ // todo do not execute right side if the left is true
1664
+ } elseif ($expr instanceof Coalesce) {
1665
+ $nonNullabilityResult = $this->ensureNonNullability($scope, $expr->left, false);
1666
+
1667
+ if ($expr->left instanceof PropertyFetch) {
1668
+ $scope = $nonNullabilityResult->getScope();
1669
+ } else {
1670
+ $scope = $this->lookForEnterVariableAssign($nonNullabilityResult->getScope(), $expr->left);
1671
+ }
1672
+ $result = $this->processExprNode($expr->left, $scope, $nodeCallback, $context->enterDeep());
1673
+ $hasYield = $result->hasYield();
1674
+ $scope = $result->getScope();
1675
+ $scope = $this->revertNonNullability($scope, $nonNullabilityResult->getSpecifiedExpressions());
1676
+
1677
+ if (!$expr->left instanceof PropertyFetch) {
1678
+ $scope = $this->lookForExitVariableAssign($scope, $expr->left);
1679
+ }
1680
+ $result = $this->processExprNode($expr->right, $scope, $nodeCallback, $context->enterDeep());
1681
+ $scope = $result->getScope()->mergeWith($scope);
1682
+ $hasYield = $hasYield || $result->hasYield();
1683
+ } elseif ($expr instanceof BinaryOp) {
1684
+ $result = $this->processExprNode($expr->left, $scope, $nodeCallback, $context->enterDeep());
1685
+ $scope = $result->getScope();
1686
+ $hasYield = $result->hasYield();
1687
+ $result = $this->processExprNode($expr->right, $scope, $nodeCallback, $context->enterDeep());
1688
+ $scope = $result->getScope();
1689
+ $hasYield = $hasYield || $result->hasYield();
1690
+ } elseif (
1691
+ $expr instanceof Expr\BitwiseNot
1692
+ || $expr instanceof Cast
1693
+ || $expr instanceof Expr\Clone_
1694
+ || $expr instanceof Expr\Eval_
1695
+ || $expr instanceof Expr\Include_
1696
+ || $expr instanceof Expr\Print_
1697
+ || $expr instanceof Expr\UnaryMinus
1698
+ || $expr instanceof Expr\UnaryPlus
1699
+ || $expr instanceof Expr\YieldFrom
1700
+ ) {
1701
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1702
+ if ($expr instanceof Expr\YieldFrom) {
1703
+ $hasYield = true;
1704
+ } else {
1705
+ $hasYield = $result->hasYield();
1706
+ }
1707
+
1708
+ $scope = $result->getScope();
1709
+ } elseif ($expr instanceof BooleanNot) {
1710
+ $scope = $scope->enterNegation();
1711
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1712
+ $scope = $result->getScope()->enterNegation();
1713
+ $hasYield = $result->hasYield();
1714
+ } elseif ($expr instanceof Expr\ClassConstFetch) {
1715
+ $hasYield = false;
1716
+ if ($expr->class instanceof Expr) {
1717
+ $result = $this->processExprNode($expr->class, $scope, $nodeCallback, $context->enterDeep());
1718
+ $scope = $result->getScope();
1719
+ $hasYield = $result->hasYield();
1720
+ }
1721
+ } elseif ($expr instanceof Expr\Empty_) {
1722
+ $nonNullabilityResult = $this->ensureNonNullability($scope, $expr->expr, true);
1723
+ $scope = $this->lookForEnterVariableAssign($nonNullabilityResult->getScope(), $expr->expr);
1724
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1725
+ $scope = $result->getScope();
1726
+ $hasYield = $result->hasYield();
1727
+ $scope = $this->revertNonNullability($scope, $nonNullabilityResult->getSpecifiedExpressions());
1728
+ $scope = $this->lookForExitVariableAssign($scope, $expr->expr);
1729
+ } elseif ($expr instanceof Expr\Isset_) {
1730
+ $hasYield = false;
1731
+ foreach ($expr->vars as $var) {
1732
+ $nonNullabilityResult = $this->ensureNonNullability($scope, $var, true);
1733
+ $scope = $this->lookForEnterVariableAssign($nonNullabilityResult->getScope(), $var);
1734
+ $result = $this->processExprNode($var, $scope, $nodeCallback, $context->enterDeep());
1735
+ $scope = $result->getScope();
1736
+ $hasYield = $hasYield || $result->hasYield();
1737
+ $scope = $this->revertNonNullability($scope, $nonNullabilityResult->getSpecifiedExpressions());
1738
+ $scope = $this->lookForExitVariableAssign($scope, $var);
1739
+ }
1740
+ } elseif ($expr instanceof Instanceof_) {
1741
+ $result = $this->processExprNode($expr->expr, $scope, $nodeCallback, $context->enterDeep());
1742
+ $scope = $result->getScope();
1743
+ $hasYield = $result->hasYield();
1744
+ if ($expr->class instanceof Expr) {
1745
+ $result = $this->processExprNode($expr->class, $scope, $nodeCallback, $context->enterDeep());
1746
+ $scope = $result->getScope();
1747
+ $hasYield = $hasYield || $result->hasYield();
1748
+ }
1749
+ } elseif ($expr instanceof List_) {
1750
+ // only in assign and foreach, processed elsewhere
1751
+ return new ExpressionResult($scope, false);
1752
+ } elseif ($expr instanceof New_) {
1753
+ $parametersAcceptor = null;
1754
+ $hasYield = false;
1755
+ if ($expr->class instanceof Expr) {
1756
+ $result = $this->processExprNode($expr->class, $scope, $nodeCallback, $context->enterDeep());
1757
+ $scope = $result->getScope();
1758
+ $hasYield = $result->hasYield();
1759
+ } elseif ($expr->class instanceof Class_) {
1760
+ $this->broker->getAnonymousClassReflection($expr->class, $scope); // populates $expr->class->name
1761
+ $this->processStmtNode($expr->class, $scope, $nodeCallback);
1762
+ } elseif ($this->broker->hasClass($expr->class->toString())) {
1763
+ $classReflection = $this->broker->getClass($expr->class->toString());
1764
+ if ($classReflection->hasConstructor()) {
1765
+ $parametersAcceptor = ParametersAcceptorSelector::selectFromArgs(
1766
+ $scope,
1767
+ $expr->args,
1768
+ $classReflection->getConstructor()->getVariants()
1769
+ );
1770
+ }
1771
+ }
1772
+ $result = $this->processArgs($parametersAcceptor, $expr->args, $scope, $nodeCallback, $context);
1773
+ $scope = $result->getScope();
1774
+ $hasYield = $hasYield || $result->hasYield();
1775
+ } elseif (
1776
+ $expr instanceof Expr\PreInc
1777
+ || $expr instanceof Expr\PostInc
1778
+ || $expr instanceof Expr\PreDec
1779
+ || $expr instanceof Expr\PostDec
1780
+ ) {
1781
+ $result = $this->processExprNode($expr->var, $scope, $nodeCallback, $context->enterDeep());
1782
+ $scope = $result->getScope();
1783
+ $hasYield = $result->hasYield();
1784
+ if (
1785
+ $expr->var instanceof Variable
1786
+ || $expr->var instanceof ArrayDimFetch
1787
+ || $expr->var instanceof PropertyFetch
1788
+ || $expr->var instanceof StaticPropertyFetch
1789
+ ) {
1790
+ $expressionType = $scope->getType($expr);
1791
+ if (count(TypeUtils::getConstantScalars($expressionType)) > 0) {
1792
+ $newExpr = $expr;
1793
+ if ($expr instanceof Expr\PostInc) {
1794
+ $newExpr = new Expr\PreInc($expr->var);
1795
+ } elseif ($expr instanceof Expr\PostDec) {
1796
+ $newExpr = new Expr\PreDec($expr->var);
1797
+ }
1798
+
1799
+ $scope = $this->processAssignVar(
1800
+ $scope,
1801
+ $expr->var,
1802
+ $newExpr,
1803
+ static function (): void {
1804
+ },
1805
+ $context,
1806
+ static function (Scope $scope): ExpressionResult {
1807
+ return new ExpressionResult($scope, false);
1808
+ },
1809
+ false
1810
+ )->getScope();
1811
+ }
1812
+ }
1813
+ } elseif ($expr instanceof Ternary) {
1814
+ $ternaryCondResult = $this->processExprNode($expr->cond, $scope, $nodeCallback, $context->enterDeep());
1815
+ $ifTrueScope = $ternaryCondResult->getTruthyScope();
1816
+ $ifFalseScope = $ternaryCondResult->getFalseyScope();
1817
+
1818
+ if ($expr->if !== null) {
1819
+ $ifTrueScope = $this->processExprNode($expr->if, $ifTrueScope, $nodeCallback, $context)->getScope();
1820
+ $ifFalseScope = $this->processExprNode($expr->else, $ifFalseScope, $nodeCallback, $context)->getScope();
1821
+ } else {
1822
+ $ifFalseScope = $this->processExprNode($expr->else, $ifFalseScope, $nodeCallback, $context)->getScope();
1823
+ }
1824
+
1825
+ $finalScope = $ifTrueScope->mergeWith($ifFalseScope);
1826
+
1827
+ return new ExpressionResult(
1828
+ $finalScope,
1829
+ $ternaryCondResult->hasYield(),
1830
+ static function () use ($finalScope, $expr): Scope {
1831
+ return $finalScope->filterByTruthyValue($expr);
1832
+ },
1833
+ static function () use ($finalScope, $expr): Scope {
1834
+ return $finalScope->filterByFalseyValue($expr);
1835
+ }
1836
+ );
1837
+
1838
+ // todo do not run else if cond is always true
1839
+ // todo do not run if branch if cond is always false
1840
+ } elseif ($expr instanceof Expr\Yield_) {
1841
+ if ($expr->key !== null) {
1842
+ $scope = $this->processExprNode($expr->key, $scope, $nodeCallback, $context->enterDeep())->getScope();
1843
+ }
1844
+ if ($expr->value !== null) {
1845
+ $scope = $this->processExprNode($expr->value, $scope, $nodeCallback, $context->enterDeep())->getScope();
1846
+ }
1847
+ $hasYield = true;
1848
+ } else {
1849
+ $hasYield = false;
1850
+ }
1851
+
1852
+ return new ExpressionResult(
1853
+ $scope,
1854
+ $hasYield,
1855
+ static function () use ($scope, $expr): Scope {
1856
+ return $scope->filterByTruthyValue($expr);
1857
+ },
1858
+ static function () use ($scope, $expr): Scope {
1859
+ return $scope->filterByFalseyValue($expr);
1860
+ }
1861
+ );
1862
+ }
1863
+
1864
+ /**
1865
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
1866
+ * @param Expr $expr
1867
+ * @param Scope $scope
1868
+ * @param ExpressionContext $context
1869
+ */
1870
+ private function callNodeCallbackWithExpression(
1871
+ \Closure $nodeCallback,
1872
+ Expr $expr,
1873
+ Scope $scope,
1874
+ ExpressionContext $context
1875
+ ): void
1876
+ {
1877
+ if ($context->isDeep()) {
1878
+ $scope = $scope->exitFirstLevelStatements();
1879
+ }
1880
+ $nodeCallback($expr, $scope);
1881
+ }
1882
+
1883
+ /**
1884
+ * @param \PhpParser\Node\Expr\Closure $expr
1885
+ * @param \PHPStan\Analyser\Scope $scope
1886
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
1887
+ * @param ExpressionContext $context
1888
+ * @param Type|null $passedToType
1889
+ * @return \PHPStan\Analyser\ExpressionResult
1890
+ */
1891
+ private function processClosureNode(
1892
+ Expr\Closure $expr,
1893
+ Scope $scope,
1894
+ \Closure $nodeCallback,
1895
+ ExpressionContext $context,
1896
+ ?Type $passedToType
1897
+ ): ExpressionResult
1898
+ {
1899
+ foreach ($expr->params as $param) {
1900
+ $this->processParamNode($param, $scope, $nodeCallback);
1901
+ }
1902
+
1903
+ $byRefUses = [];
1904
+
1905
+ if ($passedToType !== null && !$passedToType->isCallable()->no()) {
1906
+ $callableParameters = null;
1907
+ $acceptors = $passedToType->getCallableParametersAcceptors($scope);
1908
+ if (count($acceptors) === 1) {
1909
+ $callableParameters = $acceptors[0]->getParameters();
1910
+ }
1911
+ } else {
1912
+ $callableParameters = null;
1913
+ }
1914
+
1915
+ $useScope = $scope;
1916
+ foreach ($expr->uses as $use) {
1917
+ if ($use->byRef) {
1918
+ $byRefUses[] = $use;
1919
+ $useScope = $useScope->enterExpressionAssign($use->var);
1920
+
1921
+ $inAssignRightSideVariableName = $context->getInAssignRightSideVariableName();
1922
+ $inAssignRightSideType = $context->getInAssignRightSideType();
1923
+ if (
1924
+ $inAssignRightSideVariableName === $use->var->name
1925
+ && $inAssignRightSideType !== null
1926
+ ) {
1927
+ if ($inAssignRightSideType instanceof ClosureType) {
1928
+ $variableType = $inAssignRightSideType;
1929
+ } else {
1930
+ $alreadyHasVariableType = $scope->hasVariableType($inAssignRightSideVariableName);
1931
+ if ($alreadyHasVariableType->no()) {
1932
+ $variableType = TypeCombinator::union(new NullType(), $inAssignRightSideType);
1933
+ } else {
1934
+ $variableType = TypeCombinator::union($scope->getVariableType($inAssignRightSideVariableName), $inAssignRightSideType);
1935
+ }
1936
+ }
1937
+ $scope = $scope->assignVariable($inAssignRightSideVariableName, $variableType);
1938
+ }
1939
+ }
1940
+ $this->processExprNode($use, $useScope, $nodeCallback, $context);
1941
+ if (!$use->byRef) {
1942
+ continue;
1943
+ }
1944
+
1945
+ $useScope = $useScope->exitExpressionAssign($use->var);
1946
+ }
1947
+
1948
+ if ($expr->returnType !== null) {
1949
+ $nodeCallback($expr->returnType, $scope);
1950
+ }
1951
+
1952
+ $closureScope = $scope->enterAnonymousFunction($expr, $callableParameters);
1953
+ $closureScope = $closureScope->processClosureScope($scope, null, $byRefUses);
1954
+
1955
+ $gatheredReturnStatements = [];
1956
+ $closureStmtsCallback = static function (\PhpParser\Node $node, Scope $scope) use ($nodeCallback, &$gatheredReturnStatements): void {
1957
+ $nodeCallback($node, $scope);
1958
+ if (!$node instanceof Return_) {
1959
+ return;
1960
+ }
1961
+
1962
+ $gatheredReturnStatements[] = new ReturnStatement($scope, $node);
1963
+ };
1964
+ if (count($byRefUses) === 0) {
1965
+ $statementResult = $this->processStmtNodes($expr, $expr->stmts, $closureScope, $closureStmtsCallback);
1966
+ $nodeCallback(new ClosureReturnStatementsNode(
1967
+ $expr,
1968
+ $gatheredReturnStatements,
1969
+ $statementResult
1970
+ ), $closureScope);
1971
+
1972
+ return new ExpressionResult($scope, false);
1973
+ }
1974
+
1975
+ $count = 0;
1976
+ do {
1977
+ $prevScope = $closureScope;
1978
+
1979
+ $intermediaryClosureScopeResult = $this->processStmtNodes($expr, $expr->stmts, $closureScope, static function (): void {
1980
+ });
1981
+ $intermediaryClosureScope = $intermediaryClosureScopeResult->getScope();
1982
+ foreach ($intermediaryClosureScopeResult->getExitPoints() as $exitPoint) {
1983
+ $intermediaryClosureScope = $intermediaryClosureScope->mergeWith($exitPoint->getScope());
1984
+ }
1985
+ $closureScope = $scope->enterAnonymousFunction($expr, $callableParameters);
1986
+ $closureScope = $closureScope->processClosureScope($intermediaryClosureScope, $prevScope, $byRefUses);
1987
+ if ($closureScope->equals($prevScope)) {
1988
+ break;
1989
+ }
1990
+ $count++;
1991
+ } while ($count < self::LOOP_SCOPE_ITERATIONS);
1992
+
1993
+ $statementResult = $this->processStmtNodes($expr, $expr->stmts, $closureScope, $closureStmtsCallback);
1994
+ $nodeCallback(new ClosureReturnStatementsNode(
1995
+ $expr,
1996
+ $gatheredReturnStatements,
1997
+ $statementResult
1998
+ ), $closureScope);
1999
+
2000
+ return new ExpressionResult($scope->processClosureScope($closureScope, null, $byRefUses), false);
2001
+ }
2002
+
2003
+ private function lookForArrayDestructuringArray(Scope $scope, Expr $expr, Type $valueType): Scope
2004
+ {
2005
+ if ($expr instanceof Array_ || $expr instanceof List_) {
2006
+ foreach ($expr->items as $key => $item) {
2007
+ /** @var \PhpParser\Node\Expr\ArrayItem|null $itemValue */
2008
+ $itemValue = $item;
2009
+ if ($itemValue === null) {
2010
+ continue;
2011
+ }
2012
+
2013
+ $keyType = $itemValue->key === null ? new ConstantIntegerType($key) : $scope->getType($itemValue->key);
2014
+ $scope = $this->specifyItemFromArrayDestructuring($scope, $itemValue, $valueType, $keyType);
2015
+ }
2016
+ } elseif ($expr instanceof Variable && is_string($expr->name)) {
2017
+ $scope = $scope->assignVariable($expr->name, new MixedType());
2018
+ } elseif ($expr instanceof ArrayDimFetch && $expr->var instanceof Variable && is_string($expr->var->name)) {
2019
+ $scope = $scope->assignVariable($expr->var->name, new MixedType());
2020
+ }
2021
+
2022
+ return $scope;
2023
+ }
2024
+
2025
+ private function specifyItemFromArrayDestructuring(Scope $scope, ArrayItem $arrayItem, Type $valueType, Type $keyType): Scope
2026
+ {
2027
+ $type = $valueType->getOffsetValueType($keyType);
2028
+
2029
+ $itemNode = $arrayItem->value;
2030
+ if ($itemNode instanceof Variable && is_string($itemNode->name)) {
2031
+ $scope = $scope->assignVariable($itemNode->name, $type);
2032
+ } elseif ($itemNode instanceof ArrayDimFetch && $itemNode->var instanceof Variable && is_string($itemNode->var->name)) {
2033
+ $currentType = $scope->hasVariableType($itemNode->var->name)->no()
2034
+ ? new ConstantArrayType([], [])
2035
+ : $scope->getVariableType($itemNode->var->name);
2036
+ $dimType = null;
2037
+ if ($itemNode->dim !== null) {
2038
+ $dimType = $scope->getType($itemNode->dim);
2039
+ }
2040
+ $scope = $scope->assignVariable($itemNode->var->name, $currentType->setOffsetValueType($dimType, $type));
2041
+ } else {
2042
+ $scope = $this->lookForArrayDestructuringArray($scope, $itemNode, $type);
2043
+ }
2044
+
2045
+ return $scope;
2046
+ }
2047
+
2048
+ /**
2049
+ * @param \PhpParser\Node\Param $param
2050
+ * @param \PHPStan\Analyser\Scope $scope
2051
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
2052
+ */
2053
+ private function processParamNode(
2054
+ Node\Param $param,
2055
+ Scope $scope,
2056
+ \Closure $nodeCallback
2057
+ ): void
2058
+ {
2059
+ if ($param->type !== null) {
2060
+ $nodeCallback($param->type, $scope);
2061
+ }
2062
+ if ($param->default === null) {
2063
+ return;
2064
+ }
2065
+
2066
+ $this->processExprNode($param->default, $scope, $nodeCallback, ExpressionContext::createDeep());
2067
+ }
2068
+
2069
+ /**
2070
+ * @param ParametersAcceptor|null $parametersAcceptor
2071
+ * @param \PhpParser\Node\Arg[] $args
2072
+ * @param \PHPStan\Analyser\Scope $scope
2073
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
2074
+ * @param ExpressionContext $context
2075
+ * @param \PHPStan\Analyser\Scope|null $closureBindScope
2076
+ * @return \PHPStan\Analyser\ExpressionResult
2077
+ */
2078
+ private function processArgs(
2079
+ ?ParametersAcceptor $parametersAcceptor,
2080
+ array $args,
2081
+ Scope $scope,
2082
+ \Closure $nodeCallback,
2083
+ ExpressionContext $context,
2084
+ ?Scope $closureBindScope = null
2085
+ ): ExpressionResult
2086
+ {
2087
+ // todo $scope = $scope->enterFunctionCall();
2088
+ if ($parametersAcceptor !== null) {
2089
+ $parameters = $parametersAcceptor->getParameters();
2090
+ }
2091
+
2092
+ $hasYield = false;
2093
+ foreach ($args as $i => $arg) {
2094
+ $nodeCallback($arg, $scope);
2095
+ if (isset($parameters) && $parametersAcceptor !== null) {
2096
+ $assignByReference = false;
2097
+ if (isset($parameters[$i])) {
2098
+ $assignByReference = $parameters[$i]->passedByReference()->createsNewVariable();
2099
+ $parameterType = $parameters[$i]->getType();
2100
+ } elseif (count($parameters) > 0 && $parametersAcceptor->isVariadic()) {
2101
+ $lastParameter = $parameters[count($parameters) - 1];
2102
+ $assignByReference = $lastParameter->passedByReference()->createsNewVariable();
2103
+ $parameterType = $lastParameter->getType();
2104
+ }
2105
+
2106
+ if ($assignByReference) {
2107
+ $argValue = $arg->value;
2108
+ if ($argValue instanceof Variable && is_string($argValue->name)) {
2109
+ $scope = $scope->assignVariable($argValue->name, new MixedType());
2110
+ }
2111
+ }
2112
+ }
2113
+
2114
+ $originalScope = $scope;
2115
+ $scopeToPass = $scope;
2116
+ if ($i === 0 && $closureBindScope !== null) {
2117
+ $scopeToPass = $closureBindScope;
2118
+ }
2119
+
2120
+ if ($arg->value instanceof Expr\Closure) {
2121
+ $this->callNodeCallbackWithExpression($nodeCallback, $arg->value, $scopeToPass, $context);
2122
+ $result = $this->processClosureNode($arg->value, $scopeToPass, $nodeCallback, $context, $parameterType ?? null);
2123
+ } else {
2124
+ $result = $this->processExprNode($arg->value, $scopeToPass, $nodeCallback, $context->enterDeep());
2125
+ }
2126
+ $scope = $result->getScope();
2127
+ $hasYield = $hasYield || $result->hasYield();
2128
+ if ($i !== 0 || $closureBindScope === null) {
2129
+ continue;
2130
+ }
2131
+
2132
+ $scope = $scope->restoreOriginalScopeAfterClosureBind($originalScope);
2133
+ }
2134
+
2135
+ // todo $scope = $scope->exitFunctionCall();
2136
+
2137
+ return new ExpressionResult($scope, $hasYield);
2138
+ }
2139
+
2140
+ /**
2141
+ * @param \PHPStan\Analyser\Scope $scope
2142
+ * @param \PhpParser\Node\Expr $var
2143
+ * @param \PhpParser\Node\Expr $assignedExpr
2144
+ * @param \Closure(\PhpParser\Node $node, Scope $scope): void $nodeCallback
2145
+ * @param ExpressionContext $context
2146
+ * @param \Closure(Scope $scope): ExpressionResult $processExprCallback
2147
+ * @param bool $enterExpressionAssign
2148
+ * @return ExpressionResult
2149
+ */
2150
+ private function processAssignVar(
2151
+ Scope $scope,
2152
+ Expr $var,
2153
+ Expr $assignedExpr,
2154
+ \Closure $nodeCallback,
2155
+ ExpressionContext $context,
2156
+ \Closure $processExprCallback,
2157
+ bool $enterExpressionAssign
2158
+ ): ExpressionResult
2159
+ {
2160
+ $nodeCallback($var, $enterExpressionAssign ? $scope->enterExpressionAssign($var) : $scope);
2161
+ $hasYield = false;
2162
+ if ($var instanceof Variable && is_string($var->name)) {
2163
+ $result = $processExprCallback($scope);
2164
+ $hasYield = $result->hasYield();
2165
+ $scope = $result->getScope();
2166
+ $scope = $scope->assignVariable($var->name, $scope->getType($assignedExpr));
2167
+ } elseif ($var instanceof ArrayDimFetch) {
2168
+ $dimExprStack = [];
2169
+ while ($var instanceof ArrayDimFetch) {
2170
+ $dimExprStack[] = $var->dim;
2171
+ $var = $var->var;
2172
+ }
2173
+
2174
+ // 1. eval root expr
2175
+ if ($enterExpressionAssign && $var instanceof Variable) {
2176
+ $scope = $scope->enterExpressionAssign($var);
2177
+ }
2178
+ $result = $this->processExprNode($var, $scope, $nodeCallback, $context->enterDeep());
2179
+ $hasYield = $result->hasYield();
2180
+ $scope = $result->getScope();
2181
+ if ($enterExpressionAssign && $var instanceof Variable) {
2182
+ $scope = $scope->exitExpressionAssign($var);
2183
+ }
2184
+
2185
+ // 2. eval dimensions
2186
+ $offsetTypes = [];
2187
+ foreach (array_reverse($dimExprStack) as $dimExpr) {
2188
+ if ($dimExpr === null) {
2189
+ $offsetTypes[] = null;
2190
+
2191
+ } else {
2192
+ $offsetTypes[] = $scope->getType($dimExpr);
2193
+
2194
+ if ($enterExpressionAssign) {
2195
+ $scope->enterExpressionAssign($dimExpr);
2196
+ }
2197
+ $result = $this->processExprNode($dimExpr, $scope, $nodeCallback, $context->enterDeep());
2198
+ $hasYield = $hasYield || $result->hasYield();
2199
+ $scope = $result->getScope();
2200
+
2201
+ if ($enterExpressionAssign) {
2202
+ $scope = $scope->exitExpressionAssign($dimExpr);
2203
+ }
2204
+ }
2205
+ }
2206
+
2207
+ $valueToWrite = $scope->getType($assignedExpr);
2208
+
2209
+ // 3. eval assigned expr
2210
+ $result = $processExprCallback($scope);
2211
+ $hasYield = $hasYield || $result->hasYield();
2212
+ $scope = $result->getScope();
2213
+
2214
+ // 4. compose types
2215
+ $varType = $scope->getType($var);
2216
+ if ($varType instanceof ErrorType) {
2217
+ $varType = new ConstantArrayType([], []);
2218
+ }
2219
+ $offsetValueType = $varType;
2220
+ $offsetValueTypeStack = [$offsetValueType];
2221
+ foreach (array_slice($offsetTypes, 0, -1) as $offsetType) {
2222
+ if ($offsetType === null) {
2223
+ $offsetValueType = new ConstantArrayType([], []);
2224
+
2225
+ } else {
2226
+ $offsetValueType = $offsetValueType->getOffsetValueType($offsetType);
2227
+ if ($offsetValueType instanceof ErrorType) {
2228
+ $offsetValueType = new ConstantArrayType([], []);
2229
+ }
2230
+ }
2231
+
2232
+ $offsetValueTypeStack[] = $offsetValueType;
2233
+ }
2234
+
2235
+ foreach (array_reverse($offsetTypes) as $offsetType) {
2236
+ /** @var Type $offsetValueType */
2237
+ $offsetValueType = array_pop($offsetValueTypeStack);
2238
+ $valueToWrite = $offsetValueType->setOffsetValueType($offsetType, $valueToWrite);
2239
+ }
2240
+
2241
+ if ($var instanceof Variable && is_string($var->name)) {
2242
+ $scope = $scope->assignVariable($var->name, $valueToWrite);
2243
+ } else {
2244
+ $scope = $scope->specifyExpressionType(
2245
+ $var,
2246
+ $valueToWrite
2247
+ );
2248
+ }
2249
+ } elseif ($var instanceof PropertyFetch) {
2250
+ $result = $processExprCallback($scope);
2251
+ $hasYield = $result->hasYield();
2252
+ $scope = $result->getScope();
2253
+
2254
+ $propertyHolderType = $scope->getType($var->var);
2255
+ $propertyName = null;
2256
+ if ($var->name instanceof Node\Identifier) {
2257
+ $propertyName = $var->name->name;
2258
+ }
2259
+ if ($propertyName !== null && $propertyHolderType->hasProperty($propertyName)->yes()) {
2260
+ $propertyReflection = $propertyHolderType->getProperty($propertyName, $scope);
2261
+ if (!$propertyReflection instanceof ExtendedPropertyReflection || $propertyReflection->canChangeTypeAfterAssignment()) {
2262
+ $scope = $scope->specifyExpressionType($var, $scope->getType($assignedExpr));
2263
+ }
2264
+ } else {
2265
+ // fallback
2266
+ $scope = $scope->specifyExpressionType($var, $scope->getType($assignedExpr));
2267
+ }
2268
+
2269
+ } elseif ($var instanceof Expr\StaticPropertyFetch) {
2270
+ $result = $processExprCallback($scope);
2271
+ $hasYield = $result->hasYield();
2272
+ $scope = $result->getScope();
2273
+
2274
+ if ($var->class instanceof \PhpParser\Node\Name) {
2275
+ $propertyHolderType = new ObjectType($scope->resolveName($var->class));
2276
+ } else {
2277
+ $propertyHolderType = $scope->getType($var->class);
2278
+ }
2279
+ $propertyName = null;
2280
+ if ($var->name instanceof Node\Identifier) {
2281
+ $propertyName = $var->name->name;
2282
+ }
2283
+ if ($propertyName !== null && $propertyHolderType->hasProperty($propertyName)->yes()) {
2284
+ $propertyReflection = $propertyHolderType->getProperty($propertyName, $scope);
2285
+ if (!$propertyReflection instanceof ExtendedPropertyReflection || $propertyReflection->canChangeTypeAfterAssignment()) {
2286
+ $scope = $scope->specifyExpressionType($var, $scope->getType($assignedExpr));
2287
+ }
2288
+ } else {
2289
+ // fallback
2290
+ $scope = $scope->specifyExpressionType($var, $scope->getType($assignedExpr));
2291
+ }
2292
+ }
2293
+
2294
+ return new ExpressionResult($scope, $hasYield);
2295
+ }
2296
+
2297
+ private function processStmtVarAnnotation(Scope $scope, Node\Stmt $stmt): Scope
2298
+ {
2299
+ if (!$this->allowVarTagAboveStatements) {
2300
+ return $scope;
2301
+ }
2302
+ $comment = CommentHelper::getDocComment($stmt);
2303
+ if ($comment === null) {
2304
+ return $scope;
2305
+ }
2306
+
2307
+ $resolvedPhpDoc = $this->fileTypeMapper->getResolvedPhpDoc(
2308
+ $scope->getFile(),
2309
+ $scope->isInClass() ? $scope->getClassReflection()->getName() : null,
2310
+ $scope->isInTrait() ? $scope->getTraitReflection()->getName() : null,
2311
+ $comment
2312
+ );
2313
+ foreach ($resolvedPhpDoc->getVarTags() as $name => $varTag) {
2314
+ if (is_int($name)) {
2315
+ continue;
2316
+ }
2317
+
2318
+ $certainty = $scope->hasVariableType($name);
2319
+ if ($certainty->no()) {
2320
+ continue;
2321
+ }
2322
+
2323
+ $scope = $scope->assignVariable($name, $varTag->getType(), $certainty);
2324
+ }
2325
+
2326
+ return $scope;
2327
+ }
2328
+
2329
+ private function processVarAnnotation(Scope $scope, string $variableName, string $comment, bool $strict, bool &$changed = false): Scope
2330
+ {
2331
+ $resolvedPhpDoc = $this->fileTypeMapper->getResolvedPhpDoc(
2332
+ $scope->getFile(),
2333
+ $scope->isInClass() ? $scope->getClassReflection()->getName() : null,
2334
+ $scope->isInTrait() ? $scope->getTraitReflection()->getName() : null,
2335
+ $comment
2336
+ );
2337
+ $varTags = $resolvedPhpDoc->getVarTags();
2338
+
2339
+ if (isset($varTags[$variableName])) {
2340
+ $variableType = $varTags[$variableName]->getType();
2341
+ $changed = true;
2342
+ return $scope->assignVariable($variableName, $variableType);
2343
+
2344
+ }
2345
+
2346
+ if (!$strict && count($varTags) === 1 && isset($varTags[0])) {
2347
+ $variableType = $varTags[0]->getType();
2348
+ $changed = true;
2349
+ return $scope->assignVariable($variableName, $variableType);
2350
+
2351
+ }
2352
+
2353
+ return $scope;
2354
+ }
2355
+
2356
+ private function enterForeach(Scope $scope, Foreach_ $stmt): Scope
2357
+ {
2358
+ if ($stmt->keyVar !== null && $stmt->keyVar instanceof Variable && is_string($stmt->keyVar->name)) {
2359
+ $scope = $scope->assignVariable($stmt->keyVar->name, new MixedType());
2360
+ }
2361
+
2362
+ $comment = CommentHelper::getDocComment($stmt);
2363
+ if ($stmt->valueVar instanceof Variable && is_string($stmt->valueVar->name)) {
2364
+ $scope = $scope->enterForeach(
2365
+ $stmt->expr,
2366
+ $stmt->valueVar->name,
2367
+ $stmt->keyVar !== null
2368
+ && $stmt->keyVar instanceof Variable
2369
+ && is_string($stmt->keyVar->name)
2370
+ ? $stmt->keyVar->name
2371
+ : null
2372
+ );
2373
+ if ($comment !== null) {
2374
+ $scope = $this->processVarAnnotation($scope, $stmt->valueVar->name, $comment, true);
2375
+ }
2376
+ }
2377
+
2378
+ if (
2379
+ $stmt->keyVar instanceof Variable && is_string($stmt->keyVar->name)
2380
+ && $comment !== null
2381
+ ) {
2382
+ $scope = $this->processVarAnnotation($scope, $stmt->keyVar->name, $comment, true);
2383
+ }
2384
+
2385
+ if ($stmt->valueVar instanceof List_ || $stmt->valueVar instanceof Array_) {
2386
+ $exprType = $scope->getType($stmt->expr);
2387
+ $itemType = $exprType->getIterableValueType();
2388
+ $scope = $this->lookForArrayDestructuringArray($scope, $stmt->valueVar, $itemType);
2389
+ $comment = CommentHelper::getDocComment($stmt);
2390
+ if ($comment !== null) {
2391
+ foreach ($stmt->valueVar->items as $arrayItem) {
2392
+ if ($arrayItem === null) {
2393
+ continue;
2394
+ }
2395
+ if (!$arrayItem->value instanceof Variable || !is_string($arrayItem->value->name)) {
2396
+ continue;
2397
+ }
2398
+
2399
+ $scope = $this->processVarAnnotation($scope, $arrayItem->value->name, $comment, true);
2400
+ }
2401
+ }
2402
+ }
2403
+
2404
+ return $scope;
2405
+ }
2406
+
2407
+ private function processTraitUse(Node\Stmt\TraitUse $node, Scope $classScope, \Closure $nodeCallback): void
2408
+ {
2409
+ foreach ($node->traits as $trait) {
2410
+ $traitName = (string) $trait;
2411
+ if (!$this->broker->hasClass($traitName)) {
2412
+ continue;
2413
+ }
2414
+ $traitReflection = $this->broker->getClass($traitName);
2415
+ $traitFileName = $traitReflection->getFileName();
2416
+ if ($traitFileName === false) {
2417
+ continue; // trait from eval or from PHP itself
2418
+ }
2419
+ $fileName = $this->fileHelper->normalizePath($traitFileName);
2420
+ if (!isset($this->analysedFiles[$fileName])) {
2421
+ continue;
2422
+ }
2423
+ $parserNodes = $this->parser->parseFile($fileName);
2424
+ $this->processNodesForTraitUse($parserNodes, $traitReflection, $classScope, $nodeCallback);
2425
+ }
2426
+ }
2427
+
2428
+ /**
2429
+ * @param \PhpParser\Node[]|\PhpParser\Node|scalar $node
2430
+ * @param ClassReflection $traitReflection
2431
+ * @param \PHPStan\Analyser\Scope $scope
2432
+ * @param \Closure(\PhpParser\Node $node): void $nodeCallback
2433
+ */
2434
+ private function processNodesForTraitUse($node, ClassReflection $traitReflection, Scope $scope, \Closure $nodeCallback): void
2435
+ {
2436
+ if ($node instanceof Node) {
2437
+ if ($node instanceof Node\Stmt\Trait_ && $traitReflection->getName() === (string) $node->namespacedName) {
2438
+ $this->processStmtNodes($node, $node->stmts, $scope->enterTrait($traitReflection), $nodeCallback);
2439
+ return;
2440
+ }
2441
+ if ($node instanceof Node\Stmt\ClassLike) {
2442
+ return;
2443
+ }
2444
+ if ($node instanceof Node\FunctionLike) {
2445
+ return;
2446
+ }
2447
+ foreach ($node->getSubNodeNames() as $subNodeName) {
2448
+ $subNode = $node->{$subNodeName};
2449
+ $this->processNodesForTraitUse($subNode, $traitReflection, $scope, $nodeCallback);
2450
+ }
2451
+ } elseif (is_array($node)) {
2452
+ foreach ($node as $subNode) {
2453
+ $this->processNodesForTraitUse($subNode, $traitReflection, $scope, $nodeCallback);
2454
+ }
2455
+ }
2456
+ }
2457
+
2458
+ /**
2459
+ * @param Scope $scope
2460
+ * @param Node\FunctionLike $functionLike
2461
+ * @return array{Type[], ?Type, ?Type, ?string, bool, bool, bool}
2462
+ */
2463
+ public function getPhpDocs(Scope $scope, Node\FunctionLike $functionLike): array
2464
+ {
2465
+ $phpDocParameterTypes = [];
2466
+ $phpDocReturnType = null;
2467
+ $phpDocThrowType = null;
2468
+ $deprecatedDescription = null;
2469
+ $isDeprecated = false;
2470
+ $isInternal = false;
2471
+ $isFinal = false;
2472
+ $docComment = $functionLike->getDocComment() !== null
2473
+ ? $functionLike->getDocComment()->getText()
2474
+ : null;
2475
+
2476
+ $file = $scope->getFile();
2477
+ $class = $scope->isInClass() ? $scope->getClassReflection()->getName() : null;
2478
+ $trait = $scope->isInTrait() ? $scope->getTraitReflection()->getName() : null;
2479
+ $isExplicitPhpDoc = true;
2480
+ if ($functionLike instanceof Node\Stmt\ClassMethod) {
2481
+ if (!$scope->isInClass()) {
2482
+ throw new \PHPStan\ShouldNotHappenException();
2483
+ }
2484
+ $phpDocBlock = PhpDocBlock::resolvePhpDocBlockForMethod(
2485
+ $this->broker,
2486
+ $docComment,
2487
+ $scope->getClassReflection()->getName(),
2488
+ $trait,
2489
+ $functionLike->name->name,
2490
+ $file
2491
+ );
2492
+
2493
+ if ($phpDocBlock !== null) {
2494
+ $docComment = $phpDocBlock->getDocComment();
2495
+ $file = $phpDocBlock->getFile();
2496
+ $class = $phpDocBlock->getClass();
2497
+ $trait = $phpDocBlock->getTrait();
2498
+ $isExplicitPhpDoc = $phpDocBlock->isExplicit();
2499
+ }
2500
+ }
2501
+
2502
+ if ($docComment !== null) {
2503
+ $resolvedPhpDoc = $this->fileTypeMapper->getResolvedPhpDoc(
2504
+ $file,
2505
+ $class,
2506
+ $trait,
2507
+ $docComment
2508
+ );
2509
+ $phpDocParameterTypes = array_map(static function (ParamTag $tag): Type {
2510
+ return $tag->getType();
2511
+ }, $resolvedPhpDoc->getParamTags());
2512
+ $nativeReturnType = $scope->getFunctionType($functionLike->getReturnType(), false, false);
2513
+ $phpDocReturnType = null;
2514
+ if (
2515
+ $resolvedPhpDoc->getReturnTag() !== null
2516
+ && (
2517
+ $isExplicitPhpDoc
2518
+ || $nativeReturnType->isSuperTypeOf($resolvedPhpDoc->getReturnTag()->getType())->yes()
2519
+ )
2520
+ ) {
2521
+ $phpDocReturnType = $resolvedPhpDoc->getReturnTag()->getType();
2522
+ }
2523
+ $phpDocThrowType = $resolvedPhpDoc->getThrowsTag() !== null ? $resolvedPhpDoc->getThrowsTag()->getType() : null;
2524
+ $deprecatedDescription = $resolvedPhpDoc->getDeprecatedTag() !== null ? $resolvedPhpDoc->getDeprecatedTag()->getMessage() : null;
2525
+ $isDeprecated = $resolvedPhpDoc->isDeprecated();
2526
+ $isInternal = $resolvedPhpDoc->isInternal();
2527
+ $isFinal = $resolvedPhpDoc->isFinal();
2528
+ }
2529
+
2530
+ return [$phpDocParameterTypes, $phpDocReturnType, $phpDocThrowType, $deprecatedDescription, $isDeprecated, $isInternal, $isFinal];
2531
+ }
2532
+
2533
+ }