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,39 @@
1
+ <?php declare(strict_types = 1);
2
+
3
+ namespace PHPStan\Analyser;
4
+
5
+ use PHPStan\Reflection\ClassMemberAccessAnswerer;
6
+ use PHPStan\Reflection\ClassReflection;
7
+ use PHPStan\Reflection\ConstantReflection;
8
+ use PHPStan\Reflection\MethodReflection;
9
+ use PHPStan\Reflection\PropertyReflection;
10
+
11
+ class OutOfClassScope implements ClassMemberAccessAnswerer
12
+ {
13
+
14
+ public function isInClass(): bool
15
+ {
16
+ return false;
17
+ }
18
+
19
+ public function getClassReflection(): ?ClassReflection
20
+ {
21
+ return null;
22
+ }
23
+
24
+ public function canAccessProperty(PropertyReflection $propertyReflection): bool
25
+ {
26
+ return $propertyReflection->isPublic();
27
+ }
28
+
29
+ public function canCallMethod(MethodReflection $methodReflection): bool
30
+ {
31
+ return $methodReflection->isPublic();
32
+ }
33
+
34
+ public function canAccessConstant(ConstantReflection $constantReflection): bool
35
+ {
36
+ return $constantReflection->isPublic();
37
+ }
38
+
39
+ }
@@ -0,0 +1,3210 @@
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\BinaryOp;
9
+ use PhpParser\Node\Expr\Cast\Bool_;
10
+ use PhpParser\Node\Expr\Cast\Double;
11
+ use PhpParser\Node\Expr\Cast\Int_;
12
+ use PhpParser\Node\Expr\Cast\Object_;
13
+ use PhpParser\Node\Expr\Cast\Unset_;
14
+ use PhpParser\Node\Expr\ConstFetch;
15
+ use PhpParser\Node\Expr\FuncCall;
16
+ use PhpParser\Node\Expr\MethodCall;
17
+ use PhpParser\Node\Expr\New_;
18
+ use PhpParser\Node\Expr\PropertyFetch;
19
+ use PhpParser\Node\Expr\Variable;
20
+ use PhpParser\Node\Name;
21
+ use PhpParser\Node\Scalar\DNumber;
22
+ use PhpParser\Node\Scalar\EncapsedStringPart;
23
+ use PhpParser\Node\Scalar\LNumber;
24
+ use PhpParser\Node\Scalar\String_;
25
+ use PHPStan\Broker\Broker;
26
+ use PHPStan\Reflection\ClassMemberAccessAnswerer;
27
+ use PHPStan\Reflection\ClassMemberReflection;
28
+ use PHPStan\Reflection\ClassReflection;
29
+ use PHPStan\Reflection\ConstantReflection;
30
+ use PHPStan\Reflection\Dummy\DummyConstructorReflection;
31
+ use PHPStan\Reflection\ExtendedPropertyReflection;
32
+ use PHPStan\Reflection\MethodReflection;
33
+ use PHPStan\Reflection\Native\NativeParameterReflection;
34
+ use PHPStan\Reflection\ParametersAcceptorSelector;
35
+ use PHPStan\Reflection\PassedByReference;
36
+ use PHPStan\Reflection\Php\PhpFunctionFromParserNodeReflection;
37
+ use PHPStan\Reflection\Php\PhpMethodFromParserNodeReflection;
38
+ use PHPStan\Reflection\Php\PhpPropertyReflection;
39
+ use PHPStan\Reflection\PropertyReflection;
40
+ use PHPStan\Rules\Properties\PropertyReflectionFinder;
41
+ use PHPStan\TrinaryLogic;
42
+ use PHPStan\Type\ArrayType;
43
+ use PHPStan\Type\BenevolentUnionType;
44
+ use PHPStan\Type\BooleanType;
45
+ use PHPStan\Type\CallableType;
46
+ use PHPStan\Type\ClosureType;
47
+ use PHPStan\Type\Constant\ConstantArrayType;
48
+ use PHPStan\Type\Constant\ConstantArrayTypeBuilder;
49
+ use PHPStan\Type\Constant\ConstantBooleanType;
50
+ use PHPStan\Type\Constant\ConstantFloatType;
51
+ use PHPStan\Type\Constant\ConstantIntegerType;
52
+ use PHPStan\Type\Constant\ConstantStringType;
53
+ use PHPStan\Type\ConstantScalarType;
54
+ use PHPStan\Type\ConstantType;
55
+ use PHPStan\Type\ErrorType;
56
+ use PHPStan\Type\FloatType;
57
+ use PHPStan\Type\IntegerType;
58
+ use PHPStan\Type\IterableType;
59
+ use PHPStan\Type\MixedType;
60
+ use PHPStan\Type\NeverType;
61
+ use PHPStan\Type\NonexistentParentClassType;
62
+ use PHPStan\Type\NullType;
63
+ use PHPStan\Type\ObjectType;
64
+ use PHPStan\Type\ObjectWithoutClassType;
65
+ use PHPStan\Type\StaticResolvableType;
66
+ use PHPStan\Type\StaticType;
67
+ use PHPStan\Type\StringType;
68
+ use PHPStan\Type\ThisType;
69
+ use PHPStan\Type\Type;
70
+ use PHPStan\Type\TypeCombinator;
71
+ use PHPStan\Type\TypeUtils;
72
+ use PHPStan\Type\TypeWithClassName;
73
+ use PHPStan\Type\UnionType;
74
+ use PHPStan\Type\VerbosityLevel;
75
+ use PHPStan\Type\VoidType;
76
+
77
+ class Scope implements ClassMemberAccessAnswerer
78
+ {
79
+
80
+ private const OPERATOR_SIGIL_MAP = [
81
+ Node\Expr\AssignOp\Plus::class => '+',
82
+ Node\Expr\AssignOp\Minus::class => '-',
83
+ Node\Expr\AssignOp\Mul::class => '*',
84
+ Node\Expr\AssignOp\Pow::class => '^',
85
+ Node\Expr\AssignOp\Div::class => '/',
86
+ ];
87
+
88
+ /** @var \PHPStan\Analyser\ScopeFactory */
89
+ private $scopeFactory;
90
+
91
+ /** @var \PHPStan\Broker\Broker */
92
+ private $broker;
93
+
94
+ /** @var \PhpParser\PrettyPrinter\Standard */
95
+ private $printer;
96
+
97
+ /** @var \PHPStan\Analyser\TypeSpecifier */
98
+ private $typeSpecifier;
99
+
100
+ /** @var \PHPStan\Rules\Properties\PropertyReflectionFinder */
101
+ private $propertyReflectionFinder;
102
+
103
+ /** @var \PHPStan\Analyser\ScopeContext */
104
+ private $context;
105
+
106
+ /** @var \PHPStan\Type\Type[] */
107
+ private $resolvedTypes = [];
108
+
109
+ /** @var bool */
110
+ private $declareStrictTypes;
111
+
112
+ /** @var \PHPStan\Reflection\FunctionReflection|MethodReflection|null */
113
+ private $function;
114
+
115
+ /** @var string|null */
116
+ private $namespace;
117
+
118
+ /** @var \PHPStan\Analyser\VariableTypeHolder[] */
119
+ private $variableTypes;
120
+
121
+ /** @var \PHPStan\Analyser\VariableTypeHolder[] */
122
+ private $moreSpecificTypes;
123
+
124
+ /** @var string|null */
125
+ private $inClosureBindScopeClass;
126
+
127
+ /** @var \PHPStan\Type\Type|null */
128
+ private $inAnonymousFunctionReturnType;
129
+
130
+ /** @var \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|null */
131
+ private $inFunctionCall;
132
+
133
+ /** @var bool */
134
+ private $negated;
135
+
136
+ /** @var bool */
137
+ private $inFirstLevelStatement;
138
+
139
+ /** @var array<string, true> */
140
+ private $currentlyAssignedExpressions = [];
141
+
142
+ /** @var string[] */
143
+ private $dynamicConstantNames;
144
+
145
+ /**
146
+ * @param \PHPStan\Analyser\ScopeFactory $scopeFactory
147
+ * @param \PHPStan\Broker\Broker $broker
148
+ * @param \PhpParser\PrettyPrinter\Standard $printer
149
+ * @param \PHPStan\Analyser\TypeSpecifier $typeSpecifier
150
+ * @param \PHPStan\Rules\Properties\PropertyReflectionFinder $propertyReflectionFinder
151
+ * @param \PHPStan\Analyser\ScopeContext $context
152
+ * @param bool $declareStrictTypes
153
+ * @param \PHPStan\Reflection\FunctionReflection|MethodReflection|null $function
154
+ * @param string|null $namespace
155
+ * @param \PHPStan\Analyser\VariableTypeHolder[] $variablesTypes
156
+ * @param \PHPStan\Analyser\VariableTypeHolder[] $moreSpecificTypes
157
+ * @param string|null $inClosureBindScopeClass
158
+ * @param \PHPStan\Type\Type|null $inAnonymousFunctionReturnType
159
+ * @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|null $inFunctionCall
160
+ * @param bool $negated
161
+ * @param bool $inFirstLevelStatement
162
+ * @param array<string, true> $currentlyAssignedExpressions
163
+ * @param string[] $dynamicConstantNames
164
+ */
165
+ public function __construct(
166
+ ScopeFactory $scopeFactory,
167
+ Broker $broker,
168
+ \PhpParser\PrettyPrinter\Standard $printer,
169
+ TypeSpecifier $typeSpecifier,
170
+ PropertyReflectionFinder $propertyReflectionFinder,
171
+ ScopeContext $context,
172
+ bool $declareStrictTypes = false,
173
+ $function = null,
174
+ ?string $namespace = null,
175
+ array $variablesTypes = [],
176
+ array $moreSpecificTypes = [],
177
+ ?string $inClosureBindScopeClass = null,
178
+ ?Type $inAnonymousFunctionReturnType = null,
179
+ ?Expr $inFunctionCall = null,
180
+ bool $negated = false,
181
+ bool $inFirstLevelStatement = true,
182
+ array $currentlyAssignedExpressions = [],
183
+ array $dynamicConstantNames = []
184
+ )
185
+ {
186
+ if ($namespace === '') {
187
+ $namespace = null;
188
+ }
189
+
190
+ $this->scopeFactory = $scopeFactory;
191
+ $this->broker = $broker;
192
+ $this->printer = $printer;
193
+ $this->typeSpecifier = $typeSpecifier;
194
+ $this->propertyReflectionFinder = $propertyReflectionFinder;
195
+ $this->context = $context;
196
+ $this->declareStrictTypes = $declareStrictTypes;
197
+ $this->function = $function;
198
+ $this->namespace = $namespace;
199
+ $this->variableTypes = $variablesTypes;
200
+ $this->moreSpecificTypes = $moreSpecificTypes;
201
+ $this->inClosureBindScopeClass = $inClosureBindScopeClass;
202
+ $this->inAnonymousFunctionReturnType = $inAnonymousFunctionReturnType;
203
+ $this->inFunctionCall = $inFunctionCall;
204
+ $this->negated = $negated;
205
+ $this->inFirstLevelStatement = $inFirstLevelStatement;
206
+ $this->currentlyAssignedExpressions = $currentlyAssignedExpressions;
207
+ $this->dynamicConstantNames = $dynamicConstantNames;
208
+ }
209
+
210
+ public function getFile(): string
211
+ {
212
+ return $this->context->getFile();
213
+ }
214
+
215
+ public function getFileDescription(): string
216
+ {
217
+ if ($this->context->getTraitReflection() === null) {
218
+ return $this->getFile();
219
+ }
220
+
221
+ /** @var ClassReflection $classReflection */
222
+ $classReflection = $this->context->getClassReflection();
223
+
224
+ $className = sprintf('class %s', $classReflection->getDisplayName());
225
+ if ($classReflection->isAnonymous()) {
226
+ $className = 'anonymous class';
227
+ }
228
+
229
+ $traitReflection = $this->context->getTraitReflection();
230
+ if ($traitReflection->getFileName() === false) {
231
+ throw new \PHPStan\ShouldNotHappenException();
232
+ }
233
+
234
+ return sprintf(
235
+ '%s (in context of %s)',
236
+ $traitReflection->getFileName(),
237
+ $className
238
+ );
239
+ }
240
+
241
+ public function isDeclareStrictTypes(): bool
242
+ {
243
+ return $this->declareStrictTypes;
244
+ }
245
+
246
+ public function enterDeclareStrictTypes(): self
247
+ {
248
+ return $this->scopeFactory->create(
249
+ $this->context,
250
+ true
251
+ );
252
+ }
253
+
254
+ public function isInClass(): bool
255
+ {
256
+ return $this->context->getClassReflection() !== null;
257
+ }
258
+
259
+ public function isInTrait(): bool
260
+ {
261
+ return $this->context->getTraitReflection() !== null;
262
+ }
263
+
264
+ public function getClassReflection(): ?ClassReflection
265
+ {
266
+ return $this->context->getClassReflection();
267
+ }
268
+
269
+ public function getTraitReflection(): ?ClassReflection
270
+ {
271
+ return $this->context->getTraitReflection();
272
+ }
273
+
274
+ /**
275
+ * @return \PHPStan\Reflection\FunctionReflection|\PHPStan\Reflection\MethodReflection|null
276
+ */
277
+ public function getFunction()
278
+ {
279
+ return $this->function;
280
+ }
281
+
282
+ public function getFunctionName(): ?string
283
+ {
284
+ return $this->function !== null ? $this->function->getName() : null;
285
+ }
286
+
287
+ public function getNamespace(): ?string
288
+ {
289
+ return $this->namespace;
290
+ }
291
+
292
+ /**
293
+ * @return array<string, \PHPStan\Analyser\VariableTypeHolder>
294
+ */
295
+ private function getVariableTypes(): array
296
+ {
297
+ return $this->variableTypes;
298
+ }
299
+
300
+ public function hasVariableType(string $variableName): TrinaryLogic
301
+ {
302
+ if ($this->isGlobalVariable($variableName)) {
303
+ return TrinaryLogic::createYes();
304
+ }
305
+
306
+ if (!isset($this->variableTypes[$variableName])) {
307
+ return TrinaryLogic::createNo();
308
+ }
309
+
310
+ return $this->variableTypes[$variableName]->getCertainty();
311
+ }
312
+
313
+ public function getVariableType(string $variableName): Type
314
+ {
315
+ if ($this->isGlobalVariable($variableName)) {
316
+ return new ArrayType(new StringType(), new MixedType());
317
+ }
318
+
319
+ if ($this->hasVariableType($variableName)->no()) {
320
+ throw new \PHPStan\Analyser\UndefinedVariableException($this, $variableName);
321
+ }
322
+
323
+ return $this->variableTypes[$variableName]->getType();
324
+ }
325
+
326
+ private function isGlobalVariable(string $variableName): bool
327
+ {
328
+ return in_array($variableName, [
329
+ 'GLOBALS',
330
+ '_SERVER',
331
+ '_GET',
332
+ '_POST',
333
+ '_FILES',
334
+ '_COOKIE',
335
+ '_SESSION',
336
+ '_REQUEST',
337
+ '_ENV',
338
+ ], true);
339
+ }
340
+
341
+ public function hasConstant(Name $name): bool
342
+ {
343
+ $node = new ConstFetch(new Name\FullyQualified($name->toString()));
344
+ if ($this->isSpecified($node)) {
345
+ return true;
346
+ }
347
+ return $this->broker->hasConstant($name, $this);
348
+ }
349
+
350
+ public function isInAnonymousFunction(): bool
351
+ {
352
+ return $this->inAnonymousFunctionReturnType !== null;
353
+ }
354
+
355
+ public function getAnonymousFunctionReturnType(): ?\PHPStan\Type\Type
356
+ {
357
+ return $this->inAnonymousFunctionReturnType;
358
+ }
359
+
360
+ /**
361
+ * @return \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall|null
362
+ */
363
+ public function getInFunctionCall()
364
+ {
365
+ return $this->inFunctionCall;
366
+ }
367
+
368
+ public function getType(Expr $node): Type
369
+ {
370
+ $key = $this->printer->prettyPrintExpr($node);
371
+ if (!array_key_exists($key, $this->resolvedTypes)) {
372
+ $this->resolvedTypes[$key] = $this->resolveType($node);
373
+ }
374
+ return $this->resolvedTypes[$key];
375
+ }
376
+
377
+ private function resolveType(Expr $node): Type
378
+ {
379
+ if ($node instanceof Expr\Exit_) {
380
+ return new NeverType();
381
+ }
382
+
383
+ if (
384
+ $node instanceof Expr\BinaryOp\Greater
385
+ || $node instanceof Expr\BinaryOp\GreaterOrEqual
386
+ || $node instanceof Expr\BinaryOp\Smaller
387
+ || $node instanceof Expr\BinaryOp\SmallerOrEqual
388
+ || $node instanceof Expr\BinaryOp\Equal
389
+ || $node instanceof Expr\BinaryOp\NotEqual
390
+ || $node instanceof Expr\Empty_
391
+ ) {
392
+ return new BooleanType();
393
+ }
394
+
395
+ if ($node instanceof Expr\Isset_) {
396
+ $result = new ConstantBooleanType(true);
397
+ foreach ($node->vars as $var) {
398
+ if ($var instanceof Expr\ArrayDimFetch && $var->dim !== null) {
399
+ $hasOffset = $this->getType($var->var)->hasOffsetValueType(
400
+ $this->getType($var->dim)
401
+ )->toBooleanType();
402
+ if ($hasOffset instanceof ConstantBooleanType) {
403
+ if (!$hasOffset->getValue()) {
404
+ return $hasOffset;
405
+ }
406
+
407
+ continue;
408
+ }
409
+
410
+ $result = $hasOffset;
411
+ continue;
412
+ }
413
+
414
+ if ($var instanceof Expr\Variable && is_string($var->name)) {
415
+ $variableType = $this->resolveType($var);
416
+ $isNullSuperType = (new NullType())->isSuperTypeOf($variableType);
417
+ $has = $this->hasVariableType($var->name);
418
+ if ($has->no() || $isNullSuperType->yes()) {
419
+ return new ConstantBooleanType(false);
420
+ }
421
+
422
+ if ($has->maybe() || !$isNullSuperType->no()) {
423
+ $result = new BooleanType();
424
+ }
425
+ continue;
426
+ }
427
+
428
+ return new BooleanType();
429
+ }
430
+
431
+ return $result;
432
+ }
433
+
434
+ if ($node instanceof \PhpParser\Node\Expr\BooleanNot) {
435
+ $exprBooleanType = $this->getType($node->expr)->toBoolean();
436
+ if ($exprBooleanType instanceof ConstantBooleanType) {
437
+ return new ConstantBooleanType(!$exprBooleanType->getValue());
438
+ }
439
+
440
+ return new BooleanType();
441
+ }
442
+
443
+ if (
444
+ $node instanceof \PhpParser\Node\Expr\BinaryOp\BooleanAnd
445
+ || $node instanceof \PhpParser\Node\Expr\BinaryOp\LogicalAnd
446
+ ) {
447
+ $leftBooleanType = $this->getType($node->left)->toBoolean();
448
+ if (
449
+ $leftBooleanType instanceof ConstantBooleanType
450
+ && !$leftBooleanType->getValue()
451
+ ) {
452
+ return new ConstantBooleanType(false);
453
+ }
454
+
455
+ $rightBooleanType = $this->filterByTruthyValue($node->left)->getType($node->right)->toBoolean();
456
+ if (
457
+ $rightBooleanType instanceof ConstantBooleanType
458
+ && !$rightBooleanType->getValue()
459
+ ) {
460
+ return new ConstantBooleanType(false);
461
+ }
462
+
463
+ if (
464
+ $leftBooleanType instanceof ConstantBooleanType
465
+ && $leftBooleanType->getValue()
466
+ && $rightBooleanType instanceof ConstantBooleanType
467
+ && $rightBooleanType->getValue()
468
+ ) {
469
+ return new ConstantBooleanType(true);
470
+ }
471
+
472
+ return new BooleanType();
473
+ }
474
+
475
+ if (
476
+ $node instanceof \PhpParser\Node\Expr\BinaryOp\BooleanOr
477
+ || $node instanceof \PhpParser\Node\Expr\BinaryOp\LogicalOr
478
+ ) {
479
+ $leftBooleanType = $this->getType($node->left)->toBoolean();
480
+ if (
481
+ $leftBooleanType instanceof ConstantBooleanType
482
+ && $leftBooleanType->getValue()
483
+ ) {
484
+ return new ConstantBooleanType(true);
485
+ }
486
+
487
+ $rightBooleanType = $this->filterByFalseyValue($node->left)->getType($node->right)->toBoolean();
488
+ if (
489
+ $rightBooleanType instanceof ConstantBooleanType
490
+ && $rightBooleanType->getValue()
491
+ ) {
492
+ return new ConstantBooleanType(true);
493
+ }
494
+
495
+ if (
496
+ $leftBooleanType instanceof ConstantBooleanType
497
+ && !$leftBooleanType->getValue()
498
+ && $rightBooleanType instanceof ConstantBooleanType
499
+ && !$rightBooleanType->getValue()
500
+ ) {
501
+ return new ConstantBooleanType(false);
502
+ }
503
+
504
+ return new BooleanType();
505
+ }
506
+
507
+ if ($node instanceof \PhpParser\Node\Expr\BinaryOp\LogicalXor) {
508
+ $leftBooleanType = $this->getType($node->left)->toBoolean();
509
+ $rightBooleanType = $this->filterByFalseyValue($node->left)->getType($node->right)->toBoolean();
510
+ if (
511
+ $leftBooleanType instanceof ConstantBooleanType
512
+ && $rightBooleanType instanceof ConstantBooleanType
513
+ ) {
514
+ return new ConstantBooleanType(
515
+ $leftBooleanType->getValue() xor $rightBooleanType->getValue()
516
+ );
517
+ }
518
+
519
+ return new BooleanType();
520
+ }
521
+
522
+ if ($node instanceof Expr\BinaryOp\Identical) {
523
+ $leftType = $this->getType($node->left);
524
+ $rightType = $this->getType($node->right);
525
+
526
+ if (
527
+ (
528
+ $node->left instanceof Node\Expr\PropertyFetch
529
+ || $node->left instanceof Node\Expr\StaticPropertyFetch
530
+ )
531
+ && $rightType instanceof NullType
532
+ && !$this->hasPropertyNativeType($node->left)
533
+ ) {
534
+ return new BooleanType();
535
+ }
536
+
537
+ if (
538
+ (
539
+ $node->right instanceof Node\Expr\PropertyFetch
540
+ || $node->right instanceof Node\Expr\StaticPropertyFetch
541
+ )
542
+ && $leftType instanceof NullType
543
+ && !$this->hasPropertyNativeType($node->right)
544
+ ) {
545
+ return new BooleanType();
546
+ }
547
+
548
+ $isSuperset = $leftType->isSuperTypeOf($rightType);
549
+ if ($isSuperset->no()) {
550
+ return new ConstantBooleanType(false);
551
+ } elseif (
552
+ $isSuperset->yes()
553
+ && $leftType instanceof ConstantScalarType
554
+ && $rightType instanceof ConstantScalarType
555
+ && $leftType->getValue() === $rightType->getValue()
556
+ ) {
557
+ return new ConstantBooleanType(true);
558
+ }
559
+
560
+ return new BooleanType();
561
+ }
562
+
563
+ if ($node instanceof Expr\BinaryOp\NotIdentical) {
564
+ $leftType = $this->getType($node->left);
565
+ $rightType = $this->getType($node->right);
566
+
567
+ if (
568
+ (
569
+ $node->left instanceof Node\Expr\PropertyFetch
570
+ || $node->left instanceof Node\Expr\StaticPropertyFetch
571
+ )
572
+ && $rightType instanceof NullType
573
+ && !$this->hasPropertyNativeType($node->left)
574
+ ) {
575
+ return new BooleanType();
576
+ }
577
+
578
+ if (
579
+ (
580
+ $node->right instanceof Node\Expr\PropertyFetch
581
+ || $node->right instanceof Node\Expr\StaticPropertyFetch
582
+ )
583
+ && $leftType instanceof NullType
584
+ && !$this->hasPropertyNativeType($node->right)
585
+ ) {
586
+ return new BooleanType();
587
+ }
588
+
589
+ $isSuperset = $leftType->isSuperTypeOf($rightType);
590
+ if ($isSuperset->no()) {
591
+ return new ConstantBooleanType(true);
592
+ } elseif (
593
+ $isSuperset->yes()
594
+ && $leftType instanceof ConstantScalarType
595
+ && $rightType instanceof ConstantScalarType
596
+ && $leftType->getValue() === $rightType->getValue()
597
+ ) {
598
+ return new ConstantBooleanType(false);
599
+ }
600
+
601
+ return new BooleanType();
602
+ }
603
+
604
+ if ($node instanceof Expr\Instanceof_) {
605
+ if ($node->class instanceof Node\Name) {
606
+ $className = $this->resolveName($node->class);
607
+ $type = new ObjectType($className);
608
+ } else {
609
+ $type = $this->getType($node->class);
610
+ }
611
+
612
+ $expressionType = $this->getType($node->expr);
613
+ if (
614
+ $this->isInTrait()
615
+ && TypeUtils::findThisType($expressionType) !== null
616
+ ) {
617
+ return new BooleanType();
618
+ }
619
+ if ($expressionType instanceof NeverType) {
620
+ return new ConstantBooleanType(false);
621
+ }
622
+ $isExpressionObject = (new ObjectWithoutClassType())->isSuperTypeOf($expressionType);
623
+ if (!$isExpressionObject->no() && !(new StringType())->isSuperTypeOf($type)->no()) {
624
+ return new BooleanType();
625
+ }
626
+
627
+ $isSuperType = $type->isSuperTypeOf($expressionType)
628
+ ->and($isExpressionObject);
629
+ if ($isSuperType->no()) {
630
+ return new ConstantBooleanType(false);
631
+ } elseif ($isSuperType->yes()) {
632
+ return new ConstantBooleanType(true);
633
+ }
634
+
635
+ return new BooleanType();
636
+ }
637
+
638
+ if ($node instanceof Node\Expr\UnaryPlus) {
639
+ return $this->getType($node->expr)->toNumber();
640
+ }
641
+
642
+ if ($node instanceof Expr\ErrorSuppress
643
+ || $node instanceof Expr\Assign
644
+ ) {
645
+ return $this->getType($node->expr);
646
+ }
647
+
648
+ if ($node instanceof Node\Expr\UnaryMinus) {
649
+ $type = $this->getType($node->expr)->toNumber();
650
+ $scalarValues = TypeUtils::getConstantScalars($type);
651
+ if (count($scalarValues) > 0) {
652
+ $newTypes = [];
653
+ foreach ($scalarValues as $scalarValue) {
654
+ if ($scalarValue instanceof ConstantIntegerType) {
655
+ $newTypes[] = new ConstantIntegerType(-$scalarValue->getValue());
656
+ } elseif ($scalarValue instanceof ConstantFloatType) {
657
+ $newTypes[] = new ConstantFloatType(-$scalarValue->getValue());
658
+ }
659
+ }
660
+
661
+ return TypeCombinator::union(...$newTypes);
662
+ }
663
+
664
+ return $type;
665
+ }
666
+
667
+ if ($node instanceof Expr\BinaryOp\Concat || $node instanceof Expr\AssignOp\Concat) {
668
+ if ($node instanceof Node\Expr\AssignOp) {
669
+ $left = $node->var;
670
+ $right = $node->expr;
671
+ } else {
672
+ $left = $node->left;
673
+ $right = $node->right;
674
+ }
675
+
676
+ $leftStringType = $this->getType($left)->toString();
677
+ $rightStringType = $this->getType($right)->toString();
678
+ if (TypeCombinator::union(
679
+ $leftStringType,
680
+ $rightStringType
681
+ ) instanceof ErrorType) {
682
+ return new ErrorType();
683
+ }
684
+
685
+ if ($leftStringType instanceof ConstantStringType && $rightStringType instanceof ConstantStringType) {
686
+ return $leftStringType->append($rightStringType);
687
+ }
688
+
689
+ return new StringType();
690
+ }
691
+
692
+ if (
693
+ $node instanceof Node\Expr\BinaryOp\Div
694
+ || $node instanceof Node\Expr\AssignOp\Div
695
+ || $node instanceof Node\Expr\BinaryOp\Mod
696
+ || $node instanceof Node\Expr\AssignOp\Mod
697
+ ) {
698
+ if ($node instanceof Node\Expr\AssignOp) {
699
+ $right = $node->expr;
700
+ } else {
701
+ $right = $node->right;
702
+ }
703
+
704
+ $rightTypes = TypeUtils::getConstantScalars($this->getType($right)->toNumber());
705
+ foreach ($rightTypes as $rightType) {
706
+ if (
707
+ $rightType->getValue() === 0
708
+ || $rightType->getValue() === 0.0
709
+ ) {
710
+ return new ErrorType();
711
+ }
712
+ }
713
+ }
714
+
715
+ if (
716
+ (
717
+ $node instanceof Node\Expr\BinaryOp
718
+ || $node instanceof Node\Expr\AssignOp
719
+ ) && !$node instanceof Expr\BinaryOp\Coalesce && !$node instanceof Expr\AssignOp\Coalesce
720
+ ) {
721
+ if ($node instanceof Node\Expr\AssignOp) {
722
+ $left = $node->var;
723
+ $right = $node->expr;
724
+ } else {
725
+ $left = $node->left;
726
+ $right = $node->right;
727
+ }
728
+
729
+ $leftTypes = TypeUtils::getConstantScalars($this->getType($left));
730
+ $rightTypes = TypeUtils::getConstantScalars($this->getType($right));
731
+
732
+ if (count($leftTypes) > 0 && count($rightTypes) > 0) {
733
+ $resultTypes = [];
734
+ foreach ($leftTypes as $leftType) {
735
+ foreach ($rightTypes as $rightType) {
736
+ $resultTypes[] = $this->calculateFromScalars($node, $leftType, $rightType);
737
+ }
738
+ }
739
+ return TypeCombinator::union(...$resultTypes);
740
+ }
741
+ }
742
+
743
+ if ($node instanceof Node\Expr\BinaryOp\Mod || $node instanceof Expr\AssignOp\Mod) {
744
+ return new IntegerType();
745
+ }
746
+
747
+ if ($node instanceof Expr\BinaryOp\Spaceship) {
748
+ return new IntegerType();
749
+ }
750
+
751
+ if ($node instanceof Expr\AssignOp\Coalesce) {
752
+ return $this->getType(new BinaryOp\Coalesce($node->var, $node->expr, $node->getAttributes()));
753
+ }
754
+
755
+ if ($node instanceof Expr\BinaryOp\Coalesce) {
756
+ if ($node->left instanceof Expr\ArrayDimFetch && $node->left->dim !== null) {
757
+ $dimType = $this->getType($node->left->dim);
758
+ $varType = $this->getType($node->left->var);
759
+ $hasOffset = $varType->hasOffsetValueType($dimType);
760
+ $leftType = $this->getType($node->left);
761
+ $rightType = $this->getType($node->right);
762
+ if ($hasOffset->no()) {
763
+ return $rightType;
764
+ } elseif ($hasOffset->yes()) {
765
+ $offsetValueType = $varType->getOffsetValueType($dimType);
766
+ if ($offsetValueType->isSuperTypeOf(new NullType())->no()) {
767
+ return TypeCombinator::removeNull($leftType);
768
+ }
769
+ }
770
+
771
+ return TypeCombinator::union(
772
+ TypeCombinator::removeNull($leftType),
773
+ $rightType
774
+ );
775
+ }
776
+
777
+ $leftType = $this->getType($node->left);
778
+ $rightType = $this->getType($node->right);
779
+ if ($leftType instanceof ErrorType || $leftType instanceof NullType) {
780
+ return $rightType;
781
+ }
782
+
783
+ if (
784
+ TypeCombinator::containsNull($leftType)
785
+ || $node->left instanceof PropertyFetch
786
+ || (
787
+ $node->left instanceof Variable
788
+ && is_string($node->left->name)
789
+ && !$this->hasVariableType($node->left->name)->yes()
790
+ )
791
+ ) {
792
+ return TypeCombinator::union(
793
+ TypeCombinator::removeNull($leftType),
794
+ $rightType
795
+ );
796
+ }
797
+
798
+ return TypeCombinator::removeNull($leftType);
799
+ }
800
+
801
+ if ($node instanceof Expr\Clone_) {
802
+ return $this->getType($node->expr);
803
+ }
804
+
805
+ if (
806
+ $node instanceof Expr\AssignOp\ShiftLeft
807
+ || $node instanceof Expr\BinaryOp\ShiftLeft
808
+ || $node instanceof Expr\AssignOp\ShiftRight
809
+ || $node instanceof Expr\BinaryOp\ShiftRight
810
+ ) {
811
+ if ($node instanceof Node\Expr\AssignOp) {
812
+ $left = $node->var;
813
+ $right = $node->expr;
814
+ } else {
815
+ $left = $node->left;
816
+ $right = $node->right;
817
+ }
818
+
819
+ if (TypeCombinator::union(
820
+ $this->getType($left)->toNumber(),
821
+ $this->getType($right)->toNumber()
822
+ ) instanceof ErrorType) {
823
+ return new ErrorType();
824
+ }
825
+
826
+ return new IntegerType();
827
+ }
828
+
829
+ if (
830
+ $node instanceof Expr\AssignOp\BitwiseAnd
831
+ || $node instanceof Expr\BinaryOp\BitwiseAnd
832
+ || $node instanceof Expr\AssignOp\BitwiseOr
833
+ || $node instanceof Expr\BinaryOp\BitwiseOr
834
+ || $node instanceof Expr\AssignOp\BitwiseXor
835
+ || $node instanceof Expr\BinaryOp\BitwiseXor
836
+ ) {
837
+ if ($node instanceof Node\Expr\AssignOp) {
838
+ $left = $node->var;
839
+ $right = $node->expr;
840
+ } else {
841
+ $left = $node->left;
842
+ $right = $node->right;
843
+ }
844
+
845
+ $leftType = $this->getType($left);
846
+ $rightType = $this->getType($right);
847
+ $stringType = new StringType();
848
+
849
+ if ($stringType->isSuperTypeOf($leftType)->yes() && $stringType->isSuperTypeOf($rightType)->yes()) {
850
+ return $stringType;
851
+ }
852
+
853
+ if (TypeCombinator::union($leftType->toNumber(), $rightType->toNumber()) instanceof ErrorType) {
854
+ return new ErrorType();
855
+ }
856
+
857
+ return new IntegerType();
858
+ }
859
+
860
+ if (
861
+ $node instanceof Node\Expr\BinaryOp\Plus
862
+ || $node instanceof Node\Expr\BinaryOp\Minus
863
+ || $node instanceof Node\Expr\BinaryOp\Mul
864
+ || $node instanceof Node\Expr\BinaryOp\Pow
865
+ || $node instanceof Node\Expr\BinaryOp\Div
866
+ || $node instanceof Node\Expr\AssignOp\Plus
867
+ || $node instanceof Node\Expr\AssignOp\Minus
868
+ || $node instanceof Node\Expr\AssignOp\Mul
869
+ || $node instanceof Node\Expr\AssignOp\Pow
870
+ || $node instanceof Node\Expr\AssignOp\Div
871
+ ) {
872
+ if ($node instanceof Node\Expr\AssignOp) {
873
+ $left = $node->var;
874
+ $right = $node->expr;
875
+ } else {
876
+ $left = $node->left;
877
+ $right = $node->right;
878
+ }
879
+
880
+ $leftType = $this->getType($left);
881
+ $rightType = $this->getType($right);
882
+
883
+ $operatorSigil = null;
884
+
885
+ if ($node instanceof BinaryOp) {
886
+ $operatorSigil = $node->getOperatorSigil();
887
+ }
888
+
889
+ if ($operatorSigil === null) {
890
+ $operatorSigil = self::OPERATOR_SIGIL_MAP[get_class($node)] ?? null;
891
+ }
892
+
893
+ if ($operatorSigil !== null) {
894
+ $operatorTypeSpecifyingExtensions = $this->broker->getOperatorTypeSpecifyingExtensions($operatorSigil, $leftType, $rightType);
895
+
896
+ /** @var Type[] $extensionTypes */
897
+ $extensionTypes = [];
898
+
899
+ foreach ($operatorTypeSpecifyingExtensions as $extension) {
900
+ $extensionTypes[] = $extension->specifyType($operatorSigil, $leftType, $rightType);
901
+ }
902
+
903
+ if (count($extensionTypes) > 0) {
904
+ return TypeCombinator::union(...$extensionTypes);
905
+ }
906
+ }
907
+
908
+ if ($node instanceof Expr\AssignOp\Plus || $node instanceof Expr\BinaryOp\Plus) {
909
+ $leftConstantArrays = TypeUtils::getConstantArrays($leftType);
910
+ $rightConstantArrays = TypeUtils::getConstantArrays($rightType);
911
+
912
+ if (count($leftConstantArrays) > 0 && count($rightConstantArrays) > 0) {
913
+ $resultTypes = [];
914
+ foreach ($rightConstantArrays as $rightConstantArray) {
915
+ foreach ($leftConstantArrays as $leftConstantArray) {
916
+ $newArrayBuilder = ConstantArrayTypeBuilder::createFromConstantArray($rightConstantArray);
917
+ foreach ($leftConstantArray->getKeyTypes() as $leftKeyType) {
918
+ $newArrayBuilder->setOffsetValueType(
919
+ $leftKeyType,
920
+ $leftConstantArray->getOffsetValueType($leftKeyType)
921
+ );
922
+ }
923
+ $resultTypes[] = $newArrayBuilder->getArray();
924
+ }
925
+ }
926
+
927
+ return TypeCombinator::union(...$resultTypes);
928
+ }
929
+ $arrayType = new ArrayType(new MixedType(), new MixedType());
930
+
931
+ if ($arrayType->isSuperTypeOf($leftType)->yes() && $arrayType->isSuperTypeOf($rightType)->yes()) {
932
+ if ($leftType->getIterableKeyType()->equals($rightType->getIterableKeyType())) {
933
+ // to preserve BenevolentUnionType
934
+ $keyType = $leftType->getIterableKeyType();
935
+ } else {
936
+ $keyTypes = [];
937
+ foreach ([
938
+ $leftType->getIterableKeyType(),
939
+ $rightType->getIterableKeyType(),
940
+ ] as $keyType) {
941
+ $keyTypes[] = $keyType;
942
+ }
943
+ $keyType = TypeCombinator::union(...$keyTypes);
944
+ }
945
+ return new ArrayType(
946
+ $keyType,
947
+ TypeCombinator::union($leftType->getIterableValueType(), $rightType->getIterableValueType())
948
+ );
949
+ }
950
+
951
+ if ($leftType instanceof MixedType && $rightType instanceof MixedType) {
952
+ return new BenevolentUnionType([
953
+ new FloatType(),
954
+ new IntegerType(),
955
+ new ArrayType(new MixedType(), new MixedType()),
956
+ ]);
957
+ }
958
+ }
959
+
960
+ $types = TypeCombinator::union($leftType, $rightType);
961
+ if (
962
+ $leftType instanceof ArrayType
963
+ || $rightType instanceof ArrayType
964
+ || $types instanceof ArrayType
965
+ ) {
966
+ return new ErrorType();
967
+ }
968
+
969
+ $leftNumberType = $leftType->toNumber();
970
+ $rightNumberType = $rightType->toNumber();
971
+
972
+ if (
973
+ (new FloatType())->isSuperTypeOf($leftNumberType)->yes()
974
+ || (new FloatType())->isSuperTypeOf($rightNumberType)->yes()
975
+ ) {
976
+ return new FloatType();
977
+ }
978
+
979
+ if ($node instanceof Expr\AssignOp\Pow || $node instanceof Expr\BinaryOp\Pow) {
980
+ return new BenevolentUnionType([
981
+ new FloatType(),
982
+ new IntegerType(),
983
+ ]);
984
+ }
985
+
986
+ $resultType = TypeCombinator::union($leftNumberType, $rightNumberType);
987
+ if ($node instanceof Expr\AssignOp\Div || $node instanceof Expr\BinaryOp\Div) {
988
+ if ($types instanceof MixedType || $resultType instanceof IntegerType) {
989
+ return new BenevolentUnionType([new IntegerType(), new FloatType()]);
990
+ }
991
+
992
+ return new UnionType([new IntegerType(), new FloatType()]);
993
+ }
994
+
995
+ if ($types instanceof MixedType) {
996
+ return TypeUtils::toBenevolentUnion($resultType);
997
+ }
998
+
999
+ return $resultType;
1000
+ }
1001
+
1002
+ if ($node instanceof LNumber) {
1003
+ return new ConstantIntegerType($node->value);
1004
+ } elseif ($node instanceof String_) {
1005
+ return new ConstantStringType($node->value);
1006
+ } elseif ($node instanceof Node\Scalar\Encapsed) {
1007
+ $constantString = new ConstantStringType('');
1008
+ foreach ($node->parts as $part) {
1009
+ if ($part instanceof EncapsedStringPart) {
1010
+ $partStringType = new ConstantStringType($part->value);
1011
+ } else {
1012
+ $partStringType = $this->getType($part)->toString();
1013
+ if ($partStringType instanceof ErrorType) {
1014
+ return new ErrorType();
1015
+ }
1016
+ if (!$partStringType instanceof ConstantStringType) {
1017
+ return new StringType();
1018
+ }
1019
+ }
1020
+
1021
+ $constantString = $constantString->append($partStringType);
1022
+ }
1023
+ return $constantString;
1024
+ } elseif ($node instanceof DNumber) {
1025
+ return new ConstantFloatType($node->value);
1026
+ } elseif ($node instanceof Expr\Closure || $node instanceof Expr\ArrowFunction) {
1027
+ $parameters = [];
1028
+ $isVariadic = false;
1029
+ $firstOptionalParameterIndex = null;
1030
+ foreach ($node->params as $i => $param) {
1031
+ $isOptionalCandidate = $param->default !== null || $param->variadic;
1032
+
1033
+ if ($isOptionalCandidate) {
1034
+ if ($firstOptionalParameterIndex === null) {
1035
+ $firstOptionalParameterIndex = $i;
1036
+ }
1037
+ } else {
1038
+ $firstOptionalParameterIndex = null;
1039
+ }
1040
+ }
1041
+
1042
+ foreach ($node->params as $i => $param) {
1043
+ if ($param->variadic) {
1044
+ $isVariadic = true;
1045
+ }
1046
+ if (!$param->var instanceof Variable || !is_string($param->var->name)) {
1047
+ throw new \PHPStan\ShouldNotHappenException();
1048
+ }
1049
+ $parameters[] = new NativeParameterReflection(
1050
+ $param->var->name,
1051
+ $firstOptionalParameterIndex !== null && $i >= $firstOptionalParameterIndex,
1052
+ $this->getFunctionType($param->type, $param->type === null, false),
1053
+ $param->byRef
1054
+ ? PassedByReference::createCreatesNewVariable()
1055
+ : PassedByReference::createNo(),
1056
+ $param->variadic
1057
+ );
1058
+ }
1059
+
1060
+ return new ClosureType(
1061
+ $parameters,
1062
+ $this->getFunctionType($node->returnType, $node->returnType === null, false),
1063
+ $isVariadic
1064
+ );
1065
+ } elseif ($node instanceof New_) {
1066
+ if ($node->class instanceof Name) {
1067
+ $className = $node->class->toString();
1068
+ $lowercasedClassName = strtolower($className);
1069
+ $resolvedClassName = $this->resolveName($node->class);
1070
+ if ($this->broker->hasClass($resolvedClassName)) {
1071
+ $classReflection = $this->broker->getClass($resolvedClassName);
1072
+ if ($classReflection->hasConstructor()) {
1073
+ $constructorMethod = $classReflection->getConstructor();
1074
+ } else {
1075
+ $constructorMethod = new DummyConstructorReflection($classReflection);
1076
+ }
1077
+
1078
+ $resolvedTypes = [];
1079
+ $methodCall = new Expr\StaticCall(
1080
+ $node->class,
1081
+ new Node\Identifier($constructorMethod->getName()),
1082
+ $node->args
1083
+ );
1084
+ foreach ($this->broker->getDynamicStaticMethodReturnTypeExtensionsForClass($classReflection->getName()) as $dynamicStaticMethodReturnTypeExtension) {
1085
+ if (!$dynamicStaticMethodReturnTypeExtension->isStaticMethodSupported($constructorMethod)) {
1086
+ continue;
1087
+ }
1088
+
1089
+ $resolvedTypes[] = $dynamicStaticMethodReturnTypeExtension->getTypeFromStaticMethodCall($constructorMethod, $methodCall, $this);
1090
+ }
1091
+
1092
+ if (count($resolvedTypes) > 0) {
1093
+ return TypeCombinator::union(...$resolvedTypes);
1094
+ }
1095
+ }
1096
+ if (in_array($lowercasedClassName, [
1097
+ 'static',
1098
+ 'parent',
1099
+ ], true)) {
1100
+ if (!$this->isInClass()) {
1101
+ throw new \PHPStan\ShouldNotHappenException();
1102
+ }
1103
+ if ($lowercasedClassName === 'static') {
1104
+ return new StaticType($this->getClassReflection()->getName());
1105
+ }
1106
+
1107
+ if ($this->getClassReflection()->getParentClass() !== false) {
1108
+ return new ObjectType($this->getClassReflection()->getParentClass()->getName());
1109
+ }
1110
+
1111
+ return new NonexistentParentClassType();
1112
+ }
1113
+
1114
+ return new ObjectType($resolvedClassName);
1115
+ }
1116
+ if ($node->class instanceof Node\Stmt\Class_) {
1117
+ $anonymousClassReflection = $this->broker->getAnonymousClassReflection($node->class, $this);
1118
+
1119
+ return new ObjectType($anonymousClassReflection->getName());
1120
+ }
1121
+ } elseif ($node instanceof Array_) {
1122
+ $arrayBuilder = ConstantArrayTypeBuilder::createEmpty();
1123
+ foreach ($node->items as $arrayItem) {
1124
+ if ($arrayItem === null) {
1125
+ continue;
1126
+ }
1127
+
1128
+ $valueType = $this->getType($arrayItem->value);
1129
+ if ($arrayItem->unpack) {
1130
+ if ($valueType instanceof ConstantArrayType) {
1131
+ foreach ($valueType->getValueTypes() as $innerValueType) {
1132
+ $arrayBuilder->setOffsetValueType(null, $innerValueType);
1133
+ }
1134
+ } else {
1135
+ $arrayBuilder->degradeToGeneralArray();
1136
+ $arrayBuilder->setOffsetValueType(new IntegerType(), $valueType->getIterableValueType());
1137
+ }
1138
+ } else {
1139
+ $arrayBuilder->setOffsetValueType(
1140
+ $arrayItem->key !== null ? $this->getType($arrayItem->key) : null,
1141
+ $valueType
1142
+ );
1143
+ }
1144
+ }
1145
+ return $arrayBuilder->getArray();
1146
+
1147
+ } elseif ($node instanceof Int_) {
1148
+ return $this->getType($node->expr)->toInteger();
1149
+ } elseif ($node instanceof Bool_) {
1150
+ return $this->getType($node->expr)->toBoolean();
1151
+ } elseif ($node instanceof Double) {
1152
+ return $this->getType($node->expr)->toFloat();
1153
+ } elseif ($node instanceof \PhpParser\Node\Expr\Cast\String_) {
1154
+ return $this->getType($node->expr)->toString();
1155
+ } elseif ($node instanceof \PhpParser\Node\Expr\Cast\Array_) {
1156
+ return $this->getType($node->expr)->toArray();
1157
+ } elseif ($node instanceof Node\Scalar\MagicConst\Line) {
1158
+ return new ConstantIntegerType($node->getLine());
1159
+ } elseif ($node instanceof Node\Scalar\MagicConst\Class_) {
1160
+ if (!$this->isInClass()) {
1161
+ return new ConstantStringType('');
1162
+ }
1163
+
1164
+ return new ConstantStringType($this->getClassReflection()->getName());
1165
+ } elseif ($node instanceof Node\Scalar\MagicConst\Dir) {
1166
+ return new ConstantStringType(dirname($this->getFile()));
1167
+ } elseif ($node instanceof Node\Scalar\MagicConst\File) {
1168
+ return new ConstantStringType($this->getFile());
1169
+ } elseif ($node instanceof Node\Scalar\MagicConst\Namespace_) {
1170
+ return new ConstantStringType($this->namespace ?? '');
1171
+ } elseif ($node instanceof Node\Scalar\MagicConst\Method) {
1172
+ if ($this->isInAnonymousFunction()) {
1173
+ return new ConstantStringType('{closure}');
1174
+ }
1175
+
1176
+ $function = $this->getFunction();
1177
+ if ($function === null) {
1178
+ return new ConstantStringType('');
1179
+ }
1180
+ if ($function instanceof MethodReflection) {
1181
+ return new ConstantStringType(
1182
+ sprintf('%s::%s', $function->getDeclaringClass()->getName(), $function->getName())
1183
+ );
1184
+ }
1185
+
1186
+ return new ConstantStringType($function->getName());
1187
+ } elseif ($node instanceof Node\Scalar\MagicConst\Function_) {
1188
+ if ($this->isInAnonymousFunction()) {
1189
+ return new ConstantStringType('{closure}');
1190
+ }
1191
+ $function = $this->getFunction();
1192
+ if ($function === null) {
1193
+ return new ConstantStringType('');
1194
+ }
1195
+
1196
+ return new ConstantStringType($function->getName());
1197
+ } elseif ($node instanceof Node\Scalar\MagicConst\Trait_) {
1198
+ if (!$this->isInTrait()) {
1199
+ return new ConstantStringType('');
1200
+ }
1201
+ return new ConstantStringType($this->getTraitReflection()->getName());
1202
+ } elseif ($node instanceof Object_) {
1203
+ $castToObject = static function (Type $type): Type {
1204
+ if ((new ObjectWithoutClassType())->isSuperTypeOf($type)->yes()) {
1205
+ return $type;
1206
+ }
1207
+
1208
+ return new ObjectType('stdClass');
1209
+ };
1210
+
1211
+ $exprType = $this->getType($node->expr);
1212
+ if ($exprType instanceof UnionType) {
1213
+ return TypeCombinator::union(...array_map($castToObject, $exprType->getTypes()));
1214
+ }
1215
+
1216
+ return $castToObject($exprType);
1217
+ } elseif ($node instanceof Unset_) {
1218
+ return new NullType();
1219
+ } elseif ($node instanceof Expr\PostInc || $node instanceof Expr\PostDec) {
1220
+ return $this->getType($node->var);
1221
+ } elseif ($node instanceof Expr\PreInc || $node instanceof Expr\PreDec) {
1222
+ $varType = $this->getType($node->var);
1223
+ $varScalars = TypeUtils::getConstantScalars($varType);
1224
+ if (count($varScalars) > 0) {
1225
+ $newTypes = [];
1226
+
1227
+ foreach ($varScalars as $scalar) {
1228
+ $varValue = $scalar->getValue();
1229
+ if ($node instanceof Expr\PreInc) {
1230
+ ++$varValue;
1231
+ } else {
1232
+ --$varValue;
1233
+ }
1234
+
1235
+ $newTypes[] = $this->getTypeFromValue($varValue);
1236
+ }
1237
+ return TypeCombinator::union(...$newTypes);
1238
+ }
1239
+
1240
+ $stringType = new StringType();
1241
+ if ($stringType->isSuperTypeOf($varType)->yes()) {
1242
+ return $stringType;
1243
+ }
1244
+
1245
+ return $varType->toNumber();
1246
+ }
1247
+
1248
+ $exprString = $this->printer->prettyPrintExpr($node);
1249
+ if (isset($this->moreSpecificTypes[$exprString]) && $this->moreSpecificTypes[$exprString]->getCertainty()->yes()) {
1250
+ return $this->moreSpecificTypes[$exprString]->getType();
1251
+ }
1252
+
1253
+ if ($node instanceof ConstFetch) {
1254
+ $constName = strtolower((string) $node->name);
1255
+ if ($constName === 'true') {
1256
+ return new \PHPStan\Type\Constant\ConstantBooleanType(true);
1257
+ } elseif ($constName === 'false') {
1258
+ return new \PHPStan\Type\Constant\ConstantBooleanType(false);
1259
+ } elseif ($constName === 'null') {
1260
+ return new NullType();
1261
+ }
1262
+
1263
+ if ($this->broker->hasConstant($node->name, $this)) {
1264
+ /** @var string $resolvedConstantName */
1265
+ $resolvedConstantName = $this->broker->resolveConstantName($node->name, $this);
1266
+ if ($resolvedConstantName === 'DIRECTORY_SEPARATOR') {
1267
+ return new UnionType([
1268
+ new ConstantStringType('/'),
1269
+ new ConstantStringType('\\'),
1270
+ ]);
1271
+ }
1272
+ if ($resolvedConstantName === 'PATH_SEPARATOR') {
1273
+ return new UnionType([
1274
+ new ConstantStringType(':'),
1275
+ new ConstantStringType(';'),
1276
+ ]);
1277
+ }
1278
+ if ($resolvedConstantName === 'PHP_EOL') {
1279
+ return new UnionType([
1280
+ new ConstantStringType("\n"),
1281
+ new ConstantStringType("\r\n"),
1282
+ ]);
1283
+ }
1284
+ if ($resolvedConstantName === '__COMPILER_HALT_OFFSET__') {
1285
+ return new IntegerType();
1286
+ }
1287
+
1288
+ $constantType = $this->getTypeFromValue(constant($resolvedConstantName));
1289
+ if ($constantType instanceof ConstantType && in_array($resolvedConstantName, $this->dynamicConstantNames, true)) {
1290
+ return $constantType->generalize();
1291
+ }
1292
+ return $constantType;
1293
+ }
1294
+
1295
+ return new ErrorType();
1296
+ } elseif ($node instanceof Node\Expr\ClassConstFetch && $node->name instanceof Node\Identifier) {
1297
+ $constantName = $node->name->name;
1298
+ if ($node->class instanceof Name) {
1299
+ $constantClass = (string) $node->class;
1300
+ $constantClassType = new ObjectType($constantClass);
1301
+ $namesToResolve = [
1302
+ 'self',
1303
+ 'parent',
1304
+ ];
1305
+ if ($this->isInClass()) {
1306
+ if ($this->getClassReflection()->isFinal()) {
1307
+ $namesToResolve[] = 'static';
1308
+ } elseif (strtolower($constantClass) === 'static') {
1309
+ if (strtolower($constantName) === 'class') {
1310
+ return new StringType();
1311
+ }
1312
+ return new MixedType();
1313
+ }
1314
+ }
1315
+ if (in_array(strtolower($constantClass), $namesToResolve, true)) {
1316
+ $resolvedName = $this->resolveName($node->class);
1317
+ if ($resolvedName === 'parent' && strtolower($constantName) === 'class') {
1318
+ return new StringType();
1319
+ }
1320
+ $constantClassType = new ObjectType($resolvedName);
1321
+ }
1322
+ } else {
1323
+ $constantClassType = $this->getType($node->class);
1324
+ }
1325
+
1326
+ if (strtolower($constantName) === 'class' && $constantClassType instanceof TypeWithClassName) {
1327
+ return new ConstantStringType($constantClassType->getClassName());
1328
+ }
1329
+
1330
+ $referencedClasses = TypeUtils::getDirectClassNames($constantClassType);
1331
+ $types = [];
1332
+ foreach ($referencedClasses as $referencedClass) {
1333
+ if (!$this->broker->hasClass($referencedClass)) {
1334
+ continue;
1335
+ }
1336
+
1337
+ $propertyClassReflection = $this->broker->getClass($referencedClass);
1338
+ if (!$propertyClassReflection->hasConstant($constantName)) {
1339
+ continue;
1340
+ }
1341
+
1342
+ $constantType = $this->getTypeFromValue($propertyClassReflection->getConstant($constantName)->getValue());
1343
+ if (
1344
+ $constantType instanceof ConstantType
1345
+ && in_array(sprintf('%s::%s', $propertyClassReflection->getName(), $constantName), $this->dynamicConstantNames, true)
1346
+ ) {
1347
+ $constantType = $constantType->generalize();
1348
+ }
1349
+ $types[] = $constantType;
1350
+ }
1351
+
1352
+ if (count($types) > 0) {
1353
+ return TypeCombinator::union(...$types);
1354
+ }
1355
+
1356
+ if (!$constantClassType->hasConstant($constantName)->yes()) {
1357
+ return new ErrorType();
1358
+ }
1359
+
1360
+ return $this->getTypeFromValue($constantClassType->getConstant($constantName)->getValue());
1361
+ }
1362
+
1363
+ if ($node instanceof Expr\Ternary) {
1364
+ if ($node->if === null) {
1365
+ $conditionType = $this->getType($node->cond);
1366
+ $booleanConditionType = $conditionType->toBoolean();
1367
+ if ($booleanConditionType instanceof ConstantBooleanType) {
1368
+ if ($booleanConditionType->getValue()) {
1369
+ return $this->filterByTruthyValue($node->cond, true)->getType($node->cond);
1370
+ }
1371
+
1372
+ return $this->filterByFalseyValue($node->cond, true)->getType($node->else);
1373
+ }
1374
+ return TypeCombinator::union(
1375
+ $this->filterByTruthyValue($node->cond, true)->getType($node->cond),
1376
+ $this->filterByFalseyValue($node->cond, true)->getType($node->else)
1377
+ );
1378
+ }
1379
+
1380
+ $booleanConditionType = $this->getType($node->cond)->toBoolean();
1381
+ if ($booleanConditionType instanceof ConstantBooleanType) {
1382
+ if ($booleanConditionType->getValue()) {
1383
+ return $this->filterByTruthyValue($node->cond)->getType($node->if);
1384
+ }
1385
+
1386
+ return $this->filterByFalseyValue($node->cond)->getType($node->else);
1387
+ }
1388
+
1389
+ return TypeCombinator::union(
1390
+ $this->filterByTruthyValue($node->cond)->getType($node->if),
1391
+ $this->filterByFalseyValue($node->cond)->getType($node->else)
1392
+ );
1393
+ }
1394
+
1395
+ if ($node instanceof Variable && is_string($node->name)) {
1396
+ if ($this->hasVariableType($node->name)->no()) {
1397
+ return new ErrorType();
1398
+ }
1399
+
1400
+ return $this->getVariableType($node->name);
1401
+ }
1402
+
1403
+ if ($node instanceof Expr\ArrayDimFetch && $node->dim !== null) {
1404
+ return $this->getTypeFromArrayDimFetch(
1405
+ $node,
1406
+ $this->getType($node->dim),
1407
+ $this->getType($node->var)
1408
+ );
1409
+ }
1410
+
1411
+ if ($node instanceof MethodCall && $node->name instanceof Node\Identifier) {
1412
+ $methodCalledOnType = $this->getType($node->var);
1413
+ $referencedClasses = TypeUtils::getDirectClassNames($methodCalledOnType);
1414
+ $resolvedTypes = [];
1415
+ foreach ($referencedClasses as $referencedClass) {
1416
+ if (!$this->broker->hasClass($referencedClass)) {
1417
+ continue;
1418
+ }
1419
+
1420
+ $methodClassReflection = $this->broker->getClass($referencedClass);
1421
+ if (!$methodClassReflection->hasMethod($node->name->name)) {
1422
+ continue;
1423
+ }
1424
+
1425
+ $methodReflection = $methodClassReflection->getMethod($node->name->name, $this);
1426
+ $foundDynamicReturnTypeExtension = false;
1427
+ foreach ($this->broker->getDynamicMethodReturnTypeExtensionsForClass($methodClassReflection->getName()) as $dynamicMethodReturnTypeExtension) {
1428
+ if (!$dynamicMethodReturnTypeExtension->isMethodSupported($methodReflection)) {
1429
+ continue;
1430
+ }
1431
+
1432
+ $resolvedTypes[] = $dynamicMethodReturnTypeExtension->getTypeFromMethodCall($methodReflection, $node, $this);
1433
+ $foundDynamicReturnTypeExtension = true;
1434
+ }
1435
+
1436
+ if ($foundDynamicReturnTypeExtension) {
1437
+ continue;
1438
+ }
1439
+
1440
+ $methodReturnType = ParametersAcceptorSelector::selectFromArgs(
1441
+ $this,
1442
+ $node->args,
1443
+ $methodReflection->getVariants()
1444
+ )->getReturnType();
1445
+ if ($methodReturnType instanceof StaticResolvableType) {
1446
+ $calledOnThis = $this->getType($node->var) instanceof ThisType;
1447
+ if ($calledOnThis && $this->isInClass()) {
1448
+ $resolvedTypes[] = $methodReturnType->changeBaseClass($this->getClassReflection()->getName());
1449
+ } else {
1450
+ $resolvedTypes[] = $methodReturnType->resolveStatic($referencedClass);
1451
+ }
1452
+ } else {
1453
+ $resolvedTypes[] = $methodReturnType;
1454
+ }
1455
+ }
1456
+ if (count($resolvedTypes) > 0) {
1457
+ return TypeCombinator::union(...$resolvedTypes);
1458
+ }
1459
+
1460
+ if ($methodCalledOnType->hasMethod($node->name->name)->yes()) {
1461
+ $methodReflection = $methodCalledOnType->getMethod($node->name->name, $this);
1462
+ return ParametersAcceptorSelector::selectFromArgs(
1463
+ $this,
1464
+ $node->args,
1465
+ $methodReflection->getVariants()
1466
+ )->getReturnType();
1467
+ }
1468
+
1469
+ return new ErrorType();
1470
+ }
1471
+
1472
+ if ($node instanceof Expr\StaticCall && $node->name instanceof Node\Identifier) {
1473
+ if ($node->class instanceof Name) {
1474
+ $calleeType = new ObjectType($this->resolveName($node->class));
1475
+ } else {
1476
+ $calleeType = $this->getType($node->class);
1477
+ }
1478
+
1479
+ $referencedClasses = TypeUtils::getDirectClassNames($calleeType);
1480
+ $resolvedTypes = [];
1481
+ foreach ($referencedClasses as $referencedClass) {
1482
+ if (!$this->broker->hasClass($referencedClass)) {
1483
+ continue;
1484
+ }
1485
+
1486
+ $staticMethodClassReflection = $this->broker->getClass($referencedClass);
1487
+ if (!$staticMethodClassReflection->hasMethod($node->name->name)) {
1488
+ continue;
1489
+ }
1490
+
1491
+ $staticMethodReflection = $staticMethodClassReflection->getMethod($node->name->name, $this);
1492
+ $foundDynamicReturnTypeExtension = false;
1493
+ foreach ($this->broker->getDynamicStaticMethodReturnTypeExtensionsForClass($staticMethodClassReflection->getName()) as $dynamicStaticMethodReturnTypeExtension) {
1494
+ if (!$dynamicStaticMethodReturnTypeExtension->isStaticMethodSupported($staticMethodReflection)) {
1495
+ continue;
1496
+ }
1497
+
1498
+ $resolvedTypes[] = $dynamicStaticMethodReturnTypeExtension->getTypeFromStaticMethodCall($staticMethodReflection, $node, $this);
1499
+ $foundDynamicReturnTypeExtension = true;
1500
+ }
1501
+
1502
+ if ($foundDynamicReturnTypeExtension) {
1503
+ continue;
1504
+ }
1505
+
1506
+ $staticMethodReturnType = ParametersAcceptorSelector::selectFromArgs(
1507
+ $this,
1508
+ $node->args,
1509
+ $staticMethodReflection->getVariants()
1510
+ )->getReturnType();
1511
+ if ($staticMethodReturnType instanceof StaticResolvableType) {
1512
+ if ($node->class instanceof Name) {
1513
+ $nameNodeClassName = (string) $node->class;
1514
+ $lowercasedNameNodeClassName = strtolower($nameNodeClassName);
1515
+ if (in_array($lowercasedNameNodeClassName, [
1516
+ 'self',
1517
+ 'static',
1518
+ 'parent',
1519
+ ], true) && $this->isInClass()) {
1520
+ $resolvedTypes[] = $staticMethodReturnType->changeBaseClass($this->getClassReflection()->getName());
1521
+ } elseif ($this->broker->hasClass($nameNodeClassName)) {
1522
+ $classReflection = $this->broker->getClass($nameNodeClassName);
1523
+ $resolvedTypes[] = $staticMethodReturnType->resolveStatic($classReflection->getName());
1524
+ } else {
1525
+ $resolvedTypes[] = $staticMethodReturnType;
1526
+ }
1527
+ } else {
1528
+ $resolvedTypes[] = $staticMethodReturnType->resolveStatic($referencedClass);
1529
+ }
1530
+ } else {
1531
+ $resolvedTypes[] = $staticMethodReturnType;
1532
+ }
1533
+ }
1534
+ if (count($resolvedTypes) > 0) {
1535
+ return TypeCombinator::union(...$resolvedTypes);
1536
+ }
1537
+
1538
+ if ($calleeType->hasMethod($node->name->name)->yes()) {
1539
+ $staticMethodReflection = $calleeType->getMethod($node->name->name, $this);
1540
+ return ParametersAcceptorSelector::selectFromArgs(
1541
+ $this,
1542
+ $node->args,
1543
+ $staticMethodReflection->getVariants()
1544
+ )->getReturnType();
1545
+ }
1546
+
1547
+ return new ErrorType();
1548
+ }
1549
+
1550
+ if ($node instanceof PropertyFetch && $node->name instanceof Node\Identifier) {
1551
+ $propertyFetchedOnType = $this->getType($node->var);
1552
+ $referencedClasses = TypeUtils::getDirectClassNames($propertyFetchedOnType);
1553
+ $propertyName = $node->name->toString();
1554
+ $types = [];
1555
+ foreach ($referencedClasses as $referencedClass) {
1556
+ if (!$this->broker->hasClass($referencedClass)) {
1557
+ continue;
1558
+ }
1559
+
1560
+ $propertyClassReflection = $this->broker->getClass($referencedClass);
1561
+ if (!$propertyClassReflection->hasProperty($propertyName)) {
1562
+ continue;
1563
+ }
1564
+
1565
+ $property = $propertyClassReflection->getProperty($propertyName, $this);
1566
+ if ($this->isInExpressionAssign($node)) {
1567
+ if ($property instanceof ExtendedPropertyReflection) {
1568
+ $types[] = $property->getWritableType();
1569
+ } else {
1570
+ $types[] = $property->getType();
1571
+ }
1572
+ } else {
1573
+ $types[] = $property->getType();
1574
+ }
1575
+ }
1576
+
1577
+ if (count($types) > 0) {
1578
+ return TypeCombinator::union(...$types);
1579
+ }
1580
+
1581
+ if (!$propertyFetchedOnType->hasProperty($node->name->name)->yes()) {
1582
+ return new ErrorType();
1583
+ }
1584
+
1585
+ $property = $propertyFetchedOnType->getProperty($node->name->name, $this);
1586
+ if (
1587
+ $this->isInExpressionAssign($node)
1588
+ && $property instanceof ExtendedPropertyReflection
1589
+ ) {
1590
+ return $property->getWritableType();
1591
+ }
1592
+ return $property->getType();
1593
+ }
1594
+
1595
+ if (
1596
+ $node instanceof Expr\StaticPropertyFetch
1597
+ && $node->name instanceof Node\VarLikeIdentifier
1598
+ ) {
1599
+ if ($node->class instanceof Name) {
1600
+ $calleeType = new ObjectType($this->resolveName($node->class));
1601
+ } else {
1602
+ $calleeType = $this->getType($node->class);
1603
+ }
1604
+
1605
+ $referencedClasses = TypeUtils::getDirectClassNames($calleeType);
1606
+ $propertyName = $node->name->toString();
1607
+ $types = [];
1608
+ foreach ($referencedClasses as $referencedClass) {
1609
+ if (!$this->broker->hasClass($referencedClass)) {
1610
+ continue;
1611
+ }
1612
+
1613
+ $propertyClassReflection = $this->broker->getClass($referencedClass);
1614
+ if (!$propertyClassReflection->hasProperty($propertyName)) {
1615
+ continue;
1616
+ }
1617
+
1618
+ $property = $propertyClassReflection->getProperty($propertyName, $this);
1619
+ if ($this->isInExpressionAssign($node)) {
1620
+ if ($property instanceof ExtendedPropertyReflection) {
1621
+ $types[] = $property->getWritableType();
1622
+ } else {
1623
+ $types[] = $property->getType();
1624
+ }
1625
+ } else {
1626
+ $types[] = $propertyClassReflection->getProperty($propertyName, $this)->getType();
1627
+ }
1628
+ }
1629
+
1630
+ if (count($types) > 0) {
1631
+ return TypeCombinator::union(...$types);
1632
+ }
1633
+
1634
+ if (!$calleeType->hasProperty($node->name->name)->yes()) {
1635
+ return new ErrorType();
1636
+ }
1637
+
1638
+ $property = $calleeType->getProperty($node->name->name, $this);
1639
+ if (
1640
+ $this->isInExpressionAssign($node)
1641
+ && $property instanceof ExtendedPropertyReflection
1642
+ ) {
1643
+ return $property->getWritableType();
1644
+ }
1645
+ return $property->getType();
1646
+ }
1647
+
1648
+ if ($node instanceof FuncCall) {
1649
+ if ($node->name instanceof Expr) {
1650
+ $calledOnType = $this->getType($node->name);
1651
+ if ($calledOnType->isCallable()->no()) {
1652
+ return new ErrorType();
1653
+ }
1654
+
1655
+ return ParametersAcceptorSelector::selectFromArgs(
1656
+ $this,
1657
+ $node->args,
1658
+ $calledOnType->getCallableParametersAcceptors($this)
1659
+ )->getReturnType();
1660
+ }
1661
+
1662
+ if (!$this->broker->hasFunction($node->name, $this)) {
1663
+ return new ErrorType();
1664
+ }
1665
+
1666
+ $functionReflection = $this->broker->getFunction($node->name, $this);
1667
+ foreach ($this->broker->getDynamicFunctionReturnTypeExtensions() as $dynamicFunctionReturnTypeExtension) {
1668
+ if (!$dynamicFunctionReturnTypeExtension->isFunctionSupported($functionReflection)) {
1669
+ continue;
1670
+ }
1671
+
1672
+ return $dynamicFunctionReturnTypeExtension->getTypeFromFunctionCall($functionReflection, $node, $this);
1673
+ }
1674
+
1675
+ return ParametersAcceptorSelector::selectFromArgs(
1676
+ $this,
1677
+ $node->args,
1678
+ $functionReflection->getVariants()
1679
+ )->getReturnType();
1680
+ }
1681
+
1682
+ return new MixedType();
1683
+ }
1684
+
1685
+ /**
1686
+ * @param \PhpParser\Node\Expr\PropertyFetch|\PhpParser\Node\Expr\StaticPropertyFetch $propertyFetch
1687
+ * @return bool
1688
+ */
1689
+ private function hasPropertyNativeType($propertyFetch): bool
1690
+ {
1691
+ $propertyReflection = $this->propertyReflectionFinder->findPropertyReflectionFromNode($propertyFetch, $this);
1692
+ if ($propertyReflection === null) {
1693
+ return false;
1694
+ }
1695
+
1696
+ if (!$propertyReflection instanceof PhpPropertyReflection) {
1697
+ return false;
1698
+ }
1699
+
1700
+ return !$propertyReflection->getNativeType() instanceof MixedType;
1701
+ }
1702
+
1703
+ protected function getTypeFromArrayDimFetch(
1704
+ Expr\ArrayDimFetch $arrayDimFetch,
1705
+ Type $offsetType,
1706
+ Type $offsetAccessibleType
1707
+ ): Type
1708
+ {
1709
+ if ($arrayDimFetch->dim === null) {
1710
+ throw new \PHPStan\ShouldNotHappenException();
1711
+ }
1712
+
1713
+ if ((new ObjectType(\ArrayAccess::class))->isSuperTypeOf($offsetAccessibleType)->yes()) {
1714
+ return $this->getType(
1715
+ new MethodCall(
1716
+ $arrayDimFetch->var,
1717
+ new Node\Identifier('offsetGet'),
1718
+ [
1719
+ new Node\Arg($arrayDimFetch->dim),
1720
+ ]
1721
+ )
1722
+ );
1723
+ }
1724
+
1725
+ return $offsetAccessibleType->getOffsetValueType($offsetType);
1726
+ }
1727
+
1728
+ private function calculateFromScalars(Expr $node, ConstantScalarType $leftType, ConstantScalarType $rightType): Type
1729
+ {
1730
+ if ($leftType instanceof StringType && $rightType instanceof StringType) {
1731
+ /** @var string $leftValue */
1732
+ $leftValue = $leftType->getValue();
1733
+ /** @var string $rightValue */
1734
+ $rightValue = $rightType->getValue();
1735
+
1736
+ if ($node instanceof Expr\BinaryOp\BitwiseAnd || $node instanceof Expr\AssignOp\BitwiseAnd) {
1737
+ return $this->getTypeFromValue($leftValue & $rightValue);
1738
+ }
1739
+
1740
+ if ($node instanceof Expr\BinaryOp\BitwiseOr || $node instanceof Expr\AssignOp\BitwiseOr) {
1741
+ return $this->getTypeFromValue($leftValue | $rightValue);
1742
+ }
1743
+
1744
+ if ($node instanceof Expr\BinaryOp\BitwiseXor || $node instanceof Expr\AssignOp\BitwiseXor) {
1745
+ return $this->getTypeFromValue($leftValue ^ $rightValue);
1746
+ }
1747
+ }
1748
+
1749
+ $leftValue = $leftType->getValue();
1750
+ $rightValue = $rightType->getValue();
1751
+
1752
+ if ($node instanceof Node\Expr\BinaryOp\Spaceship) {
1753
+ return $this->getTypeFromValue($leftValue <=> $rightValue);
1754
+ }
1755
+
1756
+ $leftNumberType = $leftType->toNumber();
1757
+ $rightNumberType = $rightType->toNumber();
1758
+ if (TypeCombinator::union($leftNumberType, $rightNumberType) instanceof ErrorType) {
1759
+ return new ErrorType();
1760
+ }
1761
+
1762
+ if (!$leftNumberType instanceof ConstantScalarType || !$rightNumberType instanceof ConstantScalarType) {
1763
+ throw new \PHPStan\ShouldNotHappenException();
1764
+ }
1765
+
1766
+ /** @var float|int $leftNumberValue */
1767
+ $leftNumberValue = $leftNumberType->getValue();
1768
+
1769
+ /** @var float|int $rightNumberValue */
1770
+ $rightNumberValue = $rightNumberType->getValue();
1771
+
1772
+ if ($node instanceof Node\Expr\BinaryOp\Plus || $node instanceof Node\Expr\AssignOp\Plus) {
1773
+ return $this->getTypeFromValue($leftNumberValue + $rightNumberValue);
1774
+ }
1775
+
1776
+ if ($node instanceof Node\Expr\BinaryOp\Minus || $node instanceof Node\Expr\AssignOp\Minus) {
1777
+ return $this->getTypeFromValue($leftNumberValue - $rightNumberValue);
1778
+ }
1779
+
1780
+ if ($node instanceof Node\Expr\BinaryOp\Mul || $node instanceof Node\Expr\AssignOp\Mul) {
1781
+ return $this->getTypeFromValue($leftNumberValue * $rightNumberValue);
1782
+ }
1783
+
1784
+ if ($node instanceof Node\Expr\BinaryOp\Pow || $node instanceof Node\Expr\AssignOp\Pow) {
1785
+ return $this->getTypeFromValue($leftNumberValue ** $rightNumberValue);
1786
+ }
1787
+
1788
+ if ($node instanceof Node\Expr\BinaryOp\Div || $node instanceof Node\Expr\AssignOp\Div) {
1789
+ return $this->getTypeFromValue($leftNumberValue / $rightNumberValue);
1790
+ }
1791
+
1792
+ if ($node instanceof Node\Expr\BinaryOp\Mod || $node instanceof Node\Expr\AssignOp\Mod) {
1793
+ return $this->getTypeFromValue($leftNumberValue % $rightNumberValue);
1794
+ }
1795
+
1796
+ if ($node instanceof Expr\BinaryOp\ShiftLeft || $node instanceof Expr\AssignOp\ShiftLeft) {
1797
+ return $this->getTypeFromValue($leftNumberValue << $rightNumberValue);
1798
+ }
1799
+
1800
+ if ($node instanceof Expr\BinaryOp\ShiftRight || $node instanceof Expr\AssignOp\ShiftRight) {
1801
+ return $this->getTypeFromValue($leftNumberValue >> $rightNumberValue);
1802
+ }
1803
+
1804
+ if ($node instanceof Expr\BinaryOp\BitwiseAnd || $node instanceof Expr\AssignOp\BitwiseAnd) {
1805
+ return $this->getTypeFromValue($leftNumberValue & $rightNumberValue);
1806
+ }
1807
+
1808
+ if ($node instanceof Expr\BinaryOp\BitwiseOr || $node instanceof Expr\AssignOp\BitwiseOr) {
1809
+ return $this->getTypeFromValue($leftNumberValue | $rightNumberValue);
1810
+ }
1811
+
1812
+ if ($node instanceof Expr\BinaryOp\BitwiseXor || $node instanceof Expr\AssignOp\BitwiseXor) {
1813
+ return $this->getTypeFromValue($leftNumberValue ^ $rightNumberValue);
1814
+ }
1815
+
1816
+ return new MixedType();
1817
+ }
1818
+
1819
+ public function resolveName(Name $name): string
1820
+ {
1821
+ $originalClass = (string) $name;
1822
+ if ($this->isInClass()) {
1823
+ if (in_array(strtolower($originalClass), [
1824
+ 'self',
1825
+ 'static',
1826
+ ], true)) {
1827
+ return $this->getClassReflection()->getName();
1828
+ } elseif ($originalClass === 'parent') {
1829
+ $currentClassReflection = $this->getClassReflection();
1830
+ if ($currentClassReflection->getParentClass() !== false) {
1831
+ return $currentClassReflection->getParentClass()->getName();
1832
+ }
1833
+ }
1834
+ }
1835
+
1836
+ return $originalClass;
1837
+ }
1838
+
1839
+ /**
1840
+ * @param mixed $value
1841
+ */
1842
+ public function getTypeFromValue($value): Type
1843
+ {
1844
+ if (is_int($value)) {
1845
+ return new ConstantIntegerType($value);
1846
+ } elseif (is_float($value)) {
1847
+ return new ConstantFloatType($value);
1848
+ } elseif (is_bool($value)) {
1849
+ return new ConstantBooleanType($value);
1850
+ } elseif ($value === null) {
1851
+ return new NullType();
1852
+ } elseif (is_string($value)) {
1853
+ return new ConstantStringType($value);
1854
+ } elseif (is_array($value)) {
1855
+ $arrayBuilder = ConstantArrayTypeBuilder::createEmpty();
1856
+ foreach ($value as $k => $v) {
1857
+ $arrayBuilder->setOffsetValueType($this->getTypeFromValue($k), $this->getTypeFromValue($v));
1858
+ }
1859
+ return $arrayBuilder->getArray();
1860
+ }
1861
+
1862
+ return new MixedType();
1863
+ }
1864
+
1865
+ public function isSpecified(Expr $node): bool
1866
+ {
1867
+ $exprString = $this->printer->prettyPrintExpr($node);
1868
+
1869
+ return isset($this->moreSpecificTypes[$exprString])
1870
+ && $this->moreSpecificTypes[$exprString]->getCertainty()->yes();
1871
+ }
1872
+
1873
+ public function enterClass(ClassReflection $classReflection): self
1874
+ {
1875
+ return $this->scopeFactory->create(
1876
+ $this->context->enterClass($classReflection),
1877
+ $this->isDeclareStrictTypes(),
1878
+ null,
1879
+ $this->getNamespace(),
1880
+ [
1881
+ 'this' => VariableTypeHolder::createYes(new ThisType($classReflection->getName())),
1882
+ ]
1883
+ );
1884
+ }
1885
+
1886
+ public function enterTrait(ClassReflection $traitReflection): self
1887
+ {
1888
+ return $this->scopeFactory->create(
1889
+ $this->context->enterTrait($traitReflection),
1890
+ $this->isDeclareStrictTypes(),
1891
+ $this->getFunction(),
1892
+ $this->getNamespace(),
1893
+ $this->getVariableTypes(),
1894
+ $this->moreSpecificTypes,
1895
+ $this->inClosureBindScopeClass,
1896
+ $this->getAnonymousFunctionReturnType(),
1897
+ $this->getInFunctionCall(),
1898
+ $this->isNegated()
1899
+ );
1900
+ }
1901
+
1902
+ /**
1903
+ * @param Node\Stmt\ClassMethod $classMethod
1904
+ * @param Type[] $phpDocParameterTypes
1905
+ * @param Type|null $phpDocReturnType
1906
+ * @param Type|null $throwType
1907
+ * @param string|null $deprecatedDescription
1908
+ * @param bool $isDeprecated
1909
+ * @param bool $isInternal
1910
+ * @param bool $isFinal
1911
+ * @return self
1912
+ */
1913
+ public function enterClassMethod(
1914
+ Node\Stmt\ClassMethod $classMethod,
1915
+ array $phpDocParameterTypes,
1916
+ ?Type $phpDocReturnType,
1917
+ ?Type $throwType,
1918
+ ?string $deprecatedDescription,
1919
+ bool $isDeprecated,
1920
+ bool $isInternal,
1921
+ bool $isFinal
1922
+ ): self
1923
+ {
1924
+ if (!$this->isInClass()) {
1925
+ throw new \PHPStan\ShouldNotHappenException();
1926
+ }
1927
+
1928
+ return $this->enterFunctionLike(
1929
+ new PhpMethodFromParserNodeReflection(
1930
+ $this->getClassReflection(),
1931
+ $classMethod,
1932
+ $this->getRealParameterTypes($classMethod),
1933
+ $phpDocParameterTypes,
1934
+ $classMethod->returnType !== null,
1935
+ $this->getFunctionType($classMethod->returnType, $classMethod->returnType === null, false),
1936
+ $phpDocReturnType,
1937
+ $throwType,
1938
+ $deprecatedDescription,
1939
+ $isDeprecated,
1940
+ $isInternal,
1941
+ $isFinal
1942
+ )
1943
+ );
1944
+ }
1945
+
1946
+ /**
1947
+ * @param Node\FunctionLike $functionLike
1948
+ * @return Type[]
1949
+ */
1950
+ private function getRealParameterTypes(Node\FunctionLike $functionLike): array
1951
+ {
1952
+ $realParameterTypes = [];
1953
+ foreach ($functionLike->getParams() as $parameter) {
1954
+ if (!$parameter->var instanceof Variable || !is_string($parameter->var->name)) {
1955
+ throw new \PHPStan\ShouldNotHappenException();
1956
+ }
1957
+ $realParameterTypes[$parameter->var->name] = $this->getFunctionType(
1958
+ $parameter->type,
1959
+ $this->isParameterValueNullable($parameter),
1960
+ $parameter->variadic
1961
+ );
1962
+ }
1963
+
1964
+ return $realParameterTypes;
1965
+ }
1966
+
1967
+ /**
1968
+ * @param Node\Stmt\Function_ $function
1969
+ * @param Type[] $phpDocParameterTypes
1970
+ * @param Type|null $phpDocReturnType
1971
+ * @param Type|null $throwType
1972
+ * @param string|null $deprecatedDescription
1973
+ * @param bool $isDeprecated
1974
+ * @param bool $isInternal
1975
+ * @param bool $isFinal
1976
+ * @return self
1977
+ */
1978
+ public function enterFunction(
1979
+ Node\Stmt\Function_ $function,
1980
+ array $phpDocParameterTypes,
1981
+ ?Type $phpDocReturnType,
1982
+ ?Type $throwType,
1983
+ ?string $deprecatedDescription,
1984
+ bool $isDeprecated,
1985
+ bool $isInternal,
1986
+ bool $isFinal
1987
+ ): self
1988
+ {
1989
+ return $this->enterFunctionLike(
1990
+ new PhpFunctionFromParserNodeReflection(
1991
+ $function,
1992
+ $this->getRealParameterTypes($function),
1993
+ $phpDocParameterTypes,
1994
+ $function->returnType !== null,
1995
+ $this->getFunctionType($function->returnType, $function->returnType === null, false),
1996
+ $phpDocReturnType,
1997
+ $throwType,
1998
+ $deprecatedDescription,
1999
+ $isDeprecated,
2000
+ $isInternal,
2001
+ $isFinal
2002
+ )
2003
+ );
2004
+ }
2005
+
2006
+ private function enterFunctionLike(
2007
+ PhpFunctionFromParserNodeReflection $functionReflection
2008
+ ): self
2009
+ {
2010
+ $variableTypes = $this->getVariableTypes();
2011
+ foreach (ParametersAcceptorSelector::selectSingle($functionReflection->getVariants())->getParameters() as $parameter) {
2012
+ $variableTypes[$parameter->getName()] = VariableTypeHolder::createYes($parameter->getType());
2013
+ }
2014
+
2015
+ return $this->scopeFactory->create(
2016
+ $this->context,
2017
+ $this->isDeclareStrictTypes(),
2018
+ $functionReflection,
2019
+ $this->getNamespace(),
2020
+ $variableTypes,
2021
+ [],
2022
+ null,
2023
+ null
2024
+ );
2025
+ }
2026
+
2027
+ public function enterNamespace(string $namespaceName): self
2028
+ {
2029
+ return $this->scopeFactory->create(
2030
+ $this->context->beginFile(),
2031
+ $this->isDeclareStrictTypes(),
2032
+ null,
2033
+ $namespaceName
2034
+ );
2035
+ }
2036
+
2037
+ public function enterClosureBind(?Type $thisType, string $scopeClass): self
2038
+ {
2039
+ $variableTypes = $this->getVariableTypes();
2040
+
2041
+ if ($thisType !== null) {
2042
+ $variableTypes['this'] = VariableTypeHolder::createYes($thisType);
2043
+ } else {
2044
+ unset($variableTypes['this']);
2045
+ }
2046
+
2047
+ if ($scopeClass === 'static' && $this->isInClass()) {
2048
+ $scopeClass = $this->getClassReflection()->getName();
2049
+ }
2050
+
2051
+ return $this->scopeFactory->create(
2052
+ $this->context,
2053
+ $this->isDeclareStrictTypes(),
2054
+ $this->getFunction(),
2055
+ $this->getNamespace(),
2056
+ $variableTypes,
2057
+ $this->moreSpecificTypes,
2058
+ $scopeClass,
2059
+ $this->getAnonymousFunctionReturnType(),
2060
+ $this->getInFunctionCall(),
2061
+ $this->isNegated()
2062
+ );
2063
+ }
2064
+
2065
+ public function restoreOriginalScopeAfterClosureBind(self $originalScope): self
2066
+ {
2067
+ $variableTypes = $this->getVariableTypes();
2068
+ if (isset($originalScope->variableTypes['this'])) {
2069
+ $variableTypes['this'] = $originalScope->variableTypes['this'];
2070
+ } else {
2071
+ unset($variableTypes['this']);
2072
+ }
2073
+
2074
+ return $this->scopeFactory->create(
2075
+ $this->context,
2076
+ $this->isDeclareStrictTypes(),
2077
+ $this->getFunction(),
2078
+ $this->getNamespace(),
2079
+ $variableTypes,
2080
+ $this->moreSpecificTypes,
2081
+ $originalScope->inClosureBindScopeClass,
2082
+ $this->getAnonymousFunctionReturnType(),
2083
+ $this->getInFunctionCall(),
2084
+ $this->isNegated()
2085
+ );
2086
+ }
2087
+
2088
+ public function enterClosureCall(Type $thisType): self
2089
+ {
2090
+ $variableTypes = $this->getVariableTypes();
2091
+ $variableTypes['this'] = VariableTypeHolder::createYes($thisType);
2092
+
2093
+ return $this->scopeFactory->create(
2094
+ $this->context,
2095
+ $this->isDeclareStrictTypes(),
2096
+ $this->getFunction(),
2097
+ $this->getNamespace(),
2098
+ $variableTypes,
2099
+ $this->moreSpecificTypes,
2100
+ $thisType instanceof TypeWithClassName ? $thisType->getClassName() : null,
2101
+ $this->getAnonymousFunctionReturnType(),
2102
+ $this->getInFunctionCall(),
2103
+ $this->isNegated()
2104
+ );
2105
+ }
2106
+
2107
+ public function isInClosureBind(): bool
2108
+ {
2109
+ return $this->inClosureBindScopeClass !== null;
2110
+ }
2111
+
2112
+ /**
2113
+ * @param \PhpParser\Node\Expr\Closure $closure
2114
+ * @param \PHPStan\Reflection\ParameterReflection[]|null $callableParameters
2115
+ * @return \PHPStan\Analyser\Scope
2116
+ */
2117
+ public function enterAnonymousFunction(
2118
+ Expr\Closure $closure,
2119
+ ?array $callableParameters = null
2120
+ ): self
2121
+ {
2122
+ $variableTypes = [];
2123
+ foreach ($closure->params as $i => $parameter) {
2124
+ if ($parameter->type === null) {
2125
+ if ($callableParameters === null) {
2126
+ $parameterType = new MixedType();
2127
+ } elseif (isset($callableParameters[$i])) {
2128
+ $parameterType = $callableParameters[$i]->getType();
2129
+ } elseif (count($callableParameters) > 0) {
2130
+ $lastParameter = $callableParameters[count($callableParameters) - 1];
2131
+ if ($lastParameter->isVariadic()) {
2132
+ $parameterType = $lastParameter->getType();
2133
+ } else {
2134
+ $parameterType = new MixedType();
2135
+ }
2136
+ } else {
2137
+ $parameterType = new MixedType();
2138
+ }
2139
+ } else {
2140
+ $isNullable = $this->isParameterValueNullable($parameter);
2141
+ $parameterType = $this->getFunctionType($parameter->type, $isNullable, $parameter->variadic);
2142
+ }
2143
+
2144
+ if (!$parameter->var instanceof Variable || !is_string($parameter->var->name)) {
2145
+ throw new \PHPStan\ShouldNotHappenException();
2146
+ }
2147
+ $variableTypes[$parameter->var->name] = VariableTypeHolder::createYes(
2148
+ $parameterType
2149
+ );
2150
+ }
2151
+
2152
+ foreach ($closure->uses as $use) {
2153
+ if (!is_string($use->var->name)) {
2154
+ throw new \PHPStan\ShouldNotHappenException();
2155
+ }
2156
+ if ($use->byRef) {
2157
+ continue;
2158
+ }
2159
+ if ($this->hasVariableType($use->var->name)->no()) {
2160
+ $variableType = new ErrorType();
2161
+ } else {
2162
+ $variableType = $this->getVariableType($use->var->name);
2163
+ }
2164
+ $variableTypes[$use->var->name] = VariableTypeHolder::createYes($variableType);
2165
+ }
2166
+
2167
+ if ($this->hasVariableType('this')->yes() && !$closure->static) {
2168
+ $variableTypes['this'] = VariableTypeHolder::createYes($this->getVariableType('this'));
2169
+ }
2170
+
2171
+ $returnType = $this->getFunctionType($closure->returnType, $closure->returnType === null, false);
2172
+
2173
+ return $this->scopeFactory->create(
2174
+ $this->context,
2175
+ $this->isDeclareStrictTypes(),
2176
+ $this->getFunction(),
2177
+ $this->getNamespace(),
2178
+ $variableTypes,
2179
+ [],
2180
+ $this->inClosureBindScopeClass,
2181
+ $returnType,
2182
+ $this->getInFunctionCall()
2183
+ );
2184
+ }
2185
+
2186
+ public function enterArrowFunction(Expr\ArrowFunction $arrowFunction): self
2187
+ {
2188
+ $variableTypes = $this->variableTypes;
2189
+ $mixed = new MixedType();
2190
+ foreach ($arrowFunction->params as $parameter) {
2191
+ if ($parameter->type === null) {
2192
+ $parameterType = $mixed;
2193
+ } else {
2194
+ $isNullable = $this->isParameterValueNullable($parameter);
2195
+ $parameterType = $this->getFunctionType($parameter->type, $isNullable, $parameter->variadic);
2196
+ }
2197
+
2198
+ if (!$parameter->var instanceof Variable || !is_string($parameter->var->name)) {
2199
+ throw new \PHPStan\ShouldNotHappenException();
2200
+ }
2201
+
2202
+ $variableTypes[$parameter->var->name] = VariableTypeHolder::createYes($parameterType);
2203
+ }
2204
+
2205
+ if ($arrowFunction->static) {
2206
+ unset($variableTypes['this']);
2207
+ }
2208
+
2209
+ $returnType = $this->getFunctionType($arrowFunction->returnType, $arrowFunction->returnType === null, false);
2210
+
2211
+ return $this->scopeFactory->create(
2212
+ $this->context,
2213
+ $this->isDeclareStrictTypes(),
2214
+ $this->getFunction(),
2215
+ $this->getNamespace(),
2216
+ $variableTypes,
2217
+ [],
2218
+ $this->inClosureBindScopeClass,
2219
+ $returnType,
2220
+ $this->getInFunctionCall()
2221
+ );
2222
+ }
2223
+
2224
+ public function isParameterValueNullable(Node\Param $parameter): bool
2225
+ {
2226
+ if ($parameter->default instanceof ConstFetch) {
2227
+ return strtolower((string) $parameter->default->name) === 'null';
2228
+ }
2229
+
2230
+ return false;
2231
+ }
2232
+
2233
+ /**
2234
+ * @param \PhpParser\Node\Name|\PhpParser\Node\Identifier|\PhpParser\Node\NullableType|null $type
2235
+ * @param bool $isNullable
2236
+ * @param bool $isVariadic
2237
+ * @return Type
2238
+ */
2239
+ public function getFunctionType($type, bool $isNullable, bool $isVariadic): Type
2240
+ {
2241
+ if ($isNullable) {
2242
+ return TypeCombinator::addNull(
2243
+ $this->getFunctionType($type, false, $isVariadic)
2244
+ );
2245
+ }
2246
+ if ($isVariadic) {
2247
+ return new ArrayType(new IntegerType(), $this->getFunctionType(
2248
+ $type,
2249
+ false,
2250
+ false
2251
+ ));
2252
+ }
2253
+ if ($type === null) {
2254
+ return new MixedType();
2255
+ } elseif ($type instanceof Name) {
2256
+ $className = (string) $type;
2257
+ $lowercasedClassName = strtolower($className);
2258
+ if ($this->isInClass() && in_array($lowercasedClassName, ['self', 'static'], true)) {
2259
+ $className = $this->getClassReflection()->getName();
2260
+ } elseif (
2261
+ $lowercasedClassName === 'parent'
2262
+ ) {
2263
+ if ($this->isInClass() && $this->getClassReflection()->getParentClass() !== false) {
2264
+ return new ObjectType($this->getClassReflection()->getParentClass()->getName());
2265
+ }
2266
+
2267
+ return new NonexistentParentClassType();
2268
+ }
2269
+ return new ObjectType($className);
2270
+ } elseif ($type instanceof Node\NullableType) {
2271
+ return $this->getFunctionType($type->type, true, $isVariadic);
2272
+ }
2273
+
2274
+ $type = $type->name;
2275
+ if ($type === 'string') {
2276
+ return new StringType();
2277
+ } elseif ($type === 'int') {
2278
+ return new IntegerType();
2279
+ } elseif ($type === 'bool') {
2280
+ return new BooleanType();
2281
+ } elseif ($type === 'float') {
2282
+ return new FloatType();
2283
+ } elseif ($type === 'callable') {
2284
+ return new CallableType();
2285
+ } elseif ($type === 'array') {
2286
+ return new ArrayType(new MixedType(), new MixedType());
2287
+ } elseif ($type === 'iterable') {
2288
+ return new IterableType(new MixedType(), new MixedType());
2289
+ } elseif ($type === 'void') {
2290
+ return new VoidType();
2291
+ } elseif ($type === 'object') {
2292
+ return new ObjectWithoutClassType();
2293
+ }
2294
+
2295
+ return new MixedType();
2296
+ }
2297
+
2298
+ public function enterForeach(Expr $iteratee, string $valueName, ?string $keyName): self
2299
+ {
2300
+ $iterateeType = $this->getType($iteratee);
2301
+ $scope = $this->assignVariable($valueName, $iterateeType->getIterableValueType());
2302
+
2303
+ if ($keyName !== null) {
2304
+ $scope = $scope->assignVariable($keyName, $iterateeType->getIterableKeyType());
2305
+ }
2306
+
2307
+ return $scope;
2308
+ }
2309
+
2310
+ /**
2311
+ * @param \PhpParser\Node\Name[] $classes
2312
+ * @param string $variableName
2313
+ * @return Scope
2314
+ */
2315
+ public function enterCatch(array $classes, string $variableName): self
2316
+ {
2317
+ $type = TypeCombinator::union(...array_map(static function (string $class): ObjectType {
2318
+ return new ObjectType($class);
2319
+ }, $classes));
2320
+
2321
+ return $this->assignVariable(
2322
+ $variableName,
2323
+ TypeCombinator::intersect($type, new ObjectType(\Throwable::class))
2324
+ );
2325
+ }
2326
+
2327
+ /**
2328
+ * @param \PhpParser\Node\Expr\FuncCall|\PhpParser\Node\Expr\MethodCall|\PhpParser\Node\Expr\StaticCall $functionCall
2329
+ * @return self
2330
+ */
2331
+ public function enterFunctionCall($functionCall): self
2332
+ {
2333
+ return $this->scopeFactory->create(
2334
+ $this->context,
2335
+ $this->isDeclareStrictTypes(),
2336
+ $this->getFunction(),
2337
+ $this->getNamespace(),
2338
+ $this->getVariableTypes(),
2339
+ $this->moreSpecificTypes,
2340
+ $this->inClosureBindScopeClass,
2341
+ $this->getAnonymousFunctionReturnType(),
2342
+ $functionCall,
2343
+ $this->isNegated(),
2344
+ $this->inFirstLevelStatement
2345
+ );
2346
+ }
2347
+
2348
+ public function enterExpressionAssign(Expr $expr): self
2349
+ {
2350
+ $exprString = $this->printer->prettyPrintExpr($expr);
2351
+ $currentlyAssignedExpressions = $this->currentlyAssignedExpressions;
2352
+ $currentlyAssignedExpressions[$exprString] = true;
2353
+
2354
+ return $this->scopeFactory->create(
2355
+ $this->context,
2356
+ $this->isDeclareStrictTypes(),
2357
+ $this->getFunction(),
2358
+ $this->getNamespace(),
2359
+ $this->getVariableTypes(),
2360
+ $this->moreSpecificTypes,
2361
+ $this->inClosureBindScopeClass,
2362
+ $this->getAnonymousFunctionReturnType(),
2363
+ $this->getInFunctionCall(),
2364
+ $this->isNegated(),
2365
+ $this->isInFirstLevelStatement(),
2366
+ $currentlyAssignedExpressions
2367
+ );
2368
+ }
2369
+
2370
+ public function exitExpressionAssign(Expr $expr): self
2371
+ {
2372
+ $exprString = $this->printer->prettyPrintExpr($expr);
2373
+ $currentlyAssignedExpressions = $this->currentlyAssignedExpressions;
2374
+ unset($currentlyAssignedExpressions[$exprString]);
2375
+
2376
+ return $this->scopeFactory->create(
2377
+ $this->context,
2378
+ $this->isDeclareStrictTypes(),
2379
+ $this->getFunction(),
2380
+ $this->getNamespace(),
2381
+ $this->getVariableTypes(),
2382
+ $this->moreSpecificTypes,
2383
+ $this->inClosureBindScopeClass,
2384
+ $this->getAnonymousFunctionReturnType(),
2385
+ $this->getInFunctionCall(),
2386
+ $this->isNegated(),
2387
+ $this->isInFirstLevelStatement(),
2388
+ $currentlyAssignedExpressions
2389
+ );
2390
+ }
2391
+
2392
+ public function isInExpressionAssign(Expr $expr): bool
2393
+ {
2394
+ $exprString = $this->printer->prettyPrintExpr($expr);
2395
+ return array_key_exists($exprString, $this->currentlyAssignedExpressions);
2396
+ }
2397
+
2398
+ public function assignVariable(string $variableName, Type $type, ?TrinaryLogic $certainty = null): self
2399
+ {
2400
+ if ($certainty === null) {
2401
+ $certainty = TrinaryLogic::createYes();
2402
+ } elseif ($certainty->no()) {
2403
+ throw new \PHPStan\ShouldNotHappenException();
2404
+ }
2405
+ $variableTypes = $this->getVariableTypes();
2406
+ $variableTypes[$variableName] = new VariableTypeHolder($type, $certainty);
2407
+
2408
+ $variableString = $this->printer->prettyPrintExpr(new Variable($variableName));
2409
+ $moreSpecificTypeHolders = $this->moreSpecificTypes;
2410
+ foreach (array_keys($moreSpecificTypeHolders) as $key) {
2411
+ $matches = \Nette\Utils\Strings::match((string) $key, '#(\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*)#');
2412
+ if ($matches === null) {
2413
+ continue;
2414
+ }
2415
+
2416
+ if ($matches[1] !== $variableString) {
2417
+ continue;
2418
+ }
2419
+
2420
+ unset($moreSpecificTypeHolders[$key]);
2421
+ }
2422
+
2423
+ return $this->scopeFactory->create(
2424
+ $this->context,
2425
+ $this->isDeclareStrictTypes(),
2426
+ $this->getFunction(),
2427
+ $this->getNamespace(),
2428
+ $variableTypes,
2429
+ $moreSpecificTypeHolders,
2430
+ $this->inClosureBindScopeClass,
2431
+ $this->getAnonymousFunctionReturnType(),
2432
+ $this->getInFunctionCall(),
2433
+ $this->isNegated(),
2434
+ $this->inFirstLevelStatement,
2435
+ $this->currentlyAssignedExpressions
2436
+ );
2437
+ }
2438
+
2439
+ public function unsetExpression(Expr $expr): self
2440
+ {
2441
+ if ($expr instanceof Variable && is_string($expr->name)) {
2442
+ if ($this->hasVariableType($expr->name)->no()) {
2443
+ return $this;
2444
+ }
2445
+ $variableTypes = $this->getVariableTypes();
2446
+ unset($variableTypes[$expr->name]);
2447
+
2448
+ return $this->scopeFactory->create(
2449
+ $this->context,
2450
+ $this->isDeclareStrictTypes(),
2451
+ $this->getFunction(),
2452
+ $this->getNamespace(),
2453
+ $variableTypes,
2454
+ $this->moreSpecificTypes,
2455
+ $this->inClosureBindScopeClass,
2456
+ $this->getAnonymousFunctionReturnType(),
2457
+ $this->getInFunctionCall(),
2458
+ $this->isNegated(),
2459
+ $this->inFirstLevelStatement
2460
+ );
2461
+ } elseif ($expr instanceof Expr\ArrayDimFetch && $expr->dim !== null) {
2462
+ $constantArrays = TypeUtils::getConstantArrays($this->getType($expr->var));
2463
+ if (count($constantArrays) > 0) {
2464
+ $unsetArrays = [];
2465
+ $dimType = $this->getType($expr->dim);
2466
+ foreach ($constantArrays as $constantArray) {
2467
+ $unsetArrays[] = $constantArray->unsetOffset($dimType);
2468
+ }
2469
+ return $this->specifyExpressionType(
2470
+ $expr->var,
2471
+ TypeCombinator::union(...$unsetArrays)
2472
+ );
2473
+ }
2474
+ }
2475
+
2476
+ return $this;
2477
+ }
2478
+
2479
+ public function specifyExpressionType(Expr $expr, Type $type): self
2480
+ {
2481
+ if ($expr instanceof Node\Scalar || $expr instanceof Array_) {
2482
+ return $this;
2483
+ }
2484
+
2485
+ $exprString = $this->printer->prettyPrintExpr($expr);
2486
+
2487
+ $scope = $this;
2488
+
2489
+ if ($expr instanceof Variable && is_string($expr->name)) {
2490
+ $variableName = $expr->name;
2491
+
2492
+ $variableTypes = $this->getVariableTypes();
2493
+ $variableTypes[$variableName] = VariableTypeHolder::createYes($type);
2494
+
2495
+ return $this->scopeFactory->create(
2496
+ $this->context,
2497
+ $this->isDeclareStrictTypes(),
2498
+ $this->getFunction(),
2499
+ $this->getNamespace(),
2500
+ $variableTypes,
2501
+ $this->moreSpecificTypes,
2502
+ $this->inClosureBindScopeClass,
2503
+ $this->getAnonymousFunctionReturnType(),
2504
+ $this->getInFunctionCall(),
2505
+ $this->isNegated(),
2506
+ $this->inFirstLevelStatement,
2507
+ $this->currentlyAssignedExpressions
2508
+ );
2509
+ } elseif ($expr instanceof Expr\ArrayDimFetch && $expr->dim !== null) {
2510
+ $constantArrays = TypeUtils::getConstantArrays($this->getType($expr->var));
2511
+ if (count($constantArrays) > 0) {
2512
+ $setArrays = [];
2513
+ $dimType = $this->getType($expr->dim);
2514
+ foreach ($constantArrays as $constantArray) {
2515
+ $setArrays[] = $constantArray->setOffsetValueType($dimType, $type);
2516
+ }
2517
+ $scope = $this->specifyExpressionType(
2518
+ $expr->var,
2519
+ TypeCombinator::union(...$setArrays)
2520
+ );
2521
+ }
2522
+ }
2523
+
2524
+ return $scope->addMoreSpecificTypes([
2525
+ $exprString => $type,
2526
+ ]);
2527
+ }
2528
+
2529
+ public function unspecifyExpressionType(Expr $expr): self
2530
+ {
2531
+ $exprString = $this->printer->prettyPrintExpr($expr);
2532
+ $moreSpecificTypeHolders = $this->moreSpecificTypes;
2533
+ if (isset($moreSpecificTypeHolders[$exprString])) {
2534
+ unset($moreSpecificTypeHolders[$exprString]);
2535
+ return $this->scopeFactory->create(
2536
+ $this->context,
2537
+ $this->isDeclareStrictTypes(),
2538
+ $this->getFunction(),
2539
+ $this->getNamespace(),
2540
+ $this->getVariableTypes(),
2541
+ $moreSpecificTypeHolders,
2542
+ $this->inClosureBindScopeClass,
2543
+ $this->getAnonymousFunctionReturnType(),
2544
+ $this->getInFunctionCall(),
2545
+ $this->isNegated(),
2546
+ $this->inFirstLevelStatement
2547
+ );
2548
+ }
2549
+
2550
+ return $this;
2551
+ }
2552
+
2553
+ public function removeTypeFromExpression(Expr $expr, Type $type): self
2554
+ {
2555
+ return $this->specifyExpressionType(
2556
+ $expr,
2557
+ TypeCombinator::remove($this->getType($expr), $type)
2558
+ );
2559
+ }
2560
+
2561
+ public function filterByTruthyValue(Expr $expr, bool $defaultHandleFunctions = false): self
2562
+ {
2563
+ $specifiedTypes = $this->typeSpecifier->specifyTypesInCondition($this, $expr, TypeSpecifierContext::createTruthy(), $defaultHandleFunctions);
2564
+ return $this->filterBySpecifiedTypes($specifiedTypes);
2565
+ }
2566
+
2567
+ public function filterByFalseyValue(Expr $expr, bool $defaultHandleFunctions = false): self
2568
+ {
2569
+ $specifiedTypes = $this->typeSpecifier->specifyTypesInCondition($this, $expr, TypeSpecifierContext::createFalsey(), $defaultHandleFunctions);
2570
+ return $this->filterBySpecifiedTypes($specifiedTypes);
2571
+ }
2572
+
2573
+ public function filterBySpecifiedTypes(SpecifiedTypes $specifiedTypes): self
2574
+ {
2575
+ $typeSpecifications = [];
2576
+ foreach ($specifiedTypes->getSureTypes() as $exprString => [$expr, $type]) {
2577
+ $typeSpecifications[] = [
2578
+ 'sure' => true,
2579
+ 'exprString' => $exprString,
2580
+ 'expr' => $expr,
2581
+ 'type' => $type,
2582
+ ];
2583
+ }
2584
+ foreach ($specifiedTypes->getSureNotTypes() as $exprString => [$expr, $type]) {
2585
+ $typeSpecifications[] = [
2586
+ 'sure' => false,
2587
+ 'exprString' => $exprString,
2588
+ 'expr' => $expr,
2589
+ 'type' => $type,
2590
+ ];
2591
+ }
2592
+
2593
+ usort($typeSpecifications, static function (array $a, array $b): int {
2594
+ $length = strlen((string) $a['exprString']) - strlen((string) $b['exprString']);
2595
+ if ($length !== 0) {
2596
+ return $length;
2597
+ }
2598
+
2599
+ return $b['sure'] - $a['sure'];
2600
+ });
2601
+
2602
+ $scope = $this;
2603
+ foreach ($typeSpecifications as $typeSpecification) {
2604
+ $expr = $typeSpecification['expr'];
2605
+ $type = $typeSpecification['type'];
2606
+ if ($typeSpecification['sure']) {
2607
+ if (!$specifiedTypes->shouldOverwrite()) {
2608
+ $type = TypeCombinator::intersect($type, $this->getType($expr));
2609
+ }
2610
+ $scope = $scope->specifyExpressionType($expr, $type);
2611
+ } else {
2612
+ $scope = $scope->removeTypeFromExpression($expr, $type);
2613
+ }
2614
+ }
2615
+
2616
+ return $scope;
2617
+ }
2618
+
2619
+ public function enterNegation(): self
2620
+ {
2621
+ return $this->scopeFactory->create(
2622
+ $this->context,
2623
+ $this->isDeclareStrictTypes(),
2624
+ $this->getFunction(),
2625
+ $this->getNamespace(),
2626
+ $this->getVariableTypes(),
2627
+ $this->moreSpecificTypes,
2628
+ $this->inClosureBindScopeClass,
2629
+ $this->getAnonymousFunctionReturnType(),
2630
+ $this->getInFunctionCall(),
2631
+ !$this->isNegated(),
2632
+ $this->inFirstLevelStatement
2633
+ );
2634
+ }
2635
+
2636
+ public function exitFirstLevelStatements(): self
2637
+ {
2638
+ return $this->scopeFactory->create(
2639
+ $this->context,
2640
+ $this->isDeclareStrictTypes(),
2641
+ $this->getFunction(),
2642
+ $this->getNamespace(),
2643
+ $this->getVariableTypes(),
2644
+ $this->moreSpecificTypes,
2645
+ $this->inClosureBindScopeClass,
2646
+ $this->getAnonymousFunctionReturnType(),
2647
+ $this->getInFunctionCall(),
2648
+ $this->isNegated(),
2649
+ false,
2650
+ $this->currentlyAssignedExpressions
2651
+ );
2652
+ }
2653
+
2654
+ public function isInFirstLevelStatement(): bool
2655
+ {
2656
+ return $this->inFirstLevelStatement;
2657
+ }
2658
+
2659
+ public function isNegated(): bool
2660
+ {
2661
+ return $this->negated;
2662
+ }
2663
+
2664
+ /**
2665
+ * @phpcsSuppress SlevomatCodingStandard.Classes.UnusedPrivateElements.UnusedMethod
2666
+ * @param Type[] $types
2667
+ * @return self
2668
+ */
2669
+ private function addMoreSpecificTypes(array $types): self
2670
+ {
2671
+ $moreSpecificTypeHolders = $this->moreSpecificTypes;
2672
+ foreach ($types as $exprString => $type) {
2673
+ $moreSpecificTypeHolders[$exprString] = VariableTypeHolder::createYes($type);
2674
+ }
2675
+
2676
+ return $this->scopeFactory->create(
2677
+ $this->context,
2678
+ $this->isDeclareStrictTypes(),
2679
+ $this->getFunction(),
2680
+ $this->getNamespace(),
2681
+ $this->getVariableTypes(),
2682
+ $moreSpecificTypeHolders,
2683
+ $this->inClosureBindScopeClass,
2684
+ $this->getAnonymousFunctionReturnType(),
2685
+ $this->getInFunctionCall(),
2686
+ $this->isNegated(),
2687
+ $this->inFirstLevelStatement,
2688
+ $this->currentlyAssignedExpressions
2689
+ );
2690
+ }
2691
+
2692
+ public function mergeWith(?self $otherScope): self
2693
+ {
2694
+ if ($otherScope === null) {
2695
+ return $this;
2696
+ }
2697
+
2698
+ return $this->scopeFactory->create(
2699
+ $this->context,
2700
+ $this->isDeclareStrictTypes(),
2701
+ $this->getFunction(),
2702
+ $this->getNamespace(),
2703
+ $this->mergeVariableHolders($this->getVariableTypes(), $otherScope->getVariableTypes()),
2704
+ $this->mergeVariableHolders($this->moreSpecificTypes, $otherScope->moreSpecificTypes),
2705
+ $this->inClosureBindScopeClass,
2706
+ $this->getAnonymousFunctionReturnType(),
2707
+ $this->getInFunctionCall(),
2708
+ $this->isNegated(),
2709
+ $this->inFirstLevelStatement
2710
+ );
2711
+ }
2712
+
2713
+ /**
2714
+ * @param VariableTypeHolder[] $ourVariableTypeHolders
2715
+ * @param VariableTypeHolder[] $theirVariableTypeHolders
2716
+ * @return VariableTypeHolder[]
2717
+ */
2718
+ private function mergeVariableHolders(array $ourVariableTypeHolders, array $theirVariableTypeHolders): array
2719
+ {
2720
+ $intersectedVariableTypeHolders = [];
2721
+ foreach ($ourVariableTypeHolders as $name => $variableTypeHolder) {
2722
+ if (isset($theirVariableTypeHolders[$name])) {
2723
+ $intersectedVariableTypeHolders[$name] = $variableTypeHolder->and($theirVariableTypeHolders[$name]);
2724
+ } else {
2725
+ $intersectedVariableTypeHolders[$name] = VariableTypeHolder::createMaybe($variableTypeHolder->getType());
2726
+ }
2727
+ }
2728
+
2729
+ foreach ($theirVariableTypeHolders as $name => $variableTypeHolder) {
2730
+ if (isset($intersectedVariableTypeHolders[$name])) {
2731
+ continue;
2732
+ }
2733
+
2734
+ $intersectedVariableTypeHolders[$name] = VariableTypeHolder::createMaybe($variableTypeHolder->getType());
2735
+ }
2736
+
2737
+ return $intersectedVariableTypeHolders;
2738
+ }
2739
+
2740
+ public function processFinallyScope(self $finallyScope, self $originalFinallyScope): self
2741
+ {
2742
+ return $this->scopeFactory->create(
2743
+ $this->context,
2744
+ $this->isDeclareStrictTypes(),
2745
+ $this->getFunction(),
2746
+ $this->getNamespace(),
2747
+ $this->processFinallyScopeVariableTypeHolders(
2748
+ $this->getVariableTypes(),
2749
+ $finallyScope->getVariableTypes(),
2750
+ $originalFinallyScope->getVariableTypes()
2751
+ ),
2752
+ $this->processFinallyScopeVariableTypeHolders(
2753
+ $this->moreSpecificTypes,
2754
+ $finallyScope->moreSpecificTypes,
2755
+ $originalFinallyScope->moreSpecificTypes
2756
+ ),
2757
+ $this->inClosureBindScopeClass,
2758
+ $this->getAnonymousFunctionReturnType(),
2759
+ $this->getInFunctionCall(),
2760
+ $this->isNegated(),
2761
+ $this->inFirstLevelStatement
2762
+ );
2763
+ }
2764
+
2765
+ /**
2766
+ * @param VariableTypeHolder[] $ourVariableTypeHolders
2767
+ * @param VariableTypeHolder[] $finallyVariableTypeHolders
2768
+ * @param VariableTypeHolder[] $originalVariableTypeHolders
2769
+ * @return VariableTypeHolder[]
2770
+ */
2771
+ private function processFinallyScopeVariableTypeHolders(
2772
+ array $ourVariableTypeHolders,
2773
+ array $finallyVariableTypeHolders,
2774
+ array $originalVariableTypeHolders
2775
+ ): array
2776
+ {
2777
+ foreach ($finallyVariableTypeHolders as $name => $variableTypeHolder) {
2778
+ if (
2779
+ isset($originalVariableTypeHolders[$name])
2780
+ && !$originalVariableTypeHolders[$name]->getType()->equals($variableTypeHolder->getType())
2781
+ ) {
2782
+ $ourVariableTypeHolders[$name] = $variableTypeHolder;
2783
+ continue;
2784
+ }
2785
+
2786
+ if (isset($originalVariableTypeHolders[$name])) {
2787
+ continue;
2788
+ }
2789
+
2790
+ $ourVariableTypeHolders[$name] = $variableTypeHolder;
2791
+ }
2792
+
2793
+ return $ourVariableTypeHolders;
2794
+ }
2795
+
2796
+ /**
2797
+ * @param self $closureScope
2798
+ * @param self|null $prevScope
2799
+ * @param Expr\ClosureUse[] $byRefUses
2800
+ * @return self
2801
+ */
2802
+ public function processClosureScope(
2803
+ self $closureScope,
2804
+ ?self $prevScope,
2805
+ array $byRefUses
2806
+ ): self
2807
+ {
2808
+ $variableTypes = $this->variableTypes;
2809
+ foreach ($byRefUses as $use) {
2810
+ if (!is_string($use->var->name)) {
2811
+ throw new \PHPStan\ShouldNotHappenException();
2812
+ }
2813
+
2814
+ $variableName = $use->var->name;
2815
+
2816
+ if (!$closureScope->hasVariableType($variableName)->yes()) {
2817
+ $variableTypes[$variableName] = VariableTypeHolder::createYes(new NullType());
2818
+ continue;
2819
+ }
2820
+
2821
+ $variableType = $closureScope->getVariableType($variableName);
2822
+
2823
+ if ($prevScope !== null) {
2824
+ $prevVariableType = $prevScope->getVariableType($variableName);
2825
+ if (!$variableType->equals($prevVariableType)) {
2826
+ $variableType = TypeCombinator::union($variableType, $prevVariableType);
2827
+ $variableType = self::generalizeType($variableType, $prevVariableType);
2828
+ }
2829
+ }
2830
+
2831
+ $variableTypes[$variableName] = VariableTypeHolder::createYes($variableType);
2832
+ }
2833
+
2834
+ return $this->scopeFactory->create(
2835
+ $this->context,
2836
+ $this->isDeclareStrictTypes(),
2837
+ $this->getFunction(),
2838
+ $this->getNamespace(),
2839
+ $variableTypes,
2840
+ [],
2841
+ $this->inClosureBindScopeClass,
2842
+ $this->getAnonymousFunctionReturnType(),
2843
+ $this->getInFunctionCall(),
2844
+ $this->isNegated(),
2845
+ $this->inFirstLevelStatement
2846
+ );
2847
+ }
2848
+
2849
+ public function processAlwaysIterableForeachScopeWithoutPollute(self $finalScope): self
2850
+ {
2851
+ $variableTypeHolders = $this->variableTypes;
2852
+ foreach ($finalScope->variableTypes as $name => $variableTypeHolder) {
2853
+ if (!isset($variableTypeHolders[$name])) {
2854
+ $variableTypeHolders[$name] = VariableTypeHolder::createMaybe($variableTypeHolder->getType());
2855
+ continue;
2856
+ }
2857
+
2858
+ $variableTypeHolders[$name] = new VariableTypeHolder(
2859
+ $variableTypeHolder->getType(),
2860
+ $variableTypeHolder->getCertainty()->and($variableTypeHolders[$name]->getCertainty())
2861
+ );
2862
+ }
2863
+
2864
+ $moreSpecificTypes = $this->moreSpecificTypes;
2865
+ foreach ($finalScope->moreSpecificTypes as $exprString => $variableTypeHolder) {
2866
+ if (!isset($moreSpecificTypes[$exprString])) {
2867
+ $moreSpecificTypes[$exprString] = VariableTypeHolder::createMaybe($variableTypeHolder->getType());
2868
+ continue;
2869
+ }
2870
+
2871
+ $moreSpecificTypes[$exprString] = new VariableTypeHolder(
2872
+ $variableTypeHolder->getType(),
2873
+ $variableTypeHolder->getCertainty()->and($moreSpecificTypes[$exprString]->getCertainty())
2874
+ );
2875
+ }
2876
+
2877
+ return $this->scopeFactory->create(
2878
+ $this->context,
2879
+ $this->isDeclareStrictTypes(),
2880
+ $this->getFunction(),
2881
+ $this->getNamespace(),
2882
+ $variableTypeHolders,
2883
+ $moreSpecificTypes,
2884
+ $this->inClosureBindScopeClass,
2885
+ $this->getAnonymousFunctionReturnType(),
2886
+ $this->getInFunctionCall(),
2887
+ $this->isNegated(),
2888
+ $this->inFirstLevelStatement
2889
+ );
2890
+ }
2891
+
2892
+ public function generalizeWith(self $otherScope): self
2893
+ {
2894
+ $variableTypeHolders = $this->generalizeVariableTypeHolders(
2895
+ $this->getVariableTypes(),
2896
+ $otherScope->getVariableTypes()
2897
+ );
2898
+
2899
+ $moreSpecificTypes = $this->generalizeVariableTypeHolders(
2900
+ $this->moreSpecificTypes,
2901
+ $otherScope->moreSpecificTypes
2902
+ );
2903
+
2904
+ return $this->scopeFactory->create(
2905
+ $this->context,
2906
+ $this->isDeclareStrictTypes(),
2907
+ $this->getFunction(),
2908
+ $this->getNamespace(),
2909
+ $variableTypeHolders,
2910
+ $moreSpecificTypes,
2911
+ $this->inClosureBindScopeClass,
2912
+ $this->getAnonymousFunctionReturnType(),
2913
+ $this->getInFunctionCall(),
2914
+ $this->isNegated(),
2915
+ $this->inFirstLevelStatement
2916
+ );
2917
+ }
2918
+
2919
+ /**
2920
+ * @param VariableTypeHolder[] $variableTypeHolders
2921
+ * @param VariableTypeHolder[] $otherVariableTypeHolders
2922
+ * @return VariableTypeHolder[]
2923
+ */
2924
+ private function generalizeVariableTypeHolders(
2925
+ array $variableTypeHolders,
2926
+ array $otherVariableTypeHolders
2927
+ ): array
2928
+ {
2929
+ foreach ($variableTypeHolders as $name => $variableTypeHolder) {
2930
+ if (!isset($otherVariableTypeHolders[$name])) {
2931
+ continue;
2932
+ }
2933
+
2934
+ $variableTypeHolders[$name] = new VariableTypeHolder(
2935
+ self::generalizeType($variableTypeHolder->getType(), $otherVariableTypeHolders[$name]->getType()),
2936
+ $variableTypeHolder->getCertainty()
2937
+ );
2938
+ }
2939
+
2940
+ return $variableTypeHolders;
2941
+ }
2942
+
2943
+ private function generalizeType(Type $a, Type $b): Type
2944
+ {
2945
+ if ($a->equals($b)) {
2946
+ return $a;
2947
+ }
2948
+
2949
+ $constantIntegers = ['a' => [], 'b' => []];
2950
+ $constantFloats = ['a' => [], 'b' => []];
2951
+ $constantBooleans = ['a' => [], 'b' => []];
2952
+ $constantStrings = ['a' => [], 'b' => []];
2953
+ $constantArrays = ['a' => [], 'b' => []];
2954
+ $generalArrays = ['a' => [], 'b' => []];
2955
+ $otherTypes = [];
2956
+
2957
+ foreach ([
2958
+ 'a' => TypeUtils::flattenTypes($a),
2959
+ 'b' => TypeUtils::flattenTypes($b),
2960
+ ] as $key => $types) {
2961
+ foreach ($types as $type) {
2962
+ if ($type instanceof ConstantIntegerType) {
2963
+ $constantIntegers[$key][] = $type;
2964
+ continue;
2965
+ }
2966
+ if ($type instanceof ConstantFloatType) {
2967
+ $constantFloats[$key][] = $type;
2968
+ continue;
2969
+ }
2970
+ if ($type instanceof ConstantBooleanType) {
2971
+ $constantBooleans[$key][] = $type;
2972
+ continue;
2973
+ }
2974
+ if ($type instanceof ConstantStringType) {
2975
+ $constantStrings[$key][] = $type;
2976
+ continue;
2977
+ }
2978
+ if ($type instanceof ConstantArrayType) {
2979
+ $constantArrays[$key][] = $type;
2980
+ continue;
2981
+ }
2982
+ if ($type instanceof ArrayType) {
2983
+ $generalArrays[$key][] = $type;
2984
+ continue;
2985
+ }
2986
+
2987
+ $otherTypes[] = $type;
2988
+ }
2989
+ }
2990
+
2991
+ $resultTypes = [];
2992
+ foreach ([
2993
+ $constantIntegers,
2994
+ $constantFloats,
2995
+ $constantBooleans,
2996
+ $constantStrings,
2997
+ ] as $constantTypes) {
2998
+ if (count($constantTypes['a']) === 0) {
2999
+ continue;
3000
+ }
3001
+ if (count($constantTypes['b']) === 0) {
3002
+ $resultTypes[] = TypeCombinator::union(...$constantTypes['a']);
3003
+ continue;
3004
+ }
3005
+
3006
+ $aTypes = TypeCombinator::union(...$constantTypes['a']);
3007
+ $bTypes = TypeCombinator::union(...$constantTypes['b']);
3008
+ if ($aTypes->equals($bTypes)) {
3009
+ $resultTypes[] = $aTypes;
3010
+ continue;
3011
+ }
3012
+
3013
+ $resultTypes[] = TypeUtils::generalizeType($constantTypes['a'][0]);
3014
+ }
3015
+
3016
+ if (count($constantArrays['a']) > 0) {
3017
+ if (count($constantArrays['b']) === 0) {
3018
+ $resultTypes[] = TypeCombinator::union(...$constantArrays['a']);
3019
+ } else {
3020
+ $constantArraysA = TypeCombinator::union(...$constantArrays['a']);
3021
+ $constantArraysB = TypeCombinator::union(...$constantArrays['b']);
3022
+ if ($constantArraysA->getIterableKeyType()->equals($constantArraysB->getIterableKeyType())) {
3023
+ $resultArrayBuilder = ConstantArrayTypeBuilder::createEmpty();
3024
+ foreach (TypeUtils::flattenTypes($constantArraysA->getIterableKeyType()) as $keyType) {
3025
+ $resultArrayBuilder->setOffsetValueType(
3026
+ $keyType,
3027
+ self::generalizeType(
3028
+ $constantArraysA->getOffsetValueType($keyType),
3029
+ $constantArraysB->getOffsetValueType($keyType)
3030
+ )
3031
+ );
3032
+ }
3033
+
3034
+ $resultTypes[] = $resultArrayBuilder->getArray();
3035
+ } else {
3036
+ $resultTypes[] = new ArrayType(
3037
+ TypeCombinator::union(self::generalizeType($constantArraysA->getIterableKeyType(), $constantArraysB->getIterableKeyType())),
3038
+ TypeCombinator::union(self::generalizeType($constantArraysA->getIterableValueType(), $constantArraysB->getIterableValueType()))
3039
+ );
3040
+ }
3041
+ }
3042
+ }
3043
+
3044
+ if (count($generalArrays['a']) > 0) {
3045
+ if (count($generalArrays['b']) === 0) {
3046
+ $resultTypes[] = TypeCombinator::union(...$generalArrays['a']);
3047
+ } else {
3048
+ $generalArraysA = TypeCombinator::union(...$generalArrays['a']);
3049
+ $generalArraysB = TypeCombinator::union(...$generalArrays['b']);
3050
+
3051
+ $aValueType = $generalArraysA->getIterableValueType();
3052
+ $bValueType = $generalArraysB->getIterableValueType();
3053
+ $aArrays = TypeUtils::getAnyArrays($aValueType);
3054
+ $bArrays = TypeUtils::getAnyArrays($bValueType);
3055
+ if (
3056
+ count($aArrays) === 1
3057
+ && !$aArrays[0] instanceof ConstantArrayType
3058
+ && count($bArrays) === 1
3059
+ && !$bArrays[0] instanceof ConstantArrayType
3060
+ ) {
3061
+ $aDepth = $this->getArrayDepth($aArrays[0]);
3062
+ $bDepth = $this->getArrayDepth($bArrays[0]);
3063
+ if (
3064
+ ($aDepth > 2 || $bDepth > 2)
3065
+ && abs($aDepth - $bDepth) > 0
3066
+ ) {
3067
+ $aValueType = new MixedType();
3068
+ $bValueType = new MixedType();
3069
+ }
3070
+ }
3071
+
3072
+ $resultTypes[] = new ArrayType(
3073
+ TypeCombinator::union(self::generalizeType($generalArraysA->getIterableKeyType(), $generalArraysB->getIterableKeyType())),
3074
+ TypeCombinator::union(self::generalizeType($aValueType, $bValueType))
3075
+ );
3076
+ }
3077
+ }
3078
+
3079
+ return TypeCombinator::union(...$resultTypes, ...$otherTypes);
3080
+ }
3081
+
3082
+ private function getArrayDepth(ArrayType $type): int
3083
+ {
3084
+ $depth = 0;
3085
+ while ($type instanceof ArrayType) {
3086
+ $temp = $type->getIterableValueType();
3087
+ $arrays = TypeUtils::getAnyArrays($temp);
3088
+ if (count($arrays) === 1) {
3089
+ $type = $arrays[0];
3090
+ } else {
3091
+ $type = $temp;
3092
+ }
3093
+ $depth++;
3094
+ }
3095
+
3096
+ return $depth;
3097
+ }
3098
+
3099
+ public function equals(self $otherScope): bool
3100
+ {
3101
+ if (!$this->context->equals($otherScope->context)) {
3102
+ return false;
3103
+ }
3104
+
3105
+ if (!$this->compareVariableTypeHolders($this->variableTypes, $otherScope->variableTypes)) {
3106
+ return false;
3107
+ }
3108
+
3109
+ return $this->compareVariableTypeHolders($this->moreSpecificTypes, $otherScope->moreSpecificTypes);
3110
+ }
3111
+
3112
+ /**
3113
+ * @param VariableTypeHolder[] $variableTypeHolders
3114
+ * @param VariableTypeHolder[] $otherVariableTypeHolders
3115
+ * @return bool
3116
+ */
3117
+ private function compareVariableTypeHolders(array $variableTypeHolders, array $otherVariableTypeHolders): bool
3118
+ {
3119
+ foreach ($variableTypeHolders as $name => $variableTypeHolder) {
3120
+ if (!isset($otherVariableTypeHolders[$name])) {
3121
+ return false;
3122
+ }
3123
+
3124
+ if (!$variableTypeHolder->getCertainty()->equals($otherVariableTypeHolders[$name]->getCertainty())) {
3125
+ return false;
3126
+ }
3127
+
3128
+ if (!$variableTypeHolder->getType()->equals($otherVariableTypeHolders[$name]->getType())) {
3129
+ return false;
3130
+ }
3131
+
3132
+ unset($otherVariableTypeHolders[$name]);
3133
+ }
3134
+
3135
+ return count($otherVariableTypeHolders) === 0;
3136
+ }
3137
+
3138
+ public function canAccessProperty(PropertyReflection $propertyReflection): bool
3139
+ {
3140
+ return $this->canAccessClassMember($propertyReflection);
3141
+ }
3142
+
3143
+ public function canCallMethod(MethodReflection $methodReflection): bool
3144
+ {
3145
+ if ($this->canAccessClassMember($methodReflection)) {
3146
+ return true;
3147
+ }
3148
+
3149
+ return $this->canAccessClassMember($methodReflection->getPrototype());
3150
+ }
3151
+
3152
+ public function canAccessConstant(ConstantReflection $constantReflection): bool
3153
+ {
3154
+ return $this->canAccessClassMember($constantReflection);
3155
+ }
3156
+
3157
+ private function canAccessClassMember(ClassMemberReflection $classMemberReflection): bool
3158
+ {
3159
+ if ($classMemberReflection->isPublic()) {
3160
+ return true;
3161
+ }
3162
+
3163
+ if ($this->inClosureBindScopeClass !== null && $this->broker->hasClass($this->inClosureBindScopeClass)) {
3164
+ $currentClassReflection = $this->broker->getClass($this->inClosureBindScopeClass);
3165
+ } elseif ($this->isInClass()) {
3166
+ $currentClassReflection = $this->getClassReflection();
3167
+ } else {
3168
+ return false;
3169
+ }
3170
+
3171
+ $classReflectionName = $classMemberReflection->getDeclaringClass()->getName();
3172
+ if ($classMemberReflection->isPrivate()) {
3173
+ return $currentClassReflection->getName() === $classReflectionName;
3174
+ }
3175
+
3176
+ // protected
3177
+
3178
+ if (
3179
+ $currentClassReflection->getName() === $classReflectionName
3180
+ || $currentClassReflection->isSubclassOf($classReflectionName)
3181
+ ) {
3182
+ return true;
3183
+ }
3184
+
3185
+ return $classMemberReflection->getDeclaringClass()->isSubclassOf($currentClassReflection->getName());
3186
+ }
3187
+
3188
+ /**
3189
+ * @return string[]
3190
+ */
3191
+ public function debug(): array
3192
+ {
3193
+ $descriptions = [];
3194
+ foreach ($this->getVariableTypes() as $name => $variableTypeHolder) {
3195
+ $key = sprintf('$%s (%s)', $name, $variableTypeHolder->getCertainty()->describe());
3196
+ $descriptions[$key] = $variableTypeHolder->getType()->describe(VerbosityLevel::precise());
3197
+ }
3198
+ foreach ($this->moreSpecificTypes as $exprString => $typeHolder) {
3199
+ $key = sprintf(
3200
+ '%s-specified (%s)',
3201
+ $exprString,
3202
+ $typeHolder->getCertainty()->describe()
3203
+ );
3204
+ $descriptions[$key] = $typeHolder->getType()->describe(VerbosityLevel::precise());
3205
+ }
3206
+
3207
+ return $descriptions;
3208
+ }
3209
+
3210
+ }