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.
- checksums.yaml +4 -4
- data/helpers/.php_cs.cache +1 -0
- data/helpers/composer.lock +48 -48
- data/helpers/vendor/autoload.php +7 -0
- data/helpers/vendor/bin/composer +1 -0
- data/helpers/vendor/bin/jsonlint +1 -0
- data/helpers/vendor/bin/php-cs-fixer +1 -0
- data/helpers/vendor/bin/php-parse +1 -0
- data/helpers/vendor/bin/phpstan +1 -0
- data/helpers/vendor/bin/validate-json +1 -0
- data/helpers/vendor/composer/ClassLoader.php +445 -0
- data/helpers/vendor/composer/LICENSE +21 -0
- data/helpers/vendor/composer/autoload_classmap.php +180 -0
- data/helpers/vendor/composer/autoload_files.php +14 -0
- data/helpers/vendor/composer/autoload_namespaces.php +9 -0
- data/helpers/vendor/composer/autoload_psr4.php +39 -0
- data/helpers/vendor/composer/autoload_real.php +70 -0
- data/helpers/vendor/composer/autoload_static.php +371 -0
- data/helpers/vendor/composer/ca-bundle/LICENSE +19 -0
- data/helpers/vendor/composer/ca-bundle/README.md +85 -0
- data/helpers/vendor/composer/ca-bundle/composer.json +54 -0
- data/helpers/vendor/composer/ca-bundle/res/cacert.pem +3507 -0
- data/helpers/vendor/composer/ca-bundle/src/CaBundle.php +310 -0
- data/helpers/vendor/composer/composer/.editorconfig +11 -0
- data/helpers/vendor/composer/composer/.gitattributes +17 -0
- data/helpers/vendor/composer/composer/.gitignore +11 -0
- data/helpers/vendor/composer/composer/CHANGELOG.md +828 -0
- data/helpers/vendor/composer/composer/LICENSE +19 -0
- data/helpers/vendor/composer/composer/PORTING_INFO +39 -0
- data/helpers/vendor/composer/composer/README.md +62 -0
- data/helpers/vendor/composer/composer/bin/compile +31 -0
- data/helpers/vendor/composer/composer/bin/composer +62 -0
- data/helpers/vendor/composer/composer/composer.json +86 -0
- data/helpers/vendor/composer/composer/composer.lock +1800 -0
- data/helpers/vendor/composer/composer/doc/00-intro.md +156 -0
- data/helpers/vendor/composer/composer/doc/01-basic-usage.md +266 -0
- data/helpers/vendor/composer/composer/doc/02-libraries.md +153 -0
- data/helpers/vendor/composer/composer/doc/03-cli.md +941 -0
- data/helpers/vendor/composer/composer/doc/04-schema.md +924 -0
- data/helpers/vendor/composer/composer/doc/05-repositories.md +717 -0
- data/helpers/vendor/composer/composer/doc/06-config.md +299 -0
- data/helpers/vendor/composer/composer/doc/07-community.md +35 -0
- data/helpers/vendor/composer/composer/doc/articles/aliases.md +111 -0
- data/helpers/vendor/composer/composer/doc/articles/autoloader-optimization.md +111 -0
- data/helpers/vendor/composer/composer/doc/articles/custom-installers.md +204 -0
- data/helpers/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md +356 -0
- data/helpers/vendor/composer/composer/doc/articles/http-basic-authentication.md +59 -0
- data/helpers/vendor/composer/composer/doc/articles/plugins.md +290 -0
- data/helpers/vendor/composer/composer/doc/articles/scripts.md +357 -0
- data/helpers/vendor/composer/composer/doc/articles/troubleshooting.md +309 -0
- data/helpers/vendor/composer/composer/doc/articles/vendor-binaries.md +110 -0
- data/helpers/vendor/composer/composer/doc/articles/versions.md +230 -0
- data/helpers/vendor/composer/composer/doc/dev/DefaultPolicy.md +55 -0
- data/helpers/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +50 -0
- data/helpers/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +42 -0
- data/helpers/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +19 -0
- data/helpers/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +32 -0
- data/helpers/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +4 -0
- data/helpers/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +21 -0
- data/helpers/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +21 -0
- data/helpers/vendor/composer/composer/doc/faqs/why-can't-composer-load-repositories-recursively.md +35 -0
- data/helpers/vendor/composer/composer/doc/fixtures/fixtures.md +22 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +158 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +50 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +77 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +50 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +16 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +22 -0
- data/helpers/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +9 -0
- data/helpers/vendor/composer/composer/res/composer-repository-schema.json +110 -0
- data/helpers/vendor/composer/composer/res/composer-schema.json +847 -0
- data/helpers/vendor/composer/composer/src/Composer/Autoload/AutoloadGenerator.php +1013 -0
- data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassLoader.php +445 -0
- data/helpers/vendor/composer/composer/src/Composer/Autoload/ClassMapGenerator.php +222 -0
- data/helpers/vendor/composer/composer/src/Composer/Cache.php +257 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/AboutCommand.php +46 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ArchiveCommand.php +166 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/BaseCommand.php +181 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/BaseDependencyCommand.php +255 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/CheckPlatformReqsCommand.php +162 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ClearCacheCommand.php +74 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ConfigCommand.php +722 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/CreateProjectCommand.php +387 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/DependsCommand.php +57 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/DiagnoseCommand.php +729 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/DumpAutoloadCommand.php +88 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ExecCommand.php +97 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/GlobalCommand.php +111 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/HomeCommand.php +168 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/InitCommand.php +820 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/InstallCommand.php +124 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/LicensesCommand.php +159 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/OutdatedCommand.php +95 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ProhibitsCommand.php +57 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/RemoveCommand.php +163 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/RequireCommand.php +267 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/RunScriptCommand.php +142 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ScriptAliasCommand.php +66 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/SearchCommand.php +83 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/SelfUpdateCommand.php +405 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ShowCommand.php +1015 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/StatusCommand.php +214 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/SuggestsCommand.php +152 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/UpdateCommand.php +228 -0
- data/helpers/vendor/composer/composer/src/Composer/Command/ValidateCommand.php +172 -0
- data/helpers/vendor/composer/composer/src/Composer/Compiler.php +284 -0
- data/helpers/vendor/composer/composer/src/Composer/Composer.php +283 -0
- data/helpers/vendor/composer/composer/src/Composer/Config.php +479 -0
- data/helpers/vendor/composer/composer/src/Composer/Config/ConfigSourceInterface.php +91 -0
- data/helpers/vendor/composer/composer/src/Composer/Config/JsonConfigSource.php +271 -0
- data/helpers/vendor/composer/composer/src/Composer/Console/Application.php +494 -0
- data/helpers/vendor/composer/composer/src/Composer/Console/HtmlOutputFormatter.php +90 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Decisions.php +211 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/DefaultPolicy.php +285 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/GenericRule.php +91 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/InstallOperation.php +66 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasInstalledOperation.php +67 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/MarkAliasUninstalledOperation.php +67 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/OperationInterface.php +42 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/SolverOperation.php +50 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UninstallOperation.php +66 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php +80 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/PolicyInterface.php +27 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Pool.php +378 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Problem.php +257 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Request.php +78 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule.php +268 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Rule2Literals.php +113 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSet.php +176 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetGenerator.php +376 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleSetIterator.php +94 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchChain.php +52 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchGraph.php +144 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/RuleWatchNode.php +113 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Solver.php +874 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverBugException.php +27 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/SolverProblemsException.php +88 -0
- data/helpers/vendor/composer/composer/src/Composer/DependencyResolver/Transaction.php +244 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/ArchiveDownloader.php +135 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/ChangeReportInterface.php +32 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloadManager.php +325 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/DownloaderInterface.php +64 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/DvcsDownloaderInterface.php +32 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/FileDownloader.php +322 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/FilesystemException.php +26 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/FossilDownloader.php +116 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/GitDownloader.php +517 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/GzipDownloader.php +84 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/HgDownloader.php +100 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/PathDownloader.php +224 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php +266 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/PerforceDownloader.php +112 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/PharDownloader.php +36 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/RarDownloader.php +91 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/SvnDownloader.php +225 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/TarDownloader.php +31 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/TransportException.php +53 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsCapableDownloaderInterface.php +32 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/VcsDownloader.php +293 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/XzDownloader.php +60 -0
- data/helpers/vendor/composer/composer/src/Composer/Downloader/ZipDownloader.php +230 -0
- data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/Event.php +103 -0
- data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventDispatcher.php +544 -0
- data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/EventSubscriberInterface.php +48 -0
- data/helpers/vendor/composer/composer/src/Composer/EventDispatcher/ScriptExecutionException.php +20 -0
- data/helpers/vendor/composer/composer/src/Composer/Exception/NoSslException.php +20 -0
- data/helpers/vendor/composer/composer/src/Composer/Factory.php +653 -0
- data/helpers/vendor/composer/composer/src/Composer/IO/BaseIO.php +263 -0
- data/helpers/vendor/composer/composer/src/Composer/IO/BufferIO.php +86 -0
- data/helpers/vendor/composer/composer/src/Composer/IO/ConsoleIO.php +322 -0
- data/helpers/vendor/composer/composer/src/Composer/IO/IOInterface.php +207 -0
- data/helpers/vendor/composer/composer/src/Composer/IO/NullIO.php +129 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer.php +1803 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryInstaller.php +214 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/BinaryPresenceInterface.php +30 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/InstallationManager.php +326 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvent.php +161 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerEvents.php +43 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/InstallerInterface.php +79 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/LibraryInstaller.php +232 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/MetapackageInstaller.php +100 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/NoopInstaller.php +88 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvent.php +65 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/PackageEvents.php +75 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php +144 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/PearInstaller.php +84 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/PluginInstaller.php +84 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/ProjectInstaller.php +99 -0
- data/helpers/vendor/composer/composer/src/Composer/Installer/SuggestedPackagesReporter.php +151 -0
- data/helpers/vendor/composer/composer/src/Composer/Json/JsonFile.php +306 -0
- data/helpers/vendor/composer/composer/src/Composer/Json/JsonFormatter.php +134 -0
- data/helpers/vendor/composer/composer/src/Composer/Json/JsonManipulator.php +522 -0
- data/helpers/vendor/composer/composer/src/Composer/Json/JsonValidationException.php +34 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/AliasPackage.php +414 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFilter.php +44 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchivableFilesFinder.php +105 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiveManager.php +183 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ArchiverInterface.php +43 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/BaseExcludeFilter.php +148 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ComposerExcludeFilter.php +31 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/GitExcludeFilter.php +79 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/HgExcludeFilter.php +107 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/PharArchiver.php +97 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Archiver/ZipArchiver.php +74 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/BasePackage.php +251 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Comparer/Comparer.php +129 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackage.php +199 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/CompletePackageInterface.php +95 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Dumper/ArrayDumper.php +151 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Link.php +128 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ArrayLoader.php +290 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Loader/InvalidPackageException.php +46 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Loader/JsonLoader.php +45 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Loader/LoaderInterface.php +30 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Loader/RootPackageLoader.php +264 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Loader/ValidatingArrayLoader.php +499 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Locker.php +438 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Package.php +612 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/PackageInterface.php +389 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/RootAliasPackage.php +173 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/RootPackage.php +136 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/RootPackageInterface.php +142 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionGuesser.php +302 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionParser.php +81 -0
- data/helpers/vendor/composer/composer/src/Composer/Package/Version/VersionSelector.php +176 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/Capability.php +23 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/Capability/CommandProvider.php +33 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/Capable.php +43 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/CommandEvent.php +88 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginEvents.php +61 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginInterface.php +39 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/PluginManager.php +406 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/PreCommandRunEvent.php +68 -0
- data/helpers/vendor/composer/composer/src/Composer/Plugin/PreFileDownloadEvent.php +78 -0
- data/helpers/vendor/composer/composer/src/Composer/Question/StrictConfirmationQuestion.php +94 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/ArrayRepository.php +208 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/ArtifactRepository.php +107 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/BaseRepository.php +157 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/ComposerRepository.php +833 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/CompositeRepository.php +164 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/ConfigurableRepositoryInterface.php +23 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/FilesystemRepository.php +97 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledArrayRepository.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledFilesystemRepository.php +22 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/InstalledRepositoryInterface.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/InvalidRepositoryException.php +22 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/PackageRepository.php +61 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/PathRepository.php +190 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php +82 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php +67 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php +101 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php +164 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php +139 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php +60 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php +50 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php +317 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php +94 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php +50 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/PearRepository.php +198 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/PlatformRepository.php +342 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryFactory.php +169 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryInterface.php +74 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/RepositoryManager.php +177 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/RepositorySecurityException.php +22 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/BitbucketDriver.php +452 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/FossilDriver.php +243 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitBitbucketDriver.php +91 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitDriver.php +226 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitHubDriver.php +476 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/GitLabDriver.php +518 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgBitbucketDriver.php +91 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/HgDriver.php +236 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/PerforceDriver.php +186 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/SvnDriver.php +397 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriver.php +175 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/Vcs/VcsDriverInterface.php +117 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/VcsRepository.php +410 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/VersionCacheInterface.php +23 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/WritableArrayRepository.php +66 -0
- data/helpers/vendor/composer/composer/src/Composer/Repository/WritableRepositoryInterface.php +54 -0
- data/helpers/vendor/composer/composer/src/Composer/Script/CommandEvent.php +22 -0
- data/helpers/vendor/composer/composer/src/Composer/Script/Event.php +133 -0
- data/helpers/vendor/composer/composer/src/Composer/Script/PackageEvent.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Script/ScriptEvents.php +193 -0
- data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Keys.php +36 -0
- data/helpers/vendor/composer/composer/src/Composer/SelfUpdate/Versions.php +75 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/AuthHelper.php +63 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Bitbucket.php +245 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/ComposerMirror.php +57 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/ConfigValidator.php +191 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/ErrorHandler.php +82 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Filesystem.php +715 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Git.php +374 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/GitHub.php +180 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/GitLab.php +172 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Hg.php +94 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/IniHelper.php +64 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/NoProxyPattern.php +147 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/PackageSorter.php +92 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Perforce.php +579 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Platform.php +92 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/ProcessExecutor.php +193 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/RemoteFilesystem.php +1126 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Silencer.php +78 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/SpdxLicense.php +24 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/StreamContextFactory.php +177 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Svn.php +381 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/TlsHelper.php +202 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Url.php +55 -0
- data/helpers/vendor/composer/composer/src/Composer/Util/Zip.php +108 -0
- data/helpers/vendor/composer/composer/src/Composer/XdebugHandler.php +31 -0
- data/helpers/vendor/composer/composer/src/bootstrap.php +24 -0
- data/helpers/vendor/composer/installed.json +2375 -0
- data/helpers/vendor/composer/semver/CHANGELOG.md +72 -0
- data/helpers/vendor/composer/semver/LICENSE +19 -0
- data/helpers/vendor/composer/semver/README.md +70 -0
- data/helpers/vendor/composer/semver/composer.json +58 -0
- data/helpers/vendor/composer/semver/src/Comparator.php +111 -0
- data/helpers/vendor/composer/semver/src/Constraint/AbstractConstraint.php +63 -0
- data/helpers/vendor/composer/semver/src/Constraint/Constraint.php +219 -0
- data/helpers/vendor/composer/semver/src/Constraint/ConstraintInterface.php +32 -0
- data/helpers/vendor/composer/semver/src/Constraint/EmptyConstraint.php +59 -0
- data/helpers/vendor/composer/semver/src/Constraint/MultiConstraint.php +120 -0
- data/helpers/vendor/composer/semver/src/Semver.php +127 -0
- data/helpers/vendor/composer/semver/src/VersionParser.php +540 -0
- data/helpers/vendor/composer/spdx-licenses/.php_cs.dist +59 -0
- data/helpers/vendor/composer/spdx-licenses/CHANGELOG.md +94 -0
- data/helpers/vendor/composer/spdx-licenses/LICENSE +19 -0
- data/helpers/vendor/composer/spdx-licenses/README.md +69 -0
- data/helpers/vendor/composer/spdx-licenses/composer.json +56 -0
- data/helpers/vendor/composer/spdx-licenses/res/spdx-exceptions.json +110 -0
- data/helpers/vendor/composer/spdx-licenses/res/spdx-licenses.json +1982 -0
- data/helpers/vendor/composer/spdx-licenses/src/SpdxLicenses.php +343 -0
- data/helpers/vendor/composer/xdebug-handler/CHANGELOG.md +59 -0
- data/helpers/vendor/composer/xdebug-handler/LICENSE +21 -0
- data/helpers/vendor/composer/xdebug-handler/README.md +288 -0
- data/helpers/vendor/composer/xdebug-handler/composer.json +40 -0
- data/helpers/vendor/composer/xdebug-handler/src/PhpConfig.php +73 -0
- data/helpers/vendor/composer/xdebug-handler/src/Process.php +170 -0
- data/helpers/vendor/composer/xdebug-handler/src/Status.php +163 -0
- data/helpers/vendor/composer/xdebug-handler/src/XdebugHandler.php +565 -0
- data/helpers/vendor/doctrine/annotations/CHANGELOG.md +162 -0
- data/helpers/vendor/doctrine/annotations/LICENSE +19 -0
- data/helpers/vendor/doctrine/annotations/README.md +17 -0
- data/helpers/vendor/doctrine/annotations/composer.json +43 -0
- data/helpers/vendor/doctrine/annotations/docs/en/annotations.rst +223 -0
- data/helpers/vendor/doctrine/annotations/docs/en/custom.rst +341 -0
- data/helpers/vendor/doctrine/annotations/docs/en/index.rst +90 -0
- data/helpers/vendor/doctrine/annotations/docs/en/sidebar.rst +6 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation.php +79 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attribute.php +47 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attributes.php +37 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Enum.php +84 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php +54 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Required.php +33 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php +107 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php +197 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php +409 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php +174 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php +262 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php +147 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php +1197 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php +290 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php +119 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PhpParser.php +91 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Reader.php +89 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php +127 -0
- data/helpers/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php +194 -0
- data/helpers/vendor/doctrine/annotations/phpbench.json.dist +4 -0
- data/helpers/vendor/doctrine/annotations/phpstan.neon +14 -0
- data/helpers/vendor/doctrine/lexer/.doctrine-project.json +17 -0
- data/helpers/vendor/doctrine/lexer/.github/FUNDING.yml +3 -0
- data/helpers/vendor/doctrine/lexer/.gitignore +2 -0
- data/helpers/vendor/doctrine/lexer/LICENSE +19 -0
- data/helpers/vendor/doctrine/lexer/README.md +7 -0
- data/helpers/vendor/doctrine/lexer/composer.json +36 -0
- data/helpers/vendor/doctrine/lexer/docs/en/dql-parser.rst +294 -0
- data/helpers/vendor/doctrine/lexer/docs/en/index.rst +53 -0
- data/helpers/vendor/doctrine/lexer/docs/en/sidebar.rst +6 -0
- data/helpers/vendor/doctrine/lexer/docs/en/simple-parser-example.rst +102 -0
- data/helpers/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php +332 -0
- data/helpers/vendor/doctrine/lexer/phpunit.xml.dist +26 -0
- data/helpers/vendor/doctrine/lexer/tests/Doctrine/Common/Lexer/AbstractLexerTest.php +268 -0
- data/helpers/vendor/doctrine/lexer/tests/Doctrine/Common/Lexer/ConcreteLexer.php +49 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/.php_cs.dist +48 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/CHANGELOG.md +2844 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/CONTRIBUTING.md +41 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/LICENSE +20 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/README.rst +2079 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/UPGRADE.md +184 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/box.json.dist +34 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/composer.json +81 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/bin-download.sh +23 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/build.sh +22 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/check-shell-scripts.sh +21 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/ci-integration.sh +8 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/composer.json +19 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/info-extractor.php +14 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/dev-tools/trigger-website.sh +28 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/doc/COOKBOOK-FIXERS.md +523 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/doc/checkstyle.xsd +44 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/doc/junit-10.xsd +135 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/doc/schema.json +47 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/doc/xml.xsd +83 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/php-cs-fixer +79 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractAlignFixerHelper.php +125 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractDoctrineAnnotationFixer.php +224 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractFixer.php +227 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractFopenFlagFixer.php +127 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractFunctionReferenceFixer.php +68 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractLinesBeforeNamespaceFixer.php +110 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractNoUselessElseFixer.php +211 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractPhpdocTypesFixer.php +137 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractProxyFixer.php +122 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/AbstractPsrAutoloadingFixer.php +87 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/Cache.php +145 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheInterface.php +56 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/CacheManagerInterface.php +35 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/Directory.php +53 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/DirectoryInterface.php +26 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/FileCacheManager.php +125 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandler.php +99 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/FileHandlerInterface.php +36 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/NullCacheManager.php +30 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/Signature.php +111 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Cache/SignatureInterface.php +53 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Config.php +280 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigInterface.php +196 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidConfigurationException.php +40 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidFixerConfigurationException.php +54 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/InvalidForEnvFixerConfigurationException.php +22 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ConfigurationException/RequiredFixerConfigurationException.php +22 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Application.php +114 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeCommand.php +408 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/DescribeNameNotFoundException.php +57 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommand.php +270 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/FixCommandExitStatusCalculator.php +57 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/HelpCommand.php +622 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/ReadmeCommand.php +294 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Command/SelfUpdateCommand.php +176 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/ConfigurationResolver.php +936 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ErrorOutput.php +154 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/NullOutput.php +23 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ProcessOutput.php +147 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/Output/ProcessOutputInterface.php +21 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClient.php +52 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/GithubClientInterface.php +24 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/NewVersionChecker.php +117 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/SelfUpdate/NewVersionCheckerInterface.php +46 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Console/WarningsDetector.php +74 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/DiffConsoleFormatter.php +102 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/DifferInterface.php +31 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/FullDiffer.php +48 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/NullDiffer.php +27 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/SebastianBergmannDiffer.php +39 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/SebastianBergmannShortDiffer.php +39 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Differ/UnifiedDiffer.php +43 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Annotation.php +307 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/DocBlock.php +187 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Line.php +144 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/ShortDescription.php +63 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/Tag.php +113 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/DocBlock/TagComparator.php +60 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Token.php +99 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Doctrine/Annotation/Tokens.php +379 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Error/Error.php +119 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Error/ErrorsManager.php +82 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FileReader.php +87 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FileRemoval.php +80 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Finder.php +36 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/BacktickToShellExecFixer.php +147 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/EregToPregFixer.php +184 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/MbStrFunctionsFixer.php +112 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoAliasFunctionsFixer.php +217 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/NoMixedEchoPrintFixer.php +163 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/PowToExponentiationFixer.php +214 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/RandomApiMigrationFixer.php +167 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Alias/SetTypeToCastFixer.php +255 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/ArraySyntaxFixer.php +150 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoMultilineWhitespaceAroundDoubleArrowFixer.php +86 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoTrailingCommaInSinglelineArrayFixer.php +90 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NoWhitespaceBeforeCommaInArrayFixer.php +154 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/NormalizeIndexBraceFixer.php +59 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/TrailingCommaInMultilineArrayFixer.php +138 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/TrimArraySpacesFixer.php +104 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ArrayNotation/WhitespaceAfterCommaInArrayFixer.php +106 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/BracesFixer.php +1057 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/EncodingFixer.php +93 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/NonPrintableCharacterFixer.php +171 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/Psr0Fixer.php +169 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Basic/Psr4Fixer.php +100 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseConstantsFixer.php +102 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseKeywordsFixer.php +75 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/LowercaseStaticReferenceFixer.php +105 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/MagicConstantCasingFixer.php +98 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/MagicMethodCasingFixer.php +232 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeFunctionCasingFixer.php +107 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Casing/NativeFunctionTypeDeclarationCasingFixer.php +179 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/CastSpacesFixer.php +128 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/LowercaseCastFixer.php +76 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/ModernizeTypesCastingFixer.php +159 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/NoShortBoolCastFixer.php +107 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/NoUnsetCastFixer.php +91 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/CastNotation/ShortScalarCastFixer.php +76 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassAttributesSeparationFixer.php +394 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ClassDefinitionFixer.php +448 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalClassFixer.php +60 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/FinalInternalClassFixer.php +198 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/MethodSeparationFixer.php +73 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoBlankLinesAfterClassOpeningFixer.php +92 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoNullPropertyInitializationFixer.php +98 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoPhp4ConstructorFixer.php +389 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/NoUnneededFinalMethodFixer.php +139 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedClassElementsFixer.php +502 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/OrderedInterfacesFixer.php +231 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/ProtectedToPrivateFixer.php +137 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SelfAccessorFixer.php +194 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleClassElementPerStatementFixer.php +226 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/SingleTraitInsertPerStatementFixer.php +104 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassNotation/VisibilityRequiredFixer.php +193 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ClassUsage/DateTimeImmutableFixer.php +164 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/CommentToPhpdocFixer.php +191 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/HashToSlashCommentFixer.php +58 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/HeaderCommentFixer.php +356 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/MultilineCommentOpeningClosingFixer.php +95 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/NoEmptyCommentFixer.php +168 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/NoTrailingWhitespaceInCommentFixer.php +75 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php +168 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php +51 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurationDefinitionFixerInterface.php +28 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php +275 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ElseifFixer.php +91 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/IncludeFixer.php +151 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoAlternativeSyntaxFixer.php +226 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoBreakCommentFixer.php +366 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoSuperfluousElseifFixer.php +101 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoTrailingCommaInListCallFixer.php +74 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededControlParenthesesFixer.php +189 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUnneededCurlyBracesFixer.php +110 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/NoUselessElseFixer.php +118 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchCaseSemicolonToColonFixer.php +104 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/SwitchCaseSpaceFixer.php +92 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/YodaStyleFixer.php +731 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DefinedFixerInterface.php +29 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DeprecatedFixerInterface.php +26 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationArrayAssignmentFixer.php +103 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationBracesFixer.php +129 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationIndentationFixer.php +202 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/DoctrineAnnotation/DoctrineAnnotationSpacesFixer.php +347 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FixerInterface.php +81 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/CombineNestedDirnameFixer.php +240 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FopenFlagOrderFixer.php +131 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FopenFlagsFixer.php +112 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FunctionDeclarationFixer.php +200 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/FunctionTypehintSpaceFixer.php +87 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/ImplodeCallFixer.php +150 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/MethodArgumentSpaceFixer.php +512 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NativeFunctionInvocationFixer.php +415 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoSpacesAfterFunctionNameFixer.php +182 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/NoUnreachableDefaultArgumentValueFixer.php +205 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/PhpdocToReturnTypeFixer.php +326 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/ReturnTypeDeclarationFixer.php +123 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/StaticLambdaFixer.php +134 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/FunctionNotation/VoidReturnFixer.php +263 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/FullyQualifiedStrictTypesFixer.php +178 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoLeadingImportSlashFixer.php +98 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/NoUnusedImportsFixer.php +255 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/OrderedImportsFixer.php +527 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php +252 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php +145 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php +252 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php +164 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveUnsetsFixer.php +192 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DeclareEqualNormalizeFixer.php +132 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/DirConstantFixer.php +130 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ErrorSuppressionFixer.php +176 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ExplicitIndirectVariableFixer.php +91 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/FunctionToConstantFixer.php +238 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/IsNullFixer.php +202 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/NoUnsetOnPropertyFixer.php +232 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/SilencedDeprecationErrorFixer.php +55 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ListNotation/ListSyntaxFixer.php +150 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/BlankLineAfterNamespaceFixer.php +144 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/NoBlankLinesBeforeNamespaceFixer.php +63 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/NoLeadingNamespaceWhitespaceFixer.php +101 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/NamespaceNotation/SingleBlankLineBeforeNamespaceFixer.php +69 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Naming/NoHomoglyphNamesFixer.php +244 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/AlignDoubleArrowFixerHelper.php +152 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/AlignEqualsFixerHelper.php +78 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/BinaryOperatorSpacesFixer.php +839 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/ConcatSpaceFixer.php +154 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/IncrementStyleFixer.php +208 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/LogicalOperatorsFixer.php +76 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NewWithBracesFixer.php +151 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NotOperatorWithSpaceFixer.php +80 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/NotOperatorWithSuccessorSpaceFixer.php +78 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/ObjectOperatorWithoutWhitespaceFixer.php +67 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/PreIncrementFixer.php +56 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/StandardizeIncrementFixer.php +169 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/StandardizeNotEqualsFixer.php +56 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryOperatorSpacesFixer.php +112 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/TernaryToNullCoalescingFixer.php +218 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Operator/UnaryOperatorSpacesFixer.php +68 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/BlankLineAfterOpeningTagFixer.php +96 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php +134 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php +73 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php +73 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoShortEchoTagFixer.php +70 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php +223 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDedicateAssertFixer.php +454 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDedicateAssertInternalTypeFixer.php +200 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitExpectationFixer.php +273 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitFqcnAnnotationFixer.php +104 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitInternalClassFixer.php +280 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMethodCasingFixer.php +274 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMockFixer.php +150 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitMockShortWillReturnFixer.php +146 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitNamespacedFixer.php +220 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitNoExpectationAnnotationFixer.php +300 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitOrderedCoversFixer.php +106 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitSetUpTearDownVisibilityFixer.php +142 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitSizeClassFixer.php +279 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitStrictFixer.php +158 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTargetVersion.php +61 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestAnnotationFixer.php +561 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestCaseStaticMethodCallsFixer.php +474 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitTestClassRequiresCoversFixer.php +152 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/AlignMultilineCommentFixer.php +170 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/GeneralPhpdocAnnotationRemoveFixer.php +117 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoBlankLinesAfterPhpdocFixer.php +112 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoEmptyPhpdocFixer.php +70 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/NoSuperfluousPhpdocTagsFixer.php +330 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAddMissingParamAnnotationFixer.php +286 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAlignFixer.php +431 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocAnnotationWithoutDotFixer.php +117 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocIndentFixer.php +144 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocInlineTagFixer.php +96 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoAccessFixer.php +59 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoAliasTagFixer.php +176 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoEmptyReturnFixer.php +125 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoPackageFixer.php +59 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocNoUselessInheritdocFixer.php +195 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocOrderFixer.php +175 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocReturnSelfReferenceFixer.php +227 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocScalarFixer.php +103 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSeparationFixer.php +181 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSingleLineVarSpacingFixer.php +106 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocSummaryFixer.php +93 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocToCommentFixer.php +94 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTrimConsecutiveBlankLineSeparationFixer.php +215 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTrimFixer.php +131 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTypesFixer.php +147 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocTypesOrderFixer.php +212 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocVarAnnotationCorrectOrderFixer.php +67 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Phpdoc/PhpdocVarWithoutNameFixer.php +101 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/BlankLineBeforeReturnFixer.php +61 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/NoUselessReturnFixer.php +111 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/ReturnAssignmentFixer.php +362 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/ReturnNotation/SimplifiedNullReturnFixer.php +173 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/MultilineWhitespaceBeforeSemicolonsFixer.php +293 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoEmptyStatementFixer.php +163 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoMultilineWhitespaceBeforeSemicolonsFixer.php +68 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/NoSinglelineWhitespaceBeforeSemicolonsFixer.php +65 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/SemicolonAfterInstructionFixer.php +63 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Semicolon/SpaceAfterSemicolonFixer.php +143 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/DeclareStrictTypesFixer.php +166 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/StrictComparisonFixer.php +76 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Strict/StrictParamFixer.php +154 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/EscapeImplicitBackslashesFixer.php +166 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/ExplicitStringVariableFixer.php +159 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/HeredocToNowdocFixer.php +107 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/NoBinaryStringFixer.php +65 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/SimpleToComplexStringVariableFixer.php +112 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/SingleQuoteFixer.php +106 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/StringNotation/StringLineEndingFixer.php +85 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/ArrayIndentationFixer.php +376 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/BlankLineBeforeStatementFixer.php +330 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/CompactNullableTypehintFixer.php +79 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/HeredocIndentationFixer.php +150 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/IndentationTypeFixer.php +147 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/LineEndingFixer.php +92 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/MethodChainingIndentationFixer.php +205 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoExtraBlankLinesFixer.php +465 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoExtraConsecutiveBlankLinesFixer.php +73 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoSpacesAroundOffsetFixer.php +107 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoSpacesInsideParenthesisFixer.php +109 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoTrailingWhitespaceFixer.php +113 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/NoWhitespaceInBlankLineFixer.php +103 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/Whitespace/SingleBlankLineAtEofFixer.php +70 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Fixer/WhitespacesAwareFixerInterface.php +23 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AliasedFixerOption.php +103 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AliasedFixerOptionBuilder.php +98 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/AllowedValueSubset.php +53 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/DeprecatedFixerOption.php +100 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/DeprecatedFixerOptionInterface.php +21 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolver.php +129 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolverInterface.php +28 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerConfigurationResolverRootless.php +99 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOption.php +176 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionBuilder.php +149 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/FixerOptionInterface.php +53 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerConfiguration/InvalidOptionsForEnvException.php +24 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/CodeSample.php +55 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/CodeSampleInterface.php +29 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FileSpecificCodeSample.php +69 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FileSpecificCodeSampleInterface.php +26 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FixerDefinition.php +93 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/FixerDefinitionInterface.php +55 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificCodeSample.php +67 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificCodeSampleInterface.php +26 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecification.php +75 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerDefinition/VersionSpecificationInterface.php +26 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerFactory.php +259 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerFileProcessedEvent.php +59 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/FixerNameValidator.php +36 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Indicator/PhpUnitTestCaseIndicator.php +76 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/CachingLinter.php +75 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/Linter.php +64 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/LinterInterface.php +44 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/LintingException.php +20 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/LintingResultInterface.php +24 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLinter.php +149 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLinterProcessBuilder.php +50 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/ProcessLintingResult.php +59 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/TokenizerLinter.php +70 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/TokenizerLintingResult.php +48 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Linter/UnavailableLinterException.php +22 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/PharChecker.php +39 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/PharCheckerInterface.php +26 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Preg.php +189 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/PregException.php +24 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/CheckstyleReporter.php +75 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/GitlabReporter.php +56 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/JsonReporter.php +71 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/JunitReporter.php +148 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/ReportSummary.php +123 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/ReporterFactory.php +102 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/ReporterInterface.php +33 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/TextReporter.php +110 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Report/XmlReporter.php +146 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/RuleSet.php +531 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/RuleSetInterface.php +59 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/FileCachingLintingIterator.php +80 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/FileFilterIterator.php +119 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/FileLintingIterator.php +68 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Runner/Runner.php +308 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/StdinFileInfo.php +172 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/AbstractFixerTestCase.php +36 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/AbstractIntegrationTestCase.php +36 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/AccessibleObject.php +93 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Test/IntegrationCase.php +140 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/AbstractTransformer.php +42 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/ArgumentAnalysis.php +109 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/NamespaceAnalysis.php +127 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/NamespaceUseAnalysis.php +147 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/StartEndTokenAwareAnalysis.php +30 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/Analysis/TypeAnalysis.php +125 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/ArgumentsAnalyzer.php +143 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/CommentsAnalyzer.php +305 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/FunctionsAnalyzer.php +99 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/NamespaceUsesAnalyzer.php +111 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Analyzer/NamespacesAnalyzer.php +73 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/CT.php +95 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/CodeHasher.php +38 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Generator/NamespacedStringTokenGenerator.php +43 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Resolver/TypeShortNameResolver.php +99 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Token.php +618 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Tokens.php +1452 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/TokensAnalyzer.php +695 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ArrayTypehintTransformer.php +61 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/BraceClassInstantiationTransformer.php +88 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ClassConstantTransformer.php +64 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/CurlyBraceTransformer.php +223 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ImportTransformer.php +67 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NamespaceOperatorTransformer.php +61 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/NullableTypeTransformer.php +70 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/ReturnRefTransformer.php +57 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/SquareBraceTransformer.php +200 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeAlternationTransformer.php +86 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/TypeColonTransformer.php +83 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/UseTransformer.php +111 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformer/WhitespacyCommentTransformer.php +71 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/TransformerInterface.php +74 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Tokenizer/Transformers.php +113 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ToolInfo.php +109 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/ToolInfoInterface.php +31 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/Utils.php +193 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/WhitespacesFixerConfig.php +56 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/src/WordMatcher.php +57 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/AbstractFixerTestCase.php +232 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/AbstractIntegrationCaseFactory.php +263 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/AbstractIntegrationTestCase.php +431 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/Assert/AssertTokensTrait.php +48 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCase.php +164 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCaseFactory.php +22 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/IntegrationCaseFactoryInterface.php +30 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/Test/InternalIntegrationCaseFactory.php +35 -0
- data/helpers/vendor/friendsofphp/php-cs-fixer/tests/TestCase.php +49 -0
- data/helpers/vendor/jean85/pretty-package-versions/composer.json +43 -0
- data/helpers/vendor/jean85/pretty-package-versions/src/PrettyVersions.php +15 -0
- data/helpers/vendor/jean85/pretty-package-versions/src/Version.php +78 -0
- data/helpers/vendor/justinrainbow/json-schema/.gitattributes +5 -0
- data/helpers/vendor/justinrainbow/json-schema/.php_cs.dist +30 -0
- data/helpers/vendor/justinrainbow/json-schema/LICENSE +21 -0
- data/helpers/vendor/justinrainbow/json-schema/README.md +206 -0
- data/helpers/vendor/justinrainbow/json-schema/bin/validate-json +251 -0
- data/helpers/vendor/justinrainbow/json-schema/composer.json +76 -0
- data/helpers/vendor/justinrainbow/json-schema/demo/README.md +14 -0
- data/helpers/vendor/justinrainbow/json-schema/demo/data.json +3 -0
- data/helpers/vendor/justinrainbow/json-schema/demo/demo.php +18 -0
- data/helpers/vendor/justinrainbow/json-schema/demo/schema.json +3 -0
- data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-03.json +174 -0
- data/helpers/vendor/justinrainbow/json-schema/dist/schema/json-schema-draft-04.json +150 -0
- data/helpers/vendor/justinrainbow/json-schema/phpunit.xml.dist +26 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/BaseConstraint.php +148 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/CollectionConstraint.php +121 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Constraint.php +213 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ConstraintInterface.php +65 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/EnumConstraint.php +54 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/Factory.php +220 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/FormatConstraint.php +214 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/NumberConstraint.php +81 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/ObjectConstraint.php +192 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/SchemaConstraint.php +94 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/StringConstraint.php +60 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/LooseTypeCheck.php +68 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/StrictTypeCheck.php +40 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeCheck/TypeCheckInterface.php +18 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php +261 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/UndefinedConstraint.php +413 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Entity/JsonPointer.php +161 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ExceptionInterface.php +7 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidArgumentException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidConfigException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSchemaMediaTypeException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/InvalidSourceUriException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/JsonDecodingException.php +40 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ResourceNotFoundException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/RuntimeException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UnresolvableJsonPointerException.php +19 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/UriResolverException.php +17 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Exception/ValidationException.php +14 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Iterator/ObjectIterator.php +149 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Rfc3339.php +30 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorage.php +169 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/SchemaStorageInterface.php +41 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/AbstractRetriever.php +34 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/Curl.php +83 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/FileGetContents.php +93 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/PredefinedArray.php +56 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/Retrievers/UriRetrieverInterface.php +36 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriResolver.php +175 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Uri/UriRetriever.php +349 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriResolverInterface.php +26 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/UriRetrieverInterface.php +26 -0
- data/helpers/vendor/justinrainbow/json-schema/src/JsonSchema/Validator.php +90 -0
- data/helpers/vendor/nette/bootstrap/composer.json +52 -0
- data/helpers/vendor/nette/bootstrap/contributing.md +33 -0
- data/helpers/vendor/nette/bootstrap/license.md +60 -0
- data/helpers/vendor/nette/bootstrap/readme.md +30 -0
- data/helpers/vendor/nette/bootstrap/src/Bootstrap/Configurator.php +327 -0
- data/helpers/vendor/nette/di/.phpstorm.meta.php +8 -0
- data/helpers/vendor/nette/di/composer.json +43 -0
- data/helpers/vendor/nette/di/contributing.md +33 -0
- data/helpers/vendor/nette/di/license.md +60 -0
- data/helpers/vendor/nette/di/readme.md +348 -0
- data/helpers/vendor/nette/di/src/Bridges/DITracy/ContainerPanel.php +90 -0
- data/helpers/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.panel.phtml +81 -0
- data/helpers/vendor/nette/di/src/Bridges/DITracy/templates/ContainerPanel.tab.phtml +11 -0
- data/helpers/vendor/nette/di/src/DI/Autowiring.php +151 -0
- data/helpers/vendor/nette/di/src/DI/Compiler.php +326 -0
- data/helpers/vendor/nette/di/src/DI/CompilerExtension.php +171 -0
- data/helpers/vendor/nette/di/src/DI/Config/Adapter.php +28 -0
- data/helpers/vendor/nette/di/src/DI/Config/Adapters/NeonAdapter.php +130 -0
- data/helpers/vendor/nette/di/src/DI/Config/Adapters/PhpAdapter.php +38 -0
- data/helpers/vendor/nette/di/src/DI/Config/DefinitionSchema.php +254 -0
- data/helpers/vendor/nette/di/src/DI/Config/Helpers.php +47 -0
- data/helpers/vendor/nette/di/src/DI/Config/Loader.php +135 -0
- data/helpers/vendor/nette/di/src/DI/Container.php +312 -0
- data/helpers/vendor/nette/di/src/DI/ContainerBuilder.php +415 -0
- data/helpers/vendor/nette/di/src/DI/ContainerLoader.php +125 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/AccessorDefinition.php +122 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/Definition.php +227 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/FactoryDefinition.php +303 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/ImportedDefinition.php +57 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/LocatorDefinition.php +171 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/Reference.php +65 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/ServiceDefinition.php +274 -0
- data/helpers/vendor/nette/di/src/DI/Definitions/Statement.php +72 -0
- data/helpers/vendor/nette/di/src/DI/DependencyChecker.php +176 -0
- data/helpers/vendor/nette/di/src/DI/DynamicParameter.php +20 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/ConstantsExtension.php +26 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/DIExtension.php +134 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/DecoratorExtension.php +77 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/ExtensionsExtension.php +42 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/InjectExtension.php +157 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/ParametersExtension.php +64 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/PhpExtension.php +53 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/SearchExtension.php +144 -0
- data/helpers/vendor/nette/di/src/DI/Extensions/ServicesExtension.php +244 -0
- data/helpers/vendor/nette/di/src/DI/Helpers.php +190 -0
- data/helpers/vendor/nette/di/src/DI/PhpGenerator.php +204 -0
- data/helpers/vendor/nette/di/src/DI/Resolver.php +530 -0
- data/helpers/vendor/nette/di/src/DI/exceptions.php +49 -0
- data/helpers/vendor/nette/di/src/compatibility.php +12 -0
- data/helpers/vendor/nette/finder/composer.json +37 -0
- data/helpers/vendor/nette/finder/contributing.md +33 -0
- data/helpers/vendor/nette/finder/license.md +60 -0
- data/helpers/vendor/nette/finder/readme.md +181 -0
- data/helpers/vendor/nette/finder/src/Utils/Finder.php +380 -0
- data/helpers/vendor/nette/neon/composer.json +35 -0
- data/helpers/vendor/nette/neon/contributing.md +33 -0
- data/helpers/vendor/nette/neon/license.md +60 -0
- data/helpers/vendor/nette/neon/readme.md +96 -0
- data/helpers/vendor/nette/neon/src/Neon/Decoder.php +358 -0
- data/helpers/vendor/nette/neon/src/Neon/Encoder.php +84 -0
- data/helpers/vendor/nette/neon/src/Neon/Entity.php +36 -0
- data/helpers/vendor/nette/neon/src/Neon/Exception.php +18 -0
- data/helpers/vendor/nette/neon/src/Neon/Neon.php +42 -0
- data/helpers/vendor/nette/neon/src/neon.php +9 -0
- data/helpers/vendor/nette/neon/syntax.txt +32 -0
- data/helpers/vendor/nette/php-generator/composer.json +34 -0
- data/helpers/vendor/nette/php-generator/contributing.md +33 -0
- data/helpers/vendor/nette/php-generator/license.md +60 -0
- data/helpers/vendor/nette/php-generator/readme.md +521 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/ClassType.php +507 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Closure.php +70 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Constant.php +43 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Factory.php +134 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/GlobalFunction.php +44 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Helpers.php +269 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Method.php +134 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Parameter.php +122 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/PhpFile.php +115 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/PhpLiteral.php +32 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/PhpNamespace.php +199 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Printer.php +252 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Property.php +64 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/PsrPrinter.php +29 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/CommentAware.php +46 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/FunctionLike.php +189 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/NameAware.php +49 -0
- data/helpers/vendor/nette/php-generator/src/PhpGenerator/Traits/VisibilityAware.php +43 -0
- data/helpers/vendor/nette/robot-loader/composer.json +36 -0
- data/helpers/vendor/nette/robot-loader/contributing.md +33 -0
- data/helpers/vendor/nette/robot-loader/license.md +60 -0
- data/helpers/vendor/nette/robot-loader/readme.md +113 -0
- data/helpers/vendor/nette/robot-loader/src/RobotLoader/RobotLoader.php +474 -0
- data/helpers/vendor/nette/schema/composer.json +34 -0
- data/helpers/vendor/nette/schema/contributing.md +33 -0
- data/helpers/vendor/nette/schema/license.md +60 -0
- data/helpers/vendor/nette/schema/readme.md +304 -0
- data/helpers/vendor/nette/schema/src/Schema/Context.php +39 -0
- data/helpers/vendor/nette/schema/src/Schema/DynamicParameter.php +15 -0
- data/helpers/vendor/nette/schema/src/Schema/Elements/AnyOf.php +102 -0
- data/helpers/vendor/nette/schema/src/Schema/Elements/Base.php +137 -0
- data/helpers/vendor/nette/schema/src/Schema/Elements/Structure.php +175 -0
- data/helpers/vendor/nette/schema/src/Schema/Elements/Type.php +152 -0
- data/helpers/vendor/nette/schema/src/Schema/Expect.php +115 -0
- data/helpers/vendor/nette/schema/src/Schema/Helpers.php +86 -0
- data/helpers/vendor/nette/schema/src/Schema/Processor.php +93 -0
- data/helpers/vendor/nette/schema/src/Schema/Schema.php +37 -0
- data/helpers/vendor/nette/schema/src/Schema/ValidationException.php +35 -0
- data/helpers/vendor/nette/utils/.phpstorm.meta.php +19 -0
- data/helpers/vendor/nette/utils/composer.json +42 -0
- data/helpers/vendor/nette/utils/contributing.md +33 -0
- data/helpers/vendor/nette/utils/license.md +60 -0
- data/helpers/vendor/nette/utils/readme.md +41 -0
- data/helpers/vendor/nette/utils/src/Iterators/CachingIterator.php +166 -0
- data/helpers/vendor/nette/utils/src/Iterators/Mapper.php +34 -0
- data/helpers/vendor/nette/utils/src/Utils/ArrayHash.php +94 -0
- data/helpers/vendor/nette/utils/src/Utils/ArrayList.php +110 -0
- data/helpers/vendor/nette/utils/src/Utils/Arrays.php +300 -0
- data/helpers/vendor/nette/utils/src/Utils/Callback.php +164 -0
- data/helpers/vendor/nette/utils/src/Utils/DateTime.php +124 -0
- data/helpers/vendor/nette/utils/src/Utils/FileSystem.php +159 -0
- data/helpers/vendor/nette/utils/src/Utils/Html.php +614 -0
- data/helpers/vendor/nette/utils/src/Utils/IHtmlString.php +20 -0
- data/helpers/vendor/nette/utils/src/Utils/ITranslator.php +23 -0
- data/helpers/vendor/nette/utils/src/Utils/Image.php +623 -0
- data/helpers/vendor/nette/utils/src/Utils/Json.php +60 -0
- data/helpers/vendor/nette/utils/src/Utils/ObjectHelpers.php +186 -0
- data/helpers/vendor/nette/utils/src/Utils/ObjectMixin.php +43 -0
- data/helpers/vendor/nette/utils/src/Utils/Paginator.php +212 -0
- data/helpers/vendor/nette/utils/src/Utils/Random.php +44 -0
- data/helpers/vendor/nette/utils/src/Utils/Reflection.php +303 -0
- data/helpers/vendor/nette/utils/src/Utils/SmartObject.php +121 -0
- data/helpers/vendor/nette/utils/src/Utils/StaticClass.php +36 -0
- data/helpers/vendor/nette/utils/src/Utils/Strings.php +508 -0
- data/helpers/vendor/nette/utils/src/Utils/Validators.php +344 -0
- data/helpers/vendor/nette/utils/src/Utils/exceptions.php +159 -0
- data/helpers/vendor/nikic/php-parser/.gitignore +5 -0
- data/helpers/vendor/nikic/php-parser/.travis.yml +36 -0
- data/helpers/vendor/nikic/php-parser/CHANGELOG.md +683 -0
- data/helpers/vendor/nikic/php-parser/LICENSE +31 -0
- data/helpers/vendor/nikic/php-parser/README.md +225 -0
- data/helpers/vendor/nikic/php-parser/UPGRADE-1.0.md +121 -0
- data/helpers/vendor/nikic/php-parser/UPGRADE-2.0.md +74 -0
- data/helpers/vendor/nikic/php-parser/UPGRADE-3.0.md +160 -0
- data/helpers/vendor/nikic/php-parser/UPGRADE-4.0.md +77 -0
- data/helpers/vendor/nikic/php-parser/bin/php-parse +205 -0
- data/helpers/vendor/nikic/php-parser/composer.json +40 -0
- data/helpers/vendor/nikic/php-parser/doc/0_Introduction.markdown +80 -0
- data/helpers/vendor/nikic/php-parser/doc/2_Usage_of_basic_components.markdown +516 -0
- data/helpers/vendor/nikic/php-parser/doc/README.md +46 -0
- data/helpers/vendor/nikic/php-parser/doc/component/AST_builders.markdown +138 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Constant_expression_evaluation.markdown +115 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Error_handling.markdown +75 -0
- data/helpers/vendor/nikic/php-parser/doc/component/FAQ.markdown +68 -0
- data/helpers/vendor/nikic/php-parser/doc/component/JSON_representation.markdown +131 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Lexer.markdown +159 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Name_resolution.markdown +87 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Performance.markdown +65 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Pretty_printing.markdown +96 -0
- data/helpers/vendor/nikic/php-parser/doc/component/Walking_the_AST.markdown +337 -0
- data/helpers/vendor/nikic/php-parser/grammar/README.md +28 -0
- data/helpers/vendor/nikic/php-parser/grammar/parser.template +106 -0
- data/helpers/vendor/nikic/php-parser/grammar/php5.y +1026 -0
- data/helpers/vendor/nikic/php-parser/grammar/php7.y +1023 -0
- data/helpers/vendor/nikic/php-parser/grammar/rebuildParsers.php +257 -0
- data/helpers/vendor/nikic/php-parser/grammar/tokens.template +17 -0
- data/helpers/vendor/nikic/php-parser/grammar/tokens.y +114 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder.php +13 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php +122 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php +43 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php +74 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php +50 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php +75 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php +129 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php +45 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php +106 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php +132 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php +64 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php +148 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php +60 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php +49 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php +348 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php +277 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Comment.php +167 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php +7 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php +6 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php +226 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Error.php +180 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php +13 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php +46 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php +18 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php +27 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php +164 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php +57 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php +256 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php +101 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer.php +406 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php +250 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/CoaleseEqualTokenEmulator.php +41 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php +53 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php +98 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulatorInterface.php +14 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NameContext.php +285 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node.php +153 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Arg.php +38 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Const_.php +37 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php +9 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php +41 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php +71 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php +40 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php +26 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php +17 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php +12 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php +36 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php +71 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php +31 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php +31 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php +35 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php +39 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php +35 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php +40 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php +35 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php +35 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php +40 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php +36 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php +38 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php +36 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Identifier.php +75 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php +242 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php +50 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php +50 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php +49 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php +7 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php +70 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php +31 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php +73 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php +28 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php +16 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php +141 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php +9 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php +41 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php +62 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php +87 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php +151 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php +105 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php +33 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php +43 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php +47 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php +69 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php +31 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php +39 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php +43 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php +35 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php +31 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php +38 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php +17 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php +78 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php +37 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php +13 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php +38 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php +38 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php +30 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php +52 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php +47 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php +34 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php +17 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php +181 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php +203 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php +81 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php +291 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php +29 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor.php +72 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php +20 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php +48 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php +50 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php +222 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php +25 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser.php +18 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Multiple.php +55 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php +2640 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php +2475 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php +146 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ParserAbstract.php +1014 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php +44 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php +999 -0
- data/helpers/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php +1430 -0
- data/helpers/vendor/nikic/php-parser/phpunit.xml.dist +20 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/ClassTest.php +153 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/FunctionTest.php +114 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/InterfaceTest.php +100 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/MethodTest.php +162 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/NamespaceTest.php +46 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/ParamTest.php +166 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/PropertyTest.php +147 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/TraitTest.php +91 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseAdaptationTest.php +106 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/TraitUseTest.php +52 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Builder/UseTest.php +36 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/BuilderFactoryTest.php +327 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/CodeParsingTest.php +119 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/CodeTestAbstract.php +26 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/CodeTestParser.php +68 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/CommentTest.php +74 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/ConstExprEvaluatorTest.php +130 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/CollectingTest.php +23 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/ErrorHandler/ThrowingTest.php +15 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/ErrorTest.php +104 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Internal/DifferTest.php +65 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/JsonDecoderTest.php +43 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Lexer/EmulativeTest.php +258 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/LexerTest.php +263 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NameContextTest.php +65 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/IdentifierTest.php +29 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/NameTest.php +157 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Scalar/MagicConstTest.php +26 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Scalar/StringTest.php +61 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassConstTest.php +34 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassMethodTest.php +123 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/ClassTest.php +113 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/InterfaceTest.php +44 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Node/Stmt/PropertyTest.php +44 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeAbstractTest.php +325 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeDumperTest.php +106 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeFinderTest.php +59 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeTraverserTest.php +348 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeVisitor/FindingVisitorTest.php +53 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeVisitor/FirstFindingVisitorTest.php +38 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/NodeVisitor/NameResolverTest.php +512 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Parser/MultipleTest.php +94 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Parser/Php5Test.php +13 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/Parser/Php7Test.php +13 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/ParserFactoryTest.php +36 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/ParserTest.php +183 -0
- data/helpers/vendor/nikic/php-parser/test/PhpParser/PrettyPrinterTest.php +307 -0
- data/helpers/vendor/nikic/php-parser/test/bootstrap.php +31 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/addingPropertyType.test +39 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/anonClasses.test +28 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/array_spread.test +29 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/arrow_function.test +97 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/basic.test +190 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/blockConversion.test +29 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/comments.test +52 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/emptyListInsertion.test +110 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/fixup.test +67 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/inlineHtml.test +54 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/insertionOfNullable.test +176 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/listInsertion.test +309 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/listInsertionIndentation.test +17 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/listRemoval.test +41 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/modifierChange.test +33 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/nopCommentAtEnd.test +11 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/removalViaNull.test +194 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/removingPropertyType.test +22 -0
- data/helpers/vendor/nikic/php-parser/test/code/formatPreservation/traitAlias.test +19 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/blockComments.test +36 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/commentAtEndOfClass.test +38 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/comments.test +108 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/errorHandling/eofError.test +36 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/errorHandling/lexerErrors.test +143 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/errorHandling/recovery.test +1417 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arrayDef.test +173 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arrayDestructuring.test +164 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arraySpread.test +432 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/arrow_function.test +145 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/assign.test +381 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/assignNewByRef.test +43 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/cast.test +94 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/clone.test +15 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/closure.test +176 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/comparison.test +129 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/constant_expr.test +694 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/errorSuppress.test +14 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/exit.test +46 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/args.test +109 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constFetch.test +43 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/constantDeref.test +265 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/funcCall.test +158 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/newDeref.test +82 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/objectAccess.test +184 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/simpleArrayAccess.test +72 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/staticCall.test +214 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/staticPropertyFetch.test +113 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/includeAndEval.test +50 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/issetAndEmpty.test +88 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/listReferences.test +92 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/listWithKeys.test +84 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/logic.test +190 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/math.test +313 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/new.test +187 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/newWithoutClass.test +25 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/print.test +14 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/shellExec.test +56 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/ternaryAndCoalesce.test +174 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/trailingCommas.test +140 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/globalNonSimpleVarError.test +27 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/indirectCall.test +511 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/isset.test +87 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/misc.test +129 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/new.test +119 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/uvs/staticProperty.test +123 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/expr/variable.test +67 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/nopPositions.test +13 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/constantString.test +86 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/docString.test +115 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/docStringNewlines.test +77 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/encapsedNegVarOffset.test +82 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/encapsedString.test +344 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocString.test +361 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/flexibleDocStringErrors.test +117 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/float.test +108 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/int.test +61 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/invalidOctal.test +26 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/magicConst.test +47 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/numberSeparators.test +199 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/scalar/unicodeEscape.test +26 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/semiReserved.test +490 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/blocklessStatement.test +130 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/abstract.test +45 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/anonymous.test +214 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/conditional.test +35 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/constModifierErrors.test +137 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/constModifiers.test +77 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/final.test +19 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/implicitPublic.test +110 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/interface.test +40 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/modifier.test +254 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/name.test +266 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/php4Style.test +59 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/propertyTypes.test +70 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/simple.test +185 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/staticMethod.test +175 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/class/trait.test +188 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/const.test +48 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/controlFlow.test +59 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/declare.test +70 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/echo.test +32 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/builtinTypeDeclarations.test +87 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/byRef.test +49 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/conditional.test +35 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/defaultValues.test +173 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/nullableTypes.test +55 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/returnTypes.test +64 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/specialVars.test +57 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/typeDeclarations.test +63 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/variadic.test +134 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/function/variadicDefaultValue.test +31 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/generator/basic.test +319 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/generator/yieldPrecedence.test +253 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/generator/yieldUnaryPrecedence.test +56 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompiler.test +61 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompilerInvalidSyntax.test +6 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompilerOffset.test +36 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/haltCompilerOutermostScope.test +8 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/hashbang.test +26 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/if.test +103 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/inlineHTML.test +33 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/do.test +17 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/for.test +110 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/foreach.test +168 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/loop/while.test +25 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/multiCatch.test +75 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/alias.test +178 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/braced.test +46 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/commentAfterNamespace.test +22 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUse.test +188 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUseErrors.test +113 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUsePositions.test +28 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/groupUseTrailingComma.test +47 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/invalidName.test +87 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/mix.test +103 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/name.test +50 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/nested.test +30 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/notBraced.test +49 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/nsAfterHashbang.test +22 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/outsideStmt.test +60 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/namespace/outsideStmtInvalid.test +109 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/switch.test +81 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/tryCatch.test +144 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/tryWithoutCatch.test +29 -0
- data/helpers/vendor/nikic/php-parser/test/code/parser/stmt/unset.test +26 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/comments.test +67 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/commentsInCommaList.test +53 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/anonymousClass.test +27 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/arrayDestructuring.test +14 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/arraySpread.test +8 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/arrow_function.test +18 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/call.test +13 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/closure.test +18 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/constant_deref.test +13 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/docStrings.test +86 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/include.test +7 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/intrinsics.test +29 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/list.test +19 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/literals.test +158 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/numbers.test +35 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/operators.test +151 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/parentheses.test +86 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/shortArraySyntax.test +11 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/stringEscaping.test +23 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/uvs.test +23 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/variables.test +73 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/expr/yield.test +46 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/inlineHTMLandPHPtest.file-test +58 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/nestedInlineHTML.test +16 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/onlyInlineHTML.file-test +19 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/onlyPHP.file-test +16 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/alias.test +20 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/break_continue.test +13 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/class.test +53 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/class_const.test +20 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/const.test +11 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/declare.test +17 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/do_while.test +10 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/for.test +28 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/foreach.test +28 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/function_signatures.test +43 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/global_static_variables.test +11 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/goto.test +9 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/groupUse.test +16 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/haltCompiler.file-test +27 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/if.test +16 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/multiCatch.test +19 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/namespaces.test +50 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/nullable_types.test +11 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/properties.test +20 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/switch.test +37 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/throw.test +7 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/traitUse.test +25 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/tryCatch.test +24 -0
- data/helpers/vendor/nikic/php-parser/test/code/prettyPrinter/stmt/while.test +10 -0
- data/helpers/vendor/nikic/php-parser/test/updateTests.php +32 -0
- data/helpers/vendor/nikic/php-parser/test_old/run-php-src.sh +4 -0
- data/helpers/vendor/nikic/php-parser/test_old/run.php +273 -0
- data/helpers/vendor/ocramius/package-versions/CHANGELOG.md +120 -0
- data/helpers/vendor/ocramius/package-versions/CONTRIBUTING.md +39 -0
- data/helpers/vendor/ocramius/package-versions/LICENSE +19 -0
- data/helpers/vendor/ocramius/package-versions/README.md +60 -0
- data/helpers/vendor/ocramius/package-versions/composer.json +43 -0
- data/helpers/vendor/ocramius/package-versions/composer.lock +2869 -0
- data/helpers/vendor/ocramius/package-versions/infection.json.dist +11 -0
- data/helpers/vendor/ocramius/package-versions/phpcs.xml.dist +21 -0
- data/helpers/vendor/ocramius/package-versions/src/PackageVersions/FallbackVersions.php +88 -0
- data/helpers/vendor/ocramius/package-versions/src/PackageVersions/Installer.php +201 -0
- data/helpers/vendor/ocramius/package-versions/src/PackageVersions/Versions.php +76 -0
- data/helpers/vendor/paragonie/random_compat/LICENSE +22 -0
- data/helpers/vendor/paragonie/random_compat/build-phar.sh +5 -0
- data/helpers/vendor/paragonie/random_compat/composer.json +34 -0
- data/helpers/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey +5 -0
- data/helpers/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc +11 -0
- data/helpers/vendor/paragonie/random_compat/lib/random.php +32 -0
- data/helpers/vendor/paragonie/random_compat/other/build_phar.php +57 -0
- data/helpers/vendor/paragonie/random_compat/psalm-autoload.php +9 -0
- data/helpers/vendor/paragonie/random_compat/psalm.xml +19 -0
- data/helpers/vendor/php-cs-fixer/diff/ChangeLog.md +7 -0
- data/helpers/vendor/php-cs-fixer/diff/LICENSE +5 -0
- data/helpers/vendor/php-cs-fixer/diff/LICENSE_DIFF +31 -0
- data/helpers/vendor/php-cs-fixer/diff/LICENSE_GECKO +19 -0
- data/helpers/vendor/php-cs-fixer/diff/README.md +13 -0
- data/helpers/vendor/php-cs-fixer/diff/composer.json +41 -0
- data/helpers/vendor/php-cs-fixer/diff/src/GeckoPackages/DiffOutputBuilder/ConfigurationException.php +36 -0
- data/helpers/vendor/php-cs-fixer/diff/src/GeckoPackages/DiffOutputBuilder/UnifiedDiffOutputBuilder.php +295 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Chunk.php +103 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Diff.php +73 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Differ.php +399 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/LCS/LongestCommonSubsequence.php +27 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php +95 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php +74 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Line.php +54 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v1_4/Parser.php +110 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Chunk.php +78 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Diff.php +67 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Differ.php +321 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Exception/Exception.php +15 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Exception/InvalidArgumentException.php +15 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Line.php +44 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/LongestCommonSubsequenceCalculator.php +24 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/MemoryEfficientLongestCommonSubsequenceCalculator.php +81 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/AbstractChunkOutputBuilder.php +56 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/DiffOnlyOutputBuilder.php +63 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/DiffOutputBuilderInterface.php +19 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Output/UnifiedDiffOutputBuilder.php +165 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/Parser.php +106 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v2_0/TimeEfficientLongestCommonSubsequenceCalculator.php +66 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Chunk.php +78 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Diff.php +67 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Differ.php +329 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Exception/ConfigurationException.php +40 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Exception/Exception.php +15 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Exception/InvalidArgumentException.php +15 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Line.php +44 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/LongestCommonSubsequenceCalculator.php +24 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/MemoryEfficientLongestCommonSubsequenceCalculator.php +81 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/AbstractChunkOutputBuilder.php +56 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/DiffOnlyOutputBuilder.php +66 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/DiffOutputBuilderInterface.php +20 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/StrictUnifiedDiffOutputBuilder.php +315 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Output/UnifiedDiffOutputBuilder.php +259 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/Parser.php +106 -0
- data/helpers/vendor/php-cs-fixer/diff/src/v3_0/TimeEfficientLongestCommonSubsequenceCalculator.php +66 -0
- data/helpers/vendor/phpstan/phpdoc-parser/build-abnfgen.sh +25 -0
- data/helpers/vendor/phpstan/phpdoc-parser/composer.json +29 -0
- data/helpers/vendor/phpstan/phpdoc-parser/doc/grammars/phpdoc-method.peg +41 -0
- data/helpers/vendor/phpstan/phpdoc-parser/doc/grammars/phpdoc-param.peg +14 -0
- data/helpers/vendor/phpstan/phpdoc-parser/doc/grammars/type.abnf +243 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprArrayItemNode.php +31 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprArrayNode.php +25 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprFalseNode.php +13 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprFloatNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprIntegerNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprNode.php +10 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprNullNode.php +13 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprStringNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstExprTrueNode.php +13 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/ConstExpr/ConstFetchNode.php +31 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Node.php +10 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/DeprecatedTagValueNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/GenericTagValueNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/InvalidTagValueNode.php +26 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MethodTagValueNode.php +44 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/MethodTagValueParameterNode.php +46 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ParamTagValueNode.php +37 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocChildNode.php +10 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocNode.php +190 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTagNode.php +26 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTagValueNode.php +10 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PhpDocTextNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/PropertyTagValueNode.php +32 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ReturnTagValueNode.php +28 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/TemplateTagValueNode.php +32 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/ThrowsTagValueNode.php +28 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/PhpDoc/VarTagValueNode.php +32 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayShapeItemNode.php +44 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayShapeNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ArrayTypeNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/CallableTypeNode.php +31 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/CallableTypeParameterNode.php +44 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/GenericTypeNode.php +26 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/IdentifierTypeNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/IntersectionTypeNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/NullableTypeNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/ThisTypeNode.php +13 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/TypeNode.php +10 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Ast/Type/UnionTypeNode.php +22 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Lexer/Lexer.php +164 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/ConstExprParser.php +97 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/ParserException.php +69 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/PhpDocParser.php +333 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/TokenIterator.php +191 -0
- data/helpers/vendor/phpstan/phpdoc-parser/src/Parser/TypeParser.php +272 -0
- data/helpers/vendor/phpstan/phpstan/.editorconfig +27 -0
- data/helpers/vendor/phpstan/phpstan/.gitattributes +2 -0
- data/helpers/vendor/phpstan/phpstan/.github/FUNDING.yml +4 -0
- data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Bug_report.md +18 -0
- data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Feature_request.md +8 -0
- data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Function_signature_mismatch.md +6 -0
- data/helpers/vendor/phpstan/phpstan/.github/ISSUE_TEMPLATE/Support_question.md +8 -0
- data/helpers/vendor/phpstan/phpstan/.github/mergeable.yml +20 -0
- data/helpers/vendor/phpstan/phpstan/.gitignore +6 -0
- data/helpers/vendor/phpstan/phpstan/.travis.yml +64 -0
- data/helpers/vendor/phpstan/phpstan/BACKERS.md +65 -0
- data/helpers/vendor/phpstan/phpstan/CODE_OF_CONDUCT.md +74 -0
- data/helpers/vendor/phpstan/phpstan/LICENSE +21 -0
- data/helpers/vendor/phpstan/phpstan/README.md +740 -0
- data/helpers/vendor/phpstan/phpstan/appveyor.yml +70 -0
- data/helpers/vendor/phpstan/phpstan/bin/phpstan +57 -0
- data/helpers/vendor/phpstan/phpstan/build.xml +250 -0
- data/helpers/vendor/phpstan/phpstan/composer.json +75 -0
- data/helpers/vendor/phpstan/phpstan/conf/bleedingEdge.neon +13 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level0.neon +170 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level1.neon +11 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level2.neon +45 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level3.neon +78 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level4.neon +88 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level5.neon +6 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level6.neon +6 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.level7.neon +5 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.levelmax.neon +2 -0
- data/helpers/vendor/phpstan/phpstan/conf/config.neon +759 -0
- data/helpers/vendor/phpstan/phpstan/phpcs.xml +72 -0
- data/helpers/vendor/phpstan/phpstan/phpstan-baseline.neon +85 -0
- data/helpers/vendor/phpstan/phpstan/src/AnalysedCodeException.php +8 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/Analyser.php +409 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/EnsuredNonNullabilityResult.php +37 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/EnsuredNonNullabilityResultExpression.php +33 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/Error.php +77 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/ExpressionContext.php +69 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/ExpressionResult.php +85 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/IgnoredError.php +69 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/NameScope.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/NodeScopeResolver.php +2533 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/OutOfClassScope.php +39 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/Scope.php +3210 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/ScopeContext.php +103 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/ScopeFactory.php +107 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/SpecifiedTypes.php +116 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/StatementExitPoint.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/StatementResult.php +101 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifier.php +660 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifierAwareExtension.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifierContext.php +90 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/TypeSpecifierFactory.php +52 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/UndefinedVariableException.php +31 -0
- data/helpers/vendor/phpstan/phpstan/src/Analyser/VariableTypeHolder.php +60 -0
- data/helpers/vendor/phpstan/phpstan/src/Broker/AnonymousClassNameHelper.php +45 -0
- data/helpers/vendor/phpstan/phpstan/src/Broker/Broker.php +613 -0
- data/helpers/vendor/phpstan/phpstan/src/Broker/BrokerFactory.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Broker/ClassAutoloadingException.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/Broker/ClassNotFoundException.php +22 -0
- data/helpers/vendor/phpstan/phpstan/src/Broker/FunctionNotFoundException.php +22 -0
- data/helpers/vendor/phpstan/phpstan/src/Cache/Cache.php +35 -0
- data/helpers/vendor/phpstan/phpstan/src/Cache/CacheStorage.php +21 -0
- data/helpers/vendor/phpstan/phpstan/src/Cache/FileCacheStorage.php +51 -0
- data/helpers/vendor/phpstan/phpstan/src/Cache/MemoryCacheStorage.php +31 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/AnalyseApplication.php +161 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/AnalyseCommand.php +141 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/AnalysisResult.php +118 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/CommandHelper.php +407 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/DumpDependenciesCommand.php +99 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/BaselineNeonErrorFormatter.php +75 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/CheckstyleErrorFormatter.php +102 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/ErrorFormatter.php +22 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/GitlabErrorFormatter.php +67 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/JsonErrorFormatter.php +59 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/RawErrorFormatter.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorFormatter/TableErrorFormatter.php +107 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/ErrorsConsoleStyle.php +116 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/InceptionNotSuccessfulException.php +8 -0
- data/helpers/vendor/phpstan/phpstan/src/Command/InceptionResult.php +111 -0
- data/helpers/vendor/phpstan/phpstan/src/Dependency/DependencyDumper.php +143 -0
- data/helpers/vendor/phpstan/phpstan/src/Dependency/DependencyResolver.php +256 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/ConditionalTagsExtension.php +55 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/Configurator.php +33 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/Container.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/ContainerFactory.php +102 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/LoaderFactory.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/Nette/NetteContainer.php +65 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/ParametersSchemaExtension.php +94 -0
- data/helpers/vendor/phpstan/phpstan/src/DependencyInjection/RulesExtension.php +30 -0
- data/helpers/vendor/phpstan/phpstan/src/File/FileExcluder.php +69 -0
- data/helpers/vendor/phpstan/phpstan/src/File/FileFinder.php +65 -0
- data/helpers/vendor/phpstan/phpstan/src/File/FileFinderResult.php +37 -0
- data/helpers/vendor/phpstan/phpstan/src/File/FileHelper.php +77 -0
- data/helpers/vendor/phpstan/phpstan/src/File/FuzzyRelativePathHelper.php +105 -0
- data/helpers/vendor/phpstan/phpstan/src/File/PathNotFoundException.php +22 -0
- data/helpers/vendor/phpstan/phpstan/src/File/RelativePathHelper.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/File/SimpleRelativePathHelper.php +25 -0
- data/helpers/vendor/phpstan/phpstan/src/Internal/ContainerDynamicReturnTypeExtension.php +52 -0
- data/helpers/vendor/phpstan/phpstan/src/Internal/ScopeIsInClassTypeSpecifyingExtension.php +85 -0
- data/helpers/vendor/phpstan/phpstan/src/Internal/UnionTypeGetInternalDynamicReturnTypeExtension.php +40 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/ClosureReturnStatementsNode.php +66 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/ExecutionEndNode.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/FileNode.php +41 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/FunctionReturnStatementsNode.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/InArrowFunctionNode.php +35 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/InClassMethodNode.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/LiteralArrayItem.php +33 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/LiteralArrayNode.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/MethodReturnStatementsNode.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/ReturnStatement.php +33 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/UnreachableStatementNode.php +34 -0
- data/helpers/vendor/phpstan/phpstan/src/Node/VirtualNode.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Parser/CachedParser.php +120 -0
- data/helpers/vendor/phpstan/phpstan/src/Parser/DirectParser.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Parser/FunctionCallStatementFinder.php +45 -0
- data/helpers/vendor/phpstan/phpstan/src/Parser/Parser.php +20 -0
- data/helpers/vendor/phpstan/phpstan/src/Parser/ParserErrorsException.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/PhpDocBlock.php +270 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/PhpDocNodeResolver.php +248 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/PhpDocStringResolver.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/ResolvedPhpDocBlock.php +206 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/DeprecatedTag.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/MethodTag.php +66 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/MethodTagParameter.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/ParamTag.php +44 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/PropertyTag.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/ReturnTag.php +34 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/ThrowsTag.php +34 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/Tag/VarTag.php +34 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolver.php +415 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolverAwareExtension.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolverExtension.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeNodeResolverFactory.php +27 -0
- data/helpers/vendor/phpstan/phpstan/src/PhpDoc/TypeStringResolver.php +39 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationMethodReflection.php +107 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationPropertyReflection.php +72 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationsMethodParameterReflection.php +61 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationsMethodsClassReflectionExtension.php +113 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Annotations/AnnotationsPropertiesClassReflectionExtension.php +86 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/BrokerAwareClassReflectionExtension.php +11 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/BrokerAwareExtension.php +12 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassConstantReflection.php +90 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassMemberAccessAnswerer.php +18 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassMemberReflection.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ClassReflection.php +507 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ConstantReflection.php +15 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/DeprecatableReflection.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyConstantReflection.php +56 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyConstructorReflection.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyMethodReflection.php +64 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Dummy/DummyPropertyReflection.php +51 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ExtendedPropertyReflection.php +14 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/FinalizableReflection.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionReflection.php +15 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionReflectionFactory.php +35 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionVariant.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/FunctionVariantWithPhpDocs.php +61 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/InaccessibleMethod.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/InternableReflection.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/MethodPrototypeReflection.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/MethodReflection.php +17 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/MethodsClassReflectionExtension.php +12 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/MissingConstantFromReflectionException.php +26 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/MissingMethodFromReflectionException.php +26 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/MissingPropertyFromReflectionException.php +26 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Native/NativeFunctionReflection.php +73 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Native/NativeMethodReflection.php +120 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Native/NativeParameterReflection.php +89 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ParameterReflection.php +20 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ParameterReflectionWithPhpDocs.php +14 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ParametersAcceptor.php +25 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ParametersAcceptorSelector.php +247 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ParametersAcceptorWithPhpDocs.php +19 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/PassedByReference.php +87 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/BuiltinMethodReflection.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/DummyParameter.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/FakeBuiltinMethodReflection.php +123 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/NativeBuiltinMethodReflection.php +116 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpClassReflectionExtension.php +714 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpFunctionFromParserNodeReflection.php +214 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpFunctionReflection.php +268 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpMethodFromParserNodeReflection.php +128 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpMethodReflection.php +439 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpMethodReflectionFactory.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpParameterFromParserNodeReflection.php +106 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpParameterReflection.php +95 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/PhpPropertyReflection.php +168 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/SimpleXMLElementProperty.php +83 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/UniversalObjectCrateProperty.php +61 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/Php/UniversalObjectCratesClassReflectionExtension.php +81 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/PhpDefect/PhpDefectClassReflectionExtension.php +241 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/PhpDefect/PhpDefectPropertyReflection.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/PropertiesClassReflectionExtension.php +12 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/PropertyReflection.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ReflectionWithFilename.php +13 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/FunctionSignature.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/ParameterSignature.php +66 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/SignatureMapParser.php +127 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/SignatureMapProvider.php +82 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/functionMap.php +13797 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/SignatureMap/functionMap_php74delta.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/ThrowableReflection.php +12 -0
- data/helpers/vendor/phpstan/phpstan/src/Reflection/TrivialParametersAcceptor.php +29 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/AllowedArrayKeysTypes.php +27 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/AppendedArrayItemTypeRule.php +93 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/AppendedArrayKeyTypeRule.php +94 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/DeadForeachRule.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/DuplicateKeysInLiteralArraysRule.php +85 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/InvalidKeyInArrayDimFetchRule.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/InvalidKeyInArrayItemRule.php +51 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/IterableInForeachRule.php +61 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/NonexistentOffsetInArrayDimFetchRule.php +140 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/OffsetAccessAssignOpRule.php +95 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/OffsetAccessAssignmentRule.php +89 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Arrays/OffsetAccessWithoutDimForReadingRule.php +33 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/EchoRule.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/InvalidCastRule.php +100 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/InvalidPartOfEncapsedStringRule.php +76 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Cast/PrintRule.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/ClassCaseSensitivityCheck.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/ClassNameNodePair.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ClassConstantDeclarationRule.php +36 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ClassConstantRule.php +165 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassInClassExtendsRule.php +40 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassInInstanceOfRule.php +82 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassInTraitUseRule.php +41 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassesInClassImplementsRule.php +41 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ExistingClassesInInterfaceExtendsRule.php +41 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/ImpossibleInstanceOfRule.php +69 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/InstantiationRule.php +219 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/NewStaticRule.php +68 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/RequireParentConstructCallRule.php +147 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Classes/UnusedConstructorParametersRule.php +65 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/BooleanAndConstantConditionRule.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/BooleanNotConstantConditionRule.php +50 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/BooleanOrConstantConditionRule.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ConstantConditionRuleHelper.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ElseIfConstantConditionRule.php +50 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/IfConstantConditionRule.php +50 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeFunctionCallRule.php +68 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeHelper.php +245 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeMethodCallRule.php +84 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/ImpossibleCheckTypeStaticMethodCallRule.php +99 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/StrictComparisonOfDifferentTypesRule.php +85 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/TernaryOperatorConstantConditionRule.php +48 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/UnreachableIfBranchesRule.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Comparison/UnreachableTernaryElseBranchRule.php +52 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Constants/ConstantRule.php +35 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/DeadCode/NoopRule.php +65 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/DeadCode/UnreachableStatementRule.php +34 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Exceptions/CaughtExceptionExistenceRule.php +75 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Exceptions/DeadCatchRule.php +56 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/FileRuleError.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/FoundTypeResult.php +56 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/FunctionCallParametersCheck.php +192 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/FunctionDefinitionCheck.php +323 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/FunctionReturnTypeCheck.php +88 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ArrowFunctionReturnTypeRule.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/CallCallablesRule.php +131 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/CallToFunctionParametersRule.php +71 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/CallToNonExistentFunctionRule.php +65 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ClosureReturnTypeRule.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ExistingClassesInArrowFunctionTypehintsRule.php +41 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ExistingClassesInClosureTypehintsRule.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ExistingClassesInTypehintsRule.php +47 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/IncompatibleDefaultParameterTypeRule.php +83 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/InnerFunctionRule.php +33 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/NonExistentDefinedFunctionRule.php +51 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/PrintfParametersRule.php +128 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/ReturnTypeRule.php +77 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Functions/UnusedClosureUsesRule.php +49 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Generators/YieldFromTypeRule.php +94 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Generators/YieldInGeneratorRule.php +75 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Generators/YieldTypeRule.php +85 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/LineRuleError.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/CallMethodsRule.php +171 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/CallStaticMethodsRule.php +279 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/ExistingClassesInTypehintsRule.php +59 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/IncompatibleDefaultParameterTypeRule.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/MethodSignatureRule.php +188 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Methods/ReturnTypeRule.php +76 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Missing/MissingClosureNativeReturnTypehintRule.php +141 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Missing/MissingReturnRule.php +96 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Namespaces/ExistingNamesInGroupUseRule.php +129 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Namespaces/ExistingNamesInUseRule.php +130 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidBinaryOperationRule.php +119 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidComparisonOperationRule.php +114 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidIncDecOperationRule.php +77 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Operators/InvalidUnaryOperationRule.php +44 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/IncompatiblePhpDocTypeRule.php +161 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/IncompatiblePropertyPhpDocTypeRule.php +76 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/InvalidPhpDocTagValueRule.php +76 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/InvalidPhpDocVarTagTypeRule.php +126 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/InvalidThrowsPhpDocValueRule.php +67 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/PhpDoc/WrongVariableNameInVarTagRule.php +283 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessPropertiesInAssignRule.php +39 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessPropertiesRule.php +141 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessStaticPropertiesInAssignRule.php +39 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/AccessStaticPropertiesRule.php +203 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/DefaultValueTypesAssignedToPropertiesRule.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/ExistingClassesInPropertiesRule.php +102 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/PropertyDescriptor.php +26 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/PropertyReflectionFinder.php +49 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/ReadingWriteOnlyPropertiesRule.php +90 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/TypesAssignedToPropertiesRule.php +94 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Properties/WritingToReadOnlyPropertiesRule.php +96 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Regexp/RegularExpressionPatternRule.php +126 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Registry.php +46 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RegistryFactory.php +27 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Rule.php +23 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleError.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrorBuilder.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessage.php +23 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessageAndFile.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessageAndLine.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleErrors/RuleErrorWithMessageAndLineAndFile.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/RuleLevelHelper.php +208 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/TooWideTypehints/TooWideClosureReturnTypehintRule.php +70 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/TooWideTypehints/TooWideFunctionReturnTypehintRule.php +77 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/TooWideTypehints/TooWidePrivateMethodReturnTypehintRule.php +80 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/UnusedFunctionParametersCheck.php +87 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/DefinedVariableInAnonymousFunctionUseRule.php +54 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/DefinedVariableRule.php +73 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/ThisVariableRule.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/ThrowTypeRule.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/VariableCertaintyInIssetRule.php +66 -0
- data/helpers/vendor/phpstan/phpstan/src/Rules/Variables/VariableCloningRule.php +68 -0
- data/helpers/vendor/phpstan/phpstan/src/ShouldNotHappenException.php +13 -0
- data/helpers/vendor/phpstan/phpstan/src/Testing/LevelsTestCase.php +134 -0
- data/helpers/vendor/phpstan/phpstan/src/Testing/RuleTestCase.php +154 -0
- data/helpers/vendor/phpstan/phpstan/src/Testing/TestCase.php +375 -0
- data/helpers/vendor/phpstan/phpstan/src/TrinaryLogic.php +148 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/AccessoryType.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/HasMethodType.php +122 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/HasOffsetType.php +157 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/HasPropertyType.php +107 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Accessory/NonEmptyArrayType.php +161 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ArrayType.php +349 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/BenevolentUnionType.php +45 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/BooleanType.php +98 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/CallableType.php +279 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/CallableTypeHelper.php +59 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ClosureType.php +319 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/CommentHelper.php +20 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/CompoundType.php +14 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/CompoundTypeHelper.php +15 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantArrayType.php +583 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantArrayTypeAndMethod.php +76 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantArrayTypeBuilder.php +111 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantBooleanType.php +68 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantFloatType.php +93 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantIntegerType.php +61 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantScalarToBooleanTrait.php +15 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Constant/ConstantStringType.php +224 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ConstantScalarType.php +13 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ConstantType.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/DynamicFunctionReturnTypeExtension.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/DynamicMethodReturnTypeExtension.php +18 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/DynamicStaticMethodReturnTypeExtension.php +18 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ErrorType.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/FileTypeMapper.php +320 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/FloatType.php +138 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/FunctionTypeSpecifyingExtension.php +18 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateMixedType.php +192 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateObjectType.php +198 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateType.php +21 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeArgumentStrategy.php +34 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeFactory.php +28 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeHelper.php +46 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeMap.php +66 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeParameterStrategy.php +38 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeScope.php +37 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Generic/TemplateTypeStrategy.php +15 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/IntegerType.php +87 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/IntersectionType.php +441 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/IterableType.php +221 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/JustNullableTypeTrait.php +59 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/MethodTypeSpecifyingExtension.php +20 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/MixedType.php +300 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/NeverType.php +223 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/NonexistentParentClassType.php +115 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/NullType.php +146 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ObjectType.php +730 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ObjectWithoutClassType.php +164 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/OperatorTypeSpecifyingExtension.php +12 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArgumentBasedFunctionReturnTypeExtension.php +67 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayFillFunctionReturnTypeExtension.php +72 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayFillKeysFunctionReturnTypeExtension.php +48 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayFilterFunctionReturnTypeReturnTypeExtension.php +124 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyDynamicReturnTypeExtension.php +41 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyExistsFunctionTypeSpecifyingExtension.php +65 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyFirstDynamicReturnTypeExtension.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeyLastDynamicReturnTypeExtension.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayKeysFunctionDynamicReturnTypeExtension.php +45 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayMapFunctionReturnTypeExtension.php +69 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayMergeFunctionDynamicReturnTypeExtension.php +52 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayPointerFunctionsDynamicReturnTypeExtension.php +72 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayPopFunctionReturnTypeExtension.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayReduceFunctionReturnTypeExtension.php +67 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArraySearchFunctionDynamicReturnTypeExtension.php +165 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayShiftFunctionReturnTypeExtension.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArraySliceFunctionReturnTypeExtension.php +81 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ArrayValuesFunctionDynamicReturnTypeExtension.php +43 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/AssertFunctionTypeSpecifyingExtension.php +36 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/CountFunctionReturnTypeExtension.php +51 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/CountFunctionTypeSpecifyingExtension.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/CurlInitReturnTypeExtension.php +37 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/DefineConstantTypeSpecifyingExtension.php +61 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/DefinedConstantTypeSpecifyingExtension.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/DioStatDynamicFunctionReturnTypeExtension.php +49 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ExplodeFunctionDynamicReturnTypeExtension.php +52 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/FilterVarDynamicReturnTypeExtension.php +80 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/GetParentClassDynamicFunctionReturnTypeExtension.php +104 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/GettimeofdayDynamicFunctionReturnTypeExtension.php +63 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/HrtimeFunctionReturnTypeExtension.php +47 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/InArrayFunctionTypeSpecifyingExtension.php +57 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsAFunctionTypeSpecifyingExtension.php +81 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsArrayFunctionTypeSpecifyingExtension.php +43 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsBoolFunctionTypeSpecifyingExtension.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsCallableFunctionTypeSpecifyingExtension.php +69 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsCountableFunctionTypeSpecifyingExtension.php +52 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsFloatFunctionTypeSpecifyingExtension.php +46 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsIntFunctionTypeSpecifyingExtension.php +46 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsIterableFunctionTypeSpecifyingExtension.php +43 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsNullFunctionTypeSpecifyingExtension.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsNumericFunctionTypeSpecifyingExtension.php +54 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsObjectFunctionTypeSpecifyingExtension.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsResourceFunctionTypeSpecifyingExtension.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsScalarFunctionTypeSpecifyingExtension.php +51 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsStringFunctionTypeSpecifyingExtension.php +42 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/IsSubclassOfFunctionTypeSpecifyingExtension.php +85 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/JsonThrowOnErrorDynamicReturnTypeExtension.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/MbFunctionsReturnTypeExtension.php +87 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/MethodExistsTypeSpecifyingExtension.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/MicrotimeFunctionReturnTypeExtension.php +48 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/MinMaxFunctionReturnTypeExtension.php +183 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ParseUrlFunctionDynamicReturnTypeExtension.php +137 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/PathinfoFunctionDynamicReturnTypeExtension.php +54 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/PropertyExistsTypeSpecifyingExtension.php +62 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/RangeFunctionReturnTypeExtension.php +106 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/ReplaceFunctionsDynamicReturnTypeExtension.php +86 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/SimpleXMLElementClassPropertyReflectionExtension.php +25 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/SprintfFunctionDynamicReturnTypeExtension.php +47 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/StatDynamicReturnTypeExtension.php +76 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/StrSplitFunctionReturnTypeExtension.php +84 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/StrtotimeFunctionReturnTypeExtension.php +45 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/TypeSpecifyingFunctionsDynamicReturnTypeExtension.php +93 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/VarExportFunctionDynamicReturnTypeExtension.php +58 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Php/VersionCompareFunctionDynamicReturnTypeExtension.php +82 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/RecursionGuard.php +26 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ResourceType.php +87 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/StaticMethodTypeSpecifyingExtension.php +20 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/StaticResolvableType.php +12 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/StaticType.php +255 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/StringAlwaysAcceptingObjectWithToStringType.php +28 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/StringType.php +130 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/SubtractableType.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/ThisType.php +27 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/ConstantScalarTypeTrait.php +53 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/FalseyBooleanTypeTrait.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeCallableTypeTrait.php +26 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeIterableTypeTrait.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeObjectTypeTrait.php +67 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/MaybeOffsetAccessibleTypeTrait.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonCallableTypeTrait.php +21 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonGenericTypeTrait.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonIterableTypeTrait.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonObjectTypeTrait.php +64 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/NonOffsetAccessibleTypeTrait.php +32 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/ObjectTypeTrait.php +107 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/TruthyBooleanTypeTrait.php +16 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Traits/UndecidedBooleanTypeTrait.php +15 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/Type.php +110 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/TypeCombinator.php +593 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/TypeTraverser.php +47 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/TypeUtils.php +262 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/TypeWithClassName.php +10 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/TypehintHelper.php +122 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/UnionType.php +622 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/UnionTypeHelper.php +123 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/VerbosityLevel.php +67 -0
- data/helpers/vendor/phpstan/phpstan/src/Type/VoidType.php +103 -0
- data/helpers/vendor/phpstan/phpstan/tmp/.gitignore +4 -0
- data/helpers/vendor/phpstan/phpstan/tmp/cache/.gitignore +2 -0
- data/helpers/vendor/phpstan/phpstan/tmp/generated/.gitignore +2 -0
- data/helpers/vendor/psr/log/.gitignore +1 -0
- data/helpers/vendor/psr/log/LICENSE +19 -0
- data/helpers/vendor/psr/log/Psr/Log/AbstractLogger.php +128 -0
- data/helpers/vendor/psr/log/Psr/Log/InvalidArgumentException.php +7 -0
- data/helpers/vendor/psr/log/Psr/Log/LogLevel.php +18 -0
- data/helpers/vendor/psr/log/Psr/Log/LoggerAwareInterface.php +18 -0
- data/helpers/vendor/psr/log/Psr/Log/LoggerAwareTrait.php +26 -0
- data/helpers/vendor/psr/log/Psr/Log/LoggerInterface.php +123 -0
- data/helpers/vendor/psr/log/Psr/Log/LoggerTrait.php +140 -0
- data/helpers/vendor/psr/log/Psr/Log/NullLogger.php +28 -0
- data/helpers/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php +144 -0
- data/helpers/vendor/psr/log/Psr/Log/Test/TestLogger.php +146 -0
- data/helpers/vendor/psr/log/README.md +52 -0
- data/helpers/vendor/psr/log/composer.json +26 -0
- data/helpers/vendor/seld/jsonlint/.gitignore +3 -0
- data/helpers/vendor/seld/jsonlint/.travis.yml +25 -0
- data/helpers/vendor/seld/jsonlint/CHANGELOG.md +66 -0
- data/helpers/vendor/seld/jsonlint/LICENSE +19 -0
- data/helpers/vendor/seld/jsonlint/README.md +89 -0
- data/helpers/vendor/seld/jsonlint/bin/jsonlint +117 -0
- data/helpers/vendor/seld/jsonlint/composer.json +24 -0
- data/helpers/vendor/seld/jsonlint/phpunit.xml.dist +25 -0
- data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/DuplicateKeyException.php +26 -0
- data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/JsonParser.php +502 -0
- data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Lexer.php +217 -0
- data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/ParsingException.php +28 -0
- data/helpers/vendor/seld/jsonlint/src/Seld/JsonLint/Undefined.php +16 -0
- data/helpers/vendor/seld/jsonlint/tests/JsonParserTest.php +230 -0
- data/helpers/vendor/seld/jsonlint/tests/bom.json +6 -0
- data/helpers/vendor/seld/jsonlint/tests/bootstrap.php +13 -0
- data/helpers/vendor/seld/phar-utils/.gitignore +1 -0
- data/helpers/vendor/seld/phar-utils/LICENSE +19 -0
- data/helpers/vendor/seld/phar-utils/README.md +39 -0
- data/helpers/vendor/seld/phar-utils/composer.json +26 -0
- data/helpers/vendor/seld/phar-utils/composer.lock +19 -0
- data/helpers/vendor/seld/phar-utils/src/Timestamps.php +192 -0
- data/helpers/vendor/symfony/console/.gitignore +3 -0
- data/helpers/vendor/symfony/console/Application.php +1266 -0
- data/helpers/vendor/symfony/console/CHANGELOG.md +112 -0
- data/helpers/vendor/symfony/console/Command/Command.php +668 -0
- data/helpers/vendor/symfony/console/Command/HelpCommand.php +81 -0
- data/helpers/vendor/symfony/console/Command/ListCommand.php +90 -0
- data/helpers/vendor/symfony/console/Command/LockableTrait.php +72 -0
- data/helpers/vendor/symfony/console/CommandLoader/CommandLoaderInterface.php +46 -0
- data/helpers/vendor/symfony/console/CommandLoader/ContainerCommandLoader.php +64 -0
- data/helpers/vendor/symfony/console/CommandLoader/FactoryCommandLoader.php +62 -0
- data/helpers/vendor/symfony/console/ConsoleEvents.php +60 -0
- data/helpers/vendor/symfony/console/DependencyInjection/AddConsoleCommandPass.php +106 -0
- data/helpers/vendor/symfony/console/Descriptor/ApplicationDescription.php +151 -0
- data/helpers/vendor/symfony/console/Descriptor/Descriptor.php +107 -0
- data/helpers/vendor/symfony/console/Descriptor/DescriptorInterface.php +29 -0
- data/helpers/vendor/symfony/console/Descriptor/JsonDescriptor.php +168 -0
- data/helpers/vendor/symfony/console/Descriptor/MarkdownDescriptor.php +182 -0
- data/helpers/vendor/symfony/console/Descriptor/TextDescriptor.php +342 -0
- data/helpers/vendor/symfony/console/Descriptor/XmlDescriptor.php +248 -0
- data/helpers/vendor/symfony/console/Event/ConsoleCommandEvent.php +60 -0
- data/helpers/vendor/symfony/console/Event/ConsoleErrorEvent.php +83 -0
- data/helpers/vendor/symfony/console/Event/ConsoleEvent.php +67 -0
- data/helpers/vendor/symfony/console/Event/ConsoleExceptionEvent.php +71 -0
- data/helpers/vendor/symfony/console/Event/ConsoleTerminateEvent.php +58 -0
- data/helpers/vendor/symfony/console/EventListener/ErrorListener.php +95 -0
- data/helpers/vendor/symfony/console/Exception/CommandNotFoundException.php +43 -0
- data/helpers/vendor/symfony/console/Exception/ExceptionInterface.php +21 -0
- data/helpers/vendor/symfony/console/Exception/InvalidArgumentException.php +19 -0
- data/helpers/vendor/symfony/console/Exception/InvalidOptionException.php +21 -0
- data/helpers/vendor/symfony/console/Exception/LogicException.php +19 -0
- data/helpers/vendor/symfony/console/Exception/RuntimeException.php +19 -0
- data/helpers/vendor/symfony/console/Formatter/OutputFormatter.php +243 -0
- data/helpers/vendor/symfony/console/Formatter/OutputFormatterInterface.php +71 -0
- data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyle.php +183 -0
- data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php +62 -0
- data/helpers/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +109 -0
- data/helpers/vendor/symfony/console/Helper/DebugFormatterHelper.php +127 -0
- data/helpers/vendor/symfony/console/Helper/DescriptorHelper.php +91 -0
- data/helpers/vendor/symfony/console/Helper/FormatterHelper.php +106 -0
- data/helpers/vendor/symfony/console/Helper/Helper.php +138 -0
- data/helpers/vendor/symfony/console/Helper/HelperInterface.php +39 -0
- data/helpers/vendor/symfony/console/Helper/HelperSet.php +108 -0
- data/helpers/vendor/symfony/console/Helper/InputAwareHelper.php +33 -0
- data/helpers/vendor/symfony/console/Helper/ProcessHelper.php +141 -0
- data/helpers/vendor/symfony/console/Helper/ProgressBar.php +614 -0
- data/helpers/vendor/symfony/console/Helper/ProgressIndicator.php +270 -0
- data/helpers/vendor/symfony/console/Helper/QuestionHelper.php +499 -0
- data/helpers/vendor/symfony/console/Helper/SymfonyQuestionHelper.php +124 -0
- data/helpers/vendor/symfony/console/Helper/Table.php +698 -0
- data/helpers/vendor/symfony/console/Helper/TableCell.php +75 -0
- data/helpers/vendor/symfony/console/Helper/TableSeparator.php +25 -0
- data/helpers/vendor/symfony/console/Helper/TableStyle.php +258 -0
- data/helpers/vendor/symfony/console/Input/ArgvInput.php +372 -0
- data/helpers/vendor/symfony/console/Input/ArrayInput.php +208 -0
- data/helpers/vendor/symfony/console/Input/Input.php +203 -0
- data/helpers/vendor/symfony/console/Input/InputArgument.php +129 -0
- data/helpers/vendor/symfony/console/Input/InputAwareInterface.php +26 -0
- data/helpers/vendor/symfony/console/Input/InputDefinition.php +404 -0
- data/helpers/vendor/symfony/console/Input/InputInterface.php +163 -0
- data/helpers/vendor/symfony/console/Input/InputOption.php +208 -0
- data/helpers/vendor/symfony/console/Input/StreamableInputInterface.php +37 -0
- data/helpers/vendor/symfony/console/Input/StringInput.php +72 -0
- data/helpers/vendor/symfony/console/LICENSE +19 -0
- data/helpers/vendor/symfony/console/Logger/ConsoleLogger.php +128 -0
- data/helpers/vendor/symfony/console/Output/BufferedOutput.php +45 -0
- data/helpers/vendor/symfony/console/Output/ConsoleOutput.php +152 -0
- data/helpers/vendor/symfony/console/Output/ConsoleOutputInterface.php +30 -0
- data/helpers/vendor/symfony/console/Output/NullOutput.php +123 -0
- data/helpers/vendor/symfony/console/Output/Output.php +175 -0
- data/helpers/vendor/symfony/console/Output/OutputInterface.php +114 -0
- data/helpers/vendor/symfony/console/Output/StreamOutput.php +124 -0
- data/helpers/vendor/symfony/console/Question/ChoiceQuestion.php +187 -0
- data/helpers/vendor/symfony/console/Question/ConfirmationQuestion.php +59 -0
- data/helpers/vendor/symfony/console/Question/Question.php +242 -0
- data/helpers/vendor/symfony/console/README.md +20 -0
- data/helpers/vendor/symfony/console/Resources/bin/hiddeninput.exe +0 -0
- data/helpers/vendor/symfony/console/Style/OutputStyle.php +155 -0
- data/helpers/vendor/symfony/console/Style/StyleInterface.php +153 -0
- data/helpers/vendor/symfony/console/Style/SymfonyStyle.php +431 -0
- data/helpers/vendor/symfony/console/Terminal.php +163 -0
- data/helpers/vendor/symfony/console/Tester/ApplicationTester.php +176 -0
- data/helpers/vendor/symfony/console/Tester/CommandTester.php +162 -0
- data/helpers/vendor/symfony/console/Tests/ApplicationTest.php +1744 -0
- data/helpers/vendor/symfony/console/Tests/Command/CommandTest.php +430 -0
- data/helpers/vendor/symfony/console/Tests/Command/HelpCommandTest.php +71 -0
- data/helpers/vendor/symfony/console/Tests/Command/ListCommandTest.php +113 -0
- data/helpers/vendor/symfony/console/Tests/Command/LockableTraitTest.php +67 -0
- data/helpers/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php +59 -0
- data/helpers/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php +58 -0
- data/helpers/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php +256 -0
- data/helpers/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php +107 -0
- data/helpers/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php +35 -0
- data/helpers/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php +45 -0
- data/helpers/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php +82 -0
- data/helpers/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php +53 -0
- data/helpers/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php +27 -0
- data/helpers/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php +156 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php +18 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php +24 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php +27 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php +32 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php +27 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php +25 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php +32 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/DummyOutput.php +36 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Foo1Command.php +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Foo2Command.php +21 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Foo3Command.php +29 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Foo4Command.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Foo5Command.php +10 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Foo6Command.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooCommand.php +33 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooHiddenCommand.php +21 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php +28 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php +27 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php +36 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php +25 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php +13 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php +17 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php +12 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php +13 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php +14 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php +17 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php +14 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php +15 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php +13 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php +16 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php +12 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php +34 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php +37 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php +16 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php +15 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php +19 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt +3 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt +4 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt +13 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt +32 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt +18 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering.php +22 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering2.php +21 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/TestCommand.php +28 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.json +156 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.md +172 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.txt +17 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_1.xml +104 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.json +509 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.md +431 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.txt +21 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_2.xml +254 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt +16 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.md +269 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt +19 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt +18 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt +18 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt +11 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_run1.txt +17 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_run2.txt +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_run3.txt +26 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/application_run4.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.json +15 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.md +12 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.txt +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_1.xml +12 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.json +33 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.md +29 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.txt +13 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_2.xml +21 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.md +29 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt +13 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.json +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.md +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.json +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.md +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.json +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.md +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.json +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt +2 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.json +4 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.md +0 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt +0 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.json +12 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.md +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt +2 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml +10 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.json +14 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt +2 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.json +22 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.md +16 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml +14 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.md +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_1.xml +4 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_2.xml +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_3.xml +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_4.xml +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.md +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.txt +2 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_5.xml +6 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_6.xml +5 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json +9 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml +7 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json +12 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md +8 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt +1 -0
- data/helpers/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml +8 -0
- data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php +69 -0
- data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php +100 -0
- data/helpers/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php +344 -0
- data/helpers/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php +34 -0
- data/helpers/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php +129 -0
- data/helpers/vendor/symfony/console/Tests/Helper/HelperSetTest.php +127 -0
- data/helpers/vendor/symfony/console/Tests/Helper/HelperTest.php +55 -0
- data/helpers/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php +118 -0
- data/helpers/vendor/symfony/console/Tests/Helper/ProgressBarTest.php +805 -0
- data/helpers/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php +175 -0
- data/helpers/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php +1081 -0
- data/helpers/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php +166 -0
- data/helpers/vendor/symfony/console/Tests/Helper/TableStyleTest.php +26 -0
- data/helpers/vendor/symfony/console/Tests/Helper/TableTest.php +868 -0
- data/helpers/vendor/symfony/console/Tests/Input/ArgvInputTest.php +462 -0
- data/helpers/vendor/symfony/console/Tests/Input/ArrayInputTest.php +173 -0
- data/helpers/vendor/symfony/console/Tests/Input/InputArgumentTest.php +109 -0
- data/helpers/vendor/symfony/console/Tests/Input/InputDefinitionTest.php +389 -0
- data/helpers/vendor/symfony/console/Tests/Input/InputOptionTest.php +194 -0
- data/helpers/vendor/symfony/console/Tests/Input/InputTest.php +137 -0
- data/helpers/vendor/symfony/console/Tests/Input/StringInputTest.php +87 -0
- data/helpers/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php +213 -0
- data/helpers/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php +42 -0
- data/helpers/vendor/symfony/console/Tests/Output/NullOutputTest.php +88 -0
- data/helpers/vendor/symfony/console/Tests/Output/OutputTest.php +176 -0
- data/helpers/vendor/symfony/console/Tests/Output/StreamOutputTest.php +59 -0
- data/helpers/vendor/symfony/console/Tests/Question/ChoiceQuestionTest.php +64 -0
- data/helpers/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php +62 -0
- data/helpers/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php +118 -0
- data/helpers/vendor/symfony/console/Tests/TerminalTest.php +97 -0
- data/helpers/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php +70 -0
- data/helpers/vendor/symfony/console/Tests/Tester/CommandTesterTest.php +212 -0
- data/helpers/vendor/symfony/console/composer.json +56 -0
- data/helpers/vendor/symfony/console/phpunit.xml.dist +41 -0
- data/helpers/vendor/symfony/debug/.gitignore +3 -0
- data/helpers/vendor/symfony/debug/BufferingLogger.php +37 -0
- data/helpers/vendor/symfony/debug/CHANGELOG.md +64 -0
- data/helpers/vendor/symfony/debug/Debug.php +60 -0
- data/helpers/vendor/symfony/debug/DebugClassLoader.php +455 -0
- data/helpers/vendor/symfony/debug/ErrorHandler.php +787 -0
- data/helpers/vendor/symfony/debug/Exception/ClassNotFoundException.php +36 -0
- data/helpers/vendor/symfony/debug/Exception/ContextErrorException.php +40 -0
- data/helpers/vendor/symfony/debug/Exception/FatalErrorException.php +82 -0
- data/helpers/vendor/symfony/debug/Exception/FatalThrowableError.php +45 -0
- data/helpers/vendor/symfony/debug/Exception/FlattenException.php +263 -0
- data/helpers/vendor/symfony/debug/Exception/OutOfMemoryException.php +21 -0
- data/helpers/vendor/symfony/debug/Exception/SilencedErrorContext.php +67 -0
- data/helpers/vendor/symfony/debug/Exception/UndefinedFunctionException.php +36 -0
- data/helpers/vendor/symfony/debug/Exception/UndefinedMethodException.php +36 -0
- data/helpers/vendor/symfony/debug/ExceptionHandler.php +444 -0
- data/helpers/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php +214 -0
- data/helpers/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php +32 -0
- data/helpers/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php +84 -0
- data/helpers/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php +66 -0
- data/helpers/vendor/symfony/debug/LICENSE +19 -0
- data/helpers/vendor/symfony/debug/README.md +13 -0
- data/helpers/vendor/symfony/debug/Resources/ext/README.md +134 -0
- data/helpers/vendor/symfony/debug/Resources/ext/config.m4 +63 -0
- data/helpers/vendor/symfony/debug/Resources/ext/config.w32 +13 -0
- data/helpers/vendor/symfony/debug/Resources/ext/php_symfony_debug.h +60 -0
- data/helpers/vendor/symfony/debug/Resources/ext/symfony_debug.c +283 -0
- data/helpers/vendor/symfony/debug/Resources/ext/tests/001.phpt +155 -0
- data/helpers/vendor/symfony/debug/Resources/ext/tests/002.phpt +65 -0
- data/helpers/vendor/symfony/debug/Resources/ext/tests/002_1.phpt +48 -0
- data/helpers/vendor/symfony/debug/Resources/ext/tests/003.phpt +87 -0
- data/helpers/vendor/symfony/debug/Tests/DebugClassLoaderTest.php +445 -0
- data/helpers/vendor/symfony/debug/Tests/ErrorHandlerTest.php +646 -0
- data/helpers/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php +302 -0
- data/helpers/vendor/symfony/debug/Tests/ExceptionHandlerTest.php +163 -0
- data/helpers/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php +180 -0
- data/helpers/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php +81 -0
- data/helpers/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php +76 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/AnnotatedClass.php +13 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php +3 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/DefinitionInEvaluatedCode.php +11 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php +12 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php +12 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/ErrorHandlerThatUsesThePreviousOne.php +22 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/ExtendedFinalMethod.php +19 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/FinalClasses.php +85 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/FinalMethod.php +26 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/FinalMethod2Trait.php +10 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalClass.php +15 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalInterface.php +10 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalTrait.php +10 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/InternalTrait2.php +23 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/LoggerThatSetAnErrorHandler.php +15 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/NonDeprecatedInterface.php +7 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/PEARClass.php +5 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/Throwing.php +3 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/ToStringThrower.php +24 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/TraitWithInternalMethod.php +13 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/casemismatch.php +7 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php +7 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php +7 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php +7 -0
- data/helpers/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php +7 -0
- data/helpers/vendor/symfony/debug/Tests/HeaderMock.php +38 -0
- data/helpers/vendor/symfony/debug/Tests/phpt/debug_class_loader.phpt +27 -0
- data/helpers/vendor/symfony/debug/Tests/phpt/decorate_exception_hander.phpt +47 -0
- data/helpers/vendor/symfony/debug/Tests/phpt/exception_rethrown.phpt +35 -0
- data/helpers/vendor/symfony/debug/Tests/phpt/fatal_with_nested_handlers.phpt +42 -0
- data/helpers/vendor/symfony/debug/composer.json +40 -0
- data/helpers/vendor/symfony/debug/phpunit.xml.dist +33 -0
- data/helpers/vendor/symfony/event-dispatcher/.gitignore +3 -0
- data/helpers/vendor/symfony/event-dispatcher/CHANGELOG.md +42 -0
- data/helpers/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php +198 -0
- data/helpers/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +332 -0
- data/helpers/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php +36 -0
- data/helpers/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +125 -0
- data/helpers/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php +137 -0
- data/helpers/vendor/symfony/event-dispatcher/Event.php +58 -0
- data/helpers/vendor/symfony/event-dispatcher/EventDispatcher.php +238 -0
- data/helpers/vendor/symfony/event-dispatcher/EventDispatcherInterface.php +93 -0
- data/helpers/vendor/symfony/event-dispatcher/EventSubscriberInterface.php +46 -0
- data/helpers/vendor/symfony/event-dispatcher/GenericEvent.php +175 -0
- data/helpers/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +91 -0
- data/helpers/vendor/symfony/event-dispatcher/LICENSE +19 -0
- data/helpers/vendor/symfony/event-dispatcher/README.md +15 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php +442 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php +210 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php +269 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/Debug/WrappedListenerTest.php +64 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php +147 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php +22 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/EventTest.php +55 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php +134 -0
- data/helpers/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php +100 -0
- data/helpers/vendor/symfony/event-dispatcher/composer.json +47 -0
- data/helpers/vendor/symfony/event-dispatcher/phpunit.xml.dist +31 -0
- data/helpers/vendor/symfony/filesystem/.gitignore +3 -0
- data/helpers/vendor/symfony/filesystem/CHANGELOG.md +53 -0
- data/helpers/vendor/symfony/filesystem/Exception/ExceptionInterface.php +21 -0
- data/helpers/vendor/symfony/filesystem/Exception/FileNotFoundException.php +34 -0
- data/helpers/vendor/symfony/filesystem/Exception/IOException.php +39 -0
- data/helpers/vendor/symfony/filesystem/Exception/IOExceptionInterface.php +27 -0
- data/helpers/vendor/symfony/filesystem/Filesystem.php +775 -0
- data/helpers/vendor/symfony/filesystem/LICENSE +19 -0
- data/helpers/vendor/symfony/filesystem/LockHandler.php +121 -0
- data/helpers/vendor/symfony/filesystem/README.md +13 -0
- data/helpers/vendor/symfony/filesystem/Tests/ExceptionTest.php +47 -0
- data/helpers/vendor/symfony/filesystem/Tests/FilesystemTest.php +1656 -0
- data/helpers/vendor/symfony/filesystem/Tests/FilesystemTestCase.php +165 -0
- data/helpers/vendor/symfony/filesystem/Tests/Fixtures/MockStream/MockStream.php +46 -0
- data/helpers/vendor/symfony/filesystem/Tests/LockHandlerTest.php +144 -0
- data/helpers/vendor/symfony/filesystem/composer.json +34 -0
- data/helpers/vendor/symfony/filesystem/phpunit.xml.dist +30 -0
- data/helpers/vendor/symfony/finder +1 -0
- data/helpers/vendor/symfony/options-resolver/.gitignore +3 -0
- data/helpers/vendor/symfony/options-resolver/CHANGELOG.md +52 -0
- data/helpers/vendor/symfony/options-resolver/Debug/OptionsResolverIntrospector.php +102 -0
- data/helpers/vendor/symfony/options-resolver/Exception/AccessException.php +22 -0
- data/helpers/vendor/symfony/options-resolver/Exception/ExceptionInterface.php +21 -0
- data/helpers/vendor/symfony/options-resolver/Exception/InvalidArgumentException.php +21 -0
- data/helpers/vendor/symfony/options-resolver/Exception/InvalidOptionsException.php +23 -0
- data/helpers/vendor/symfony/options-resolver/Exception/MissingOptionsException.php +23 -0
- data/helpers/vendor/symfony/options-resolver/Exception/NoConfigurationException.php +26 -0
- data/helpers/vendor/symfony/options-resolver/Exception/NoSuchOptionException.php +26 -0
- data/helpers/vendor/symfony/options-resolver/Exception/OptionDefinitionException.php +21 -0
- data/helpers/vendor/symfony/options-resolver/Exception/UndefinedOptionsException.php +24 -0
- data/helpers/vendor/symfony/options-resolver/LICENSE +19 -0
- data/helpers/vendor/symfony/options-resolver/Options.php +22 -0
- data/helpers/vendor/symfony/options-resolver/OptionsResolver.php +1065 -0
- data/helpers/vendor/symfony/options-resolver/README.md +15 -0
- data/helpers/vendor/symfony/options-resolver/Tests/Debug/OptionsResolverIntrospectorTest.php +183 -0
- data/helpers/vendor/symfony/options-resolver/Tests/OptionsResolverTest.php +1619 -0
- data/helpers/vendor/symfony/options-resolver/composer.json +33 -0
- data/helpers/vendor/symfony/options-resolver/phpunit.xml.dist +31 -0
- data/helpers/vendor/symfony/polyfill-ctype/Ctype.php +227 -0
- data/helpers/vendor/symfony/polyfill-ctype/LICENSE +19 -0
- data/helpers/vendor/symfony/polyfill-ctype/README.md +12 -0
- data/helpers/vendor/symfony/polyfill-ctype/bootstrap.php +26 -0
- data/helpers/vendor/symfony/polyfill-ctype/composer.json +34 -0
- data/helpers/vendor/symfony/polyfill-mbstring/LICENSE +19 -0
- data/helpers/vendor/symfony/polyfill-mbstring/Mbstring.php +829 -0
- data/helpers/vendor/symfony/polyfill-mbstring/README.md +13 -0
- data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1096 -0
- data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php +5 -0
- data/helpers/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +1104 -0
- data/helpers/vendor/symfony/polyfill-mbstring/bootstrap.php +62 -0
- data/helpers/vendor/symfony/polyfill-mbstring/composer.json +34 -0
- data/helpers/vendor/symfony/polyfill-php70/LICENSE +19 -0
- data/helpers/vendor/symfony/polyfill-php70/Php70.php +74 -0
- data/helpers/vendor/symfony/polyfill-php70/README.md +28 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/ArithmeticError.php +5 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/AssertionError.php +5 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/DivisionByZeroError.php +5 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/Error.php +5 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/ParseError.php +5 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/SessionUpdateTimestampHandlerInterface.php +23 -0
- data/helpers/vendor/symfony/polyfill-php70/Resources/stubs/TypeError.php +5 -0
- data/helpers/vendor/symfony/polyfill-php70/bootstrap.php +27 -0
- data/helpers/vendor/symfony/polyfill-php70/composer.json +33 -0
- data/helpers/vendor/symfony/polyfill-php72/LICENSE +19 -0
- data/helpers/vendor/symfony/polyfill-php72/Php72.php +216 -0
- data/helpers/vendor/symfony/polyfill-php72/README.md +27 -0
- data/helpers/vendor/symfony/polyfill-php72/bootstrap.php +36 -0
- data/helpers/vendor/symfony/polyfill-php72/composer.json +31 -0
- data/helpers/vendor/symfony/process +1 -0
- data/helpers/vendor/symfony/stopwatch/.gitignore +3 -0
- data/helpers/vendor/symfony/stopwatch/CHANGELOG.md +9 -0
- data/helpers/vendor/symfony/stopwatch/LICENSE +19 -0
- data/helpers/vendor/symfony/stopwatch/README.md +13 -0
- data/helpers/vendor/symfony/stopwatch/Section.php +200 -0
- data/helpers/vendor/symfony/stopwatch/Stopwatch.php +176 -0
- data/helpers/vendor/symfony/stopwatch/StopwatchEvent.php +248 -0
- data/helpers/vendor/symfony/stopwatch/StopwatchPeriod.php +76 -0
- data/helpers/vendor/symfony/stopwatch/Tests/StopwatchEventTest.php +172 -0
- data/helpers/vendor/symfony/stopwatch/Tests/StopwatchPeriodTest.php +67 -0
- data/helpers/vendor/symfony/stopwatch/Tests/StopwatchTest.php +182 -0
- data/helpers/vendor/symfony/stopwatch/composer.json +33 -0
- data/helpers/vendor/symfony/stopwatch/phpunit.xml.dist +30 -0
- 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
|
+
}
|